LINUX.ORG.RU

Переиздание книг Столярова по программированию

 


9

4

Скандально известный на ЛОРе Андрей Викторович Столяров выпустил новое издание своего учебного пособия «Программирование: введение в профессию» и обновил PDF-версии:
«Азы программирования»
«Системы и сети»
«Парадигмы»
В новом издании 4-томник стал 3-томником.

Как и предыдущее издание, новое использует странную кодировку текста, но если вы не пользуетесь преимуществами электронных книг, разницы не заметите. Книга будет полезна начинающим изучать программирование.

>>> Сайт автора

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Zhbert (всего исправлений: 3)

Ответ на: комментарий от praseodim

задача, которую ты привел для примера таки тянет на небольшой курсач

Какой курсач? Это очень простая задача.

anonymous
()
Ответ на: комментарий от anonymous

И студенты-программисты не решившие ее на контрольной, должны отчисляться.

anonymous
()
Ответ на: комментарий от liksys

Какими аргументами, чудо? Ты не клоун, ты ты «отец всех клоунов». Из того что ты здесь ляпнул понятно только то что ты никогда и нигде не преподавал, не знаешь как это делается, но считаешь что любой обормот, даже не то что не имеющий научной степени, а вообще не учившийся преподавать, может не просто учить других, а учить других как учить. Пойди попробуй попреподавать хотя бы семестр. Не для «сперва добейся», а для того чтобы понять какие именно проблемы при этом возникают и что именно студенты не понимают. Со стороны любая деятельность простая. Вообще довольно надежный признак дурачка - он постоянно учит людей как надо делать все в тех областях в которых они профессионалы, а он «видит со стороны лучше».

anonymous
()
Ответ на: комментарий от anonymous

Она простая когда ты довольно много знаешь. А вот если тебе сунули такую задачу сразу, считая что она простая только потому что она алгоритмически простая, то она очень даже сложная. Выше объяснили почему, причем довольно неплохо.

anonymous
()
Ответ на: комментарий от anonymous

Ты не клоун, ты ты «отец всех клоунов»

Аж заикаться начал, бедный. Не переживай ты так за свое место, не пойду я преподавать, так что тебя (и других псевдо-прохвессоров) не погонят ссаной тряпкой за профнепригодность без лучшей замены.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от AP

Да потому что «конструктивная критика» в понимании зумеров - кидание какашками. Обезьяны они и есть обезьяны. У него тупо нервов не хватает похоже. Столяров заметно покрепче.

anonymous
()
Ответ на: комментарий от Legioner

грамотную критику паскаля, как первого языка

Самое печальное, что языков с одной стороны, без автоматического управления памятью, а с другой достаточно высокоуровневых для того чтобы не влезать в детали архитектуры как-то не особо. Либо полумёртвый паскаль, либо сишечка со всеми её недостатками. А чего-то между - нет.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от liksys

Чудо, я почти не преподаю уже несколько лет, свой бизнес неплохо кормит, преподает жена. И вот буквально только что такой как ты «умник» без стипендии остался, выгонять не стали - пожалели, осенью нахамил, обещал удивить своим кодом на экзамене - надо сказать удивил. Причем три раза. Но не так как хотел. Тоже орал что он с С++ начал и всем покажет. Кстати, практика показывает что лучше всего в итоге кодят либо спокойные олимпиадники (спокойные потому что среди них немало настоящих психопатов) и замкнутые упорные ребята, которых обычно не видно, не слышно, но они как танки упрямо учат материал, кодят каждую свободную минуту и не ходят поорать какой не…нный си и отстойный паскаль.

P.S. Я не профессор, не надо ёрничать. Не имеешь ни образования нормального, ни степени - не завидуй.

anonymous
()
Ответ на: комментарий от liksys

без автоматического управления памятью

Не видел?

anonymous
()

Ну что, пиво вдарило в башку - пора и мне тут похоливарить :D

Ради прикола начал читать первую книгу Столярова:

  1. Первые 50-страниц - предисловия… УЖАС. Не читал…
  2. Критика про его предвзятое отношение полностью верна где-то на 90х страницах категорично утверждает, что GUI - это зло.
  3. То, что он приучает первогодок к CLI-интерфейсу - правильно, но не так настойчиво это надо делать. А лучше посвятить ещё главу сравнивая GUI и CLI объективно, указать в примерах где и как применять тот или иной подход. Что делать оператору к-либо тех. процесса с сотней настроек? Контролировать техпроцесс в графическом режиме, а если что-то отклонилось от нормы/авария - одним кликом всё_исправить(уменьшив подачу сырья, к примеру на 10%)/отключить линию в один-два клика мышки. Или же он будет писать в консоли agregat_1B set podacha -10 ? Что быстрее, удобнее и безопаснее (ведь вместо -10 может не пропечататься «-» и оператор получит обратный эффект)…
  4. Если он не «высказывает» своих предпочтений, то материал подаётся достаточно просто и легко - действительно, читаешь как худ. литературу и ничего не знающим «рекрутам» легко это зайдёт. В первой книге (до остальных ещё не добрался) как введение в специальность пока отлично, за исключением пунктов 2 и 3

З.Ы. дальше ещё не дочитал/листал

drfaust ★★★★★
()
Ответ на: комментарий от anonymous

только что такой как ты «умник»

Не имеешь ни образования нормального, ни степени - не завидуй.

Взял, придумал себе чучелко и успешно его сжег. Молодец, самоутвердился.

Почему ты упорно продолжаешь повторять, что у меня нет образования, хотя я явно обознчаил его наличие? Потому что это не укладывается в твой маня-мирок?

liksys ★★★★
()
Ответ на: комментарий от liksys

Автор хочет статику. Окей, допустим, я тоже люблю статику. Далее автор не хочет SQL, а хочет текстовые файлики, внимание, со всеми возможностями SQL

Ну, нет же. Он как раз не хочет статику, а хочет формат текстовых фалов. Т.е. у него требования - зайти в админку, набросать в форме текст, который POST’ом прилетает на сервер, а сервер его сохраняет в [id].md, например. Потом сервер делает read, фильтрует и подставляет в позицию XНML шаблона. С комментами немного сложнее, хотя, если достаточно делать append, без цели редактирования - все так же просто. На PHP (который Столяров «терпеть готов») это с нуля реально сделать за 1 день.

SQL он как раз не хочет, и сказал об этом. Так же сказал, что адекватно работал с SQL более десятка лет назад и с тех пор его плохо помнит. SQLite, как я понял, он не хочет именно из-за SQL, а не из-за того, в каком виде это хранится.

Правда, я только до 5-й страницы дошел и дальше читать тот «срач» желание не особо есть. Сайты его (авторский и unicontrollers.com), конечно, косячные. Лучше бы он потратил время на более насущные проблемы (включая безопасность), чем выпиливал JS из Drupal. В принципе, с его 100 посетителями в сутки - не принципиально, но хотя бы дизайн освежить и генерацию капчи (непонятно, то ли это «защита» такая, то ли она реально генерируется 20-30 сек.) сделать нормальную стоит. Ну, и https пора, ибо его сайты скоро тупо перестанут работать в современном браузере.

В общем, докопаться там есть до чего. Особенно, раз Столяров ратует за безопасность пользователей (а это нельзя обеспечить без безопасности собственного сервера, используя устаревшее ПО).

Только, конкретно по Вашей цитате - Вы сами домыслили, Столяров в той теме просил именно то, что он просил. SQL он не хотел и честно написал, что работал с SQL-запросами очень давно и плохо помнит.

Stack77
()
Последнее исправление: Stack77 (всего исправлений: 1)
Ответ на: комментарий от Dark_SavanT

А, тут уже я продолбился в глаза. Подумал, что ты хочешь с ручным управлением, но не сильно примитивное.

Если ты хочешь ручное и простое, хренли тогда тебе сишечка не нравится? Это наименьшее зло. Просто недостатков у сишечки не так много, как тебе кажется, а если уж начинать их исправлять - можно и концепций новых навернуть (и получить гошечку).

liksys ★★★★
()
Ответ на: комментарий от Dark_SavanT

Теоретически можно на C++ наваять что-то подобное. Если каким-нибудь статическим анализатором запретить пользоваться ненужными возможностями и вместо стандартной библиотеки наваять что-то своё, подходящее под задачу.

Legioner ★★★★★
()
Ответ на: комментарий от Stack77

Я про статику уже не помнил, если честно. Ну окей, суть не меняется. Вместо того, чтобы взять готовое решение, он всирает вагон времени на какой-то дебилизм вроде выпиливания JS, борьбы с текстовыми файлами и прочим, вместо того, чтобы сесть и освежить в памяти тот же SQL.

liksys ★★★★
()
Ответ на: комментарий от X512

Напоминаю контекст: первый язык для обучения.

Rust в качестве первого языка - полная мазафака. Врубить нулёвого студента в те же структуры данных на нём задача нетривиальная. Два слова: «двусвязный список».

Оберон - страдает от тех же проблем что и Паскаль. Только распространён ещё меньше.

Го - почти хорошо, НО - моё имхо что в языке для обучения не должно быть GC. Потому что иначе потом надо долго и нудно вбивать в голову падавану, что про выделение памяти надо думать и что оказывается GC это не решение всех проблем.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT
С И Ш Е Ч К А
И
Ш
Е
Ч
К
А

Нет, серьезно. Утята выискиывают малозначимые недостатки сишечки для обучения и возводят их в абсолют, лишь бы выгородить паскаль.

liksys ★★★★
()
Последнее исправление: liksys (всего исправлений: 1)
Ответ на: комментарий от liksys

см. по треду выше. Мы не языки в вакууме обсуждаем, а конкретно применимость в роли первого языка для обучения.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от liksys

Ещё раз если ты не догнал: сишечка в качестве ПЕРВОГО языка полное говно. Хотя бы потому что требует знания слишком большого количества деталей не то что архитектуры, а даже конкретного тулчейна зачастую.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от anonymous

Студенты изучают Си как первый язык. Про указатели они уже должны знать и активно ими пользоваться. Что сложного в структуре с 2 указателями? Что сложного в проходе по односвязному списку? Или считается, что кроме printf и математических операций они ничего еще не знают?

anonymous
()
Ответ на: комментарий от Dark_SavanT

Го - почти хорошо, НО - моё имхо что в языке для обучения не должно быть GC.

Либо GC (Go, Oberon), либо Rust, либо небезопасные C/C++. Другого нет.

X512 ★★★★★
()
Ответ на: комментарий от liksys

Да потому что универ где ты учился, в то время когда ты учился, а ты инфы о себе по инету разбросал достаточно, жуткая помойка. Пенза если не ошибаюсь?

anonymous
()
Ответ на: комментарий от Dark_SavanT

Ещё раз если ты не догнал: сишечка в качестве ПЕРВОГО языка полное говно.

Нет. Это твое (и паскалешизов) заблуждение, я наглядно это показывал на предыдущих страницах с примерами и объяснял на пальцах. Но вы, конечно, все проигнорировали.

Хотя бы потому что требует знания слишком большого количества деталей

Нет.

liksys ★★★★
()
Ответ на: комментарий от liksys

Нет, ну понятно что ты деталей можешь и сейчас не знать, но это совершенно не означает что их не надо знать никому.

anonymous
()
Ответ на: комментарий от Dark_SavanT

Два слова: «двусвязный список».

У Оберона есть очень полезная для обучения фича: возможность просмотра стека и любого объекта на куче. Можно кликать на синие ромбы справа от указателя чтобы смотреть объект, на который указывает указатель. И в отличии от C++ всё устроено просто и работает железно.

X512 ★★★★★
()
Ответ на: комментарий от anonymous

А с чего именно?

Schema, Python. Это им не мешает потом догнаться и хаскелем с ассемблером, и только у ЛОРовцев проблема: чего нет в первом ЯП, того никогда не будет в мозгах.

anonymous
()
Ответ на: комментарий от anonymous

Пенза если не ошибаюсь?

Ути-пути, какие мы толстые. Образование нашлось, теперь приходиться изворачиваться: ВАШЕ ОБРАЗОВАНИЕ - НЕ ОБРАЗОВАНИЕ!

Это не ты вчера пытался меня троллить, а потом обгадился и слился? Если нет, то повторю вопрос уже тебе: какую реакцию от меня ты ждешь на свою клоунаду?

liksys ★★★★
()
Ответ на: комментарий от X512

И в отличии от C++ всё устроено просто и работает железно

Которого ты не знаешь. Переопредели << и смотри на дамп своего объекта в лог.

anonymous
()

По холивару "первого языка" в обучении

Если студент не знает ни одного - пусть дают то, что препод знает/подаёт лучше всего. У меня в ВУЗе это был Паскаль. Сам же я СИшник.

Ничего страшного в переобучении нет. К 3му курсу мне заходил любой синтаксис в неделю-другую - далее изучение фреймворка, но на лабы сильно не влияло.

Что Си, что Паскаль при грамотной подаче одинаково зайдут в «пустые» головы первогодок.

Сам в школе изучал кастрированный «корветовский» Бейсик, в ВУЗе дали Паскаль - было «откровение», ведь не надо нумеровать строки - есть метки для goto, есть procedure/function и для организации рекурсии не надо «колхозить вручную» стек для локальных переменных, которых в «корветовском Бейсике» нет, как нет и gosub/return.

Потом, пока нам не объяснили что такое транзистор/емкостная ячейка памяти, различные триггера/сумматоры и пр. (это было всё ещё на 1м курсе, насколько я помню) на втором дали Си - опят «откровение» в DOS можно тупо писать по указателю сразу в видеопамять в одну строчку. Работа с указателями проще некуда, есть арифметика с указателями и пр. плюшки. Потом АСМ, после чего я понял, что Си+АСМ - этими вещами можно чёрта из компа сделать - пошло уже самостоятельное погружение в MS-DOS/BIOS/порты…

После выпуска я посчитал сколько языков мне преподавали - насчитал 11, от тех же Паскаль/Си/АСМ, до VHDL/FoxPro/какая-то_хрень_из_баз_знаний, не считая что в рамках логического и функционального программирования (название у курса было одно) дали и Пролог(предикаты мне всё-таки зашли), следом Лисп (функциональщина - прикольно, но видать пробухал…), ООП - в рамках Си_с_плюсами(т.к. BC++ 3.11 невозможно сравнивать с современным C++ - а другого не было) которые очень зашли.

Более того, где-то с 3го курса разрешили решать задачи по смежным предметам на любом ЯП. Из соседнего потока парень лабы сдавал вообще на Форте - так он ему понравился. Сам сдавал в рамках СПО работу с VGA/EGA адаптером на C– (и не я один - он тогда многим понравился).

Так что «введение в специальность» надо начинать с объяснения многогранности «программирования», и с первого курса вдалбливать, что язык/парадигма_программирования и т.п. - это всего навсего инструменты, а на выхлопе дипломант должен уже сам уметь определять каким инструментом, методом и как решать поставленную задачу.

drfaust ★★★★★
()
Ответ на: комментарий от liksys

Если ты ВНИМАТЕЛЬНО прочитаешь написанное, то увидишь, что там написано

Не имеешь ни образования нормального

Пенза - не нормальное образование, пенза - диплом. Это конечно мое имхо, но я начинал учиться в Новосибирске, заканчивал в Москве и вполне представляю уровень твоего образования. Это все конечно мое оценочное суждение, как любят последнее время говорить, но универ у тебя был явно отстойный.

anonymous
()
Ответ на: комментарий от anonymous

Переопредели << и смотри на дамп своего объекта в лог.

В Обероне ничего переопределять не надо, встроенный отладчик может показать поля любого объекта кучи и в нём есть интерактивная навигация по указателям.

X512 ★★★★★
()
Ответ на: комментарий от X512

Оберон штука-то хорошая, но ещё менее применимая чем Паскаль, на данный момент.

Может лет через дцать, колесо массового программирования докатится до идей заложенных в обероне и смоллтолке.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от Dark_SavanT

но ещё менее применимая чем Паскаль

Почему? Проблема только в популярности? Книжки и учебные пособия для Оберона есть в том числе и на русском языке.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Пенза - не нормальное образование, пенза - диплом.

Это единственное, с чем можно согласиться. Я учился в двух местах. На одного годного преподавателя приходилось с десяток грелок для кабинетного стула. Но ведь университет учит учиться, не так ли? Так что я отлично научился добывать информацию, занялся самообразованием, получил огромный опыт в IT во время работы и теперь без труда разбираю все ваши заблуждения и обличаю бредятину паскалешизиков.

liksys ★★★★
()
Ответ на: комментарий от X512

Есть, я как раз книжку про оберон читаю сейчас, для вдохновения так сказать.

Часть проблемы действительно в популярности, плюс большую часть того что можно получить от оберона, можно найти и в джаве, почему бы тогда её сразу и не взять?

Dark_SavanT ★★★★★
()
Ответ на: комментарий от liksys

Понимаешь, ты делаешь классическую ошибку. Ты не отличаешь преподавание от практической работы по профессии. Тебе уже об этом писали. Это - разные области деятельности. Преподавание очень специфичная вещь, а ты, скорее всего, никогда не видел хороших преподавателей (язык не поворачивается назвать их преподами).

anonymous
()
Ответ на: комментарий от Harald

А вот тут не надо.

До Бейсика в школе была как раз «зелёная черепашка», и млять у черепашки были процедуры в отличие от «корветовского бейсика» где там их не было (собственно так в школе мне и объяснили что такое «процедура», после чего я уже начал «изобретать» их на «бейсике-кастрате»)

drfaust ★★★★★
()
Ответ на: комментарий от drfaust

Реализаций бейсика много разных. Не все из них заставляют писать номера строк и не имеют процедур

Harald ★★★★★
()

Присоединяюсь к числу читателей. После такой рекламы в виде этого обсуждения пройти мимо этих книг - практически преступление.

Leupold_cat ★★★★★
()
Последнее исправление: Leupold_cat (всего исправлений: 1)
Ответ на: комментарий от anonymous

Ты опять воюешь с фантазиями в своей голове. Ты делаешь допущение за допущением, лишь бы ситуация укладывалась в твою уютную картину мира. Теперь плачь: я общался с божественными преподавателями и держу с ними связь. И - о ужас - они учат людей сишечке.

liksys ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.