История изменений
Исправление praseodim, (текущая версия) :
Читай мой первый пост в этом треде.
Читал. И другие. Есть ощущение, что срабатывает синдром «нет пророка в своем отечестве». Вот если бы это был западный автор ему бы хоть PL/1 простили в качестве первого языка программирования. Ну а что, Кнуту можно было целый вымышленный ассемблер MIX (сейчас MMIX) выдумать для своих книг (потом уже эмуляторы MIX даже появились). Вот уж, что максимально далеко в смысле практической применимости для устройства на работу!
Или SICP. Сейчас они на Питон перешли, но в принципе изначально были долгое время на Scheme. В смысле устройства на работу - это тоже было что-то очень далекое от реального программирования.
По конкретике, такое впечатление, что в основном полыхает от того, что хочется, чтобы при обучении программированию сразу давали современное для немедленного устройства на работу в бигтех. Вместо этого «Паскаль» с которым не сунешься на собеседование. А вот если бы Питон, VSCode и гитхаб, то куда-нибудь на галеру уже был бы годен после нескольких глав книги. (Впрочем, это несколько лет назад был бы годен, сейчас, такое ощущение, что зеленых джунов вообще прекратили набирать).
А у Столярова классический академический подход с научить учиться. Некоторые детали такого подхода в его исполнении спорны, но в целом, я не думаю, чтобы человеку, освоившему его курс, было трудно при необходимости прочитать учебник по Питону, Го или Javascript.
Сам автор причем не рекомендует (хотя и не сильно против) для реального программирования использовать паскаль.
Хотя я бы вместо TCL в 3-м томе таки Питон бы давал для изучения. А может и вместо C++ даже.
Насчет простоты указателей и объяснений с клеточками, то тут такая особенность, что люди скажут, что поняли, но реально при программировании будут путаться. Особенно на Си. В нем еще и синтаксис работы с указателями какой-то подломанный, в отличие от паскаля. В паскале с его стройной системой типов четко все указатели - это тип указатель. В Си с этим путаница, а C++ ее еще усугубил появлением ссылок. Также в Си неочевидные для новичка и даже не совсем для новичка отношения между массивом и указателем. В принципе, массивов в Си вообще нет, а есть синтаксический сахар для указателей, из-за чего даже относительно опытные программисты иногда путают массив и указатель на массив.
В Паскале всех этих тонкостей нет. Есть четко массив и четко указатель. Или указатель на массив. Что педагогически проще. Да и в программировании, вообще-то тоже. Си - это в сущности язык, созданный хакерами (в хорошем смысле) для хакеров.
Айтишные учебные программы не предлагают реальных задач, а только на них и можно научиться инженерному подходу. Столяров тоже не предлагает, да и сам не умеет.
Реальным задачам можно научиться на практике или при работе над дипломом или хотя бы курсовой. Это выходит за рамки любой книги обучения программированию. При том, что вообще-то у Столярова есть и задачник к его курсу.
И вообще, книги Столярова, да и хоть кого еще, не ставят своей целью объять весь курс обучения специальности. Это просто введение в программирование. Ему, как уже кто-то заметил, не стоило называть это введением в профессию, может быть от этого еще столько батхерта.
… нужно рассказывать о том, как правильно структурировать проекты и декомпозировать задачу. Редкий софт пишется только на одном языке, и нужно понимать, где лучше использовать го, питон, или сишечку. Нужно показывать, как языки взаимодействуют друг с другом, как использовать плюсы того или иного языка и как получить от этого выигрыш, а не усираться, доказывая, что раст - говно, как это любит столяров.
Есть у него в 3-м томе несколько глав про это. В контексте взаимодействия Tcl и Си. Хотя и маловато в целом.
Исходная версия praseodim, :
Читай мой первый пост в этом треде.
Читал. И другие. Есть ощущение, что срабатывает синдром «нет пророка в своем отечестве». Вот если бы это был западный автор ему бы хоть PL/1 простили в качестве первого языка программирования. Ну а что, Кнуту можно было целый вымышленный ассемблер MIX (сейчас MMIX) выдумать для своих книг (потом уже эмуляторы MIX даже появились). Вот уж, что максимально далеко в смысле практической применимости для устройства на работу!
Или SICP. Сейчас они на Питон перешли, но в принципе изначально были долгое время на Scheme. В смысле устройства на работу - это тоже было что-то очень далекое от реального программирования.
По конкретике, такое впечатление, что в основном полыхает от того, что хочется, чтобы при обучении программированию сразу давали современное для немедленного устройства на работу в бигтех. Вместо этого «Паскаль» с которым не сунешься на собеседование. А вот если бы Питон, VSCode и гитхаб, то куда-нибудь на галеру уже был бы годен после нескольких глав книги. (Впрочем, это несколько лет назад был бы годен, сейчас, такое ощущение, что зеленых джунов вообще прекратили набирать).
А у Столярова классический академический подход с научить учиться. Некоторые детали такого подхода в его исполнении спорны, но в целом, я не думаю, чтобы человеку, освоившему его курс, было трудно при необходимости прочитать учебник по Питону, Го или Javascript.
Сам автор причем не рекомендует (хотя и не сильно против) для реального программирования использовать паскаль.
Хотя я бы вместо TCL в 3-м томе таки Питон бы давал для изучения. А может и вместо C++ даже.
Насчет простоты указателей и объяснений с клеточками, то тут такая особенность, что люди скажут, что поняли, но реально при программировании будут путаться. Особенно на Си. В нем еще и синтаксис работы с указателями какой-то подломанный, в отличие от паскаля. В паскале с его стройной системой типов четко все указатели - это тип указатель. В Си с этим путаница, а C++ ее еще усугубил появлением ссылок. Также в Си неочевидные для новичка и даже не совсем для новичка отношения между массивом и указателем. В принципе, массивов в Си вообще нет, а есть синтаксический сахар для указателей, из-за чего даже относительно опытные программисты иногда путают массив и указатель на массив.
В Паскале всех этих тонкостей нет. Есть четко массив и четко указатель. Или указатель на массив. Что педагогически проще. Да и в программировании, вообще-то тоже. Си - это в сущности язык, созданный хакерами (в хорошем смысле) для хакеров.
Айтишные учебные программы не предлагают реальных задач, а только на них и можно научиться инженерному подходу. Столяров тоже не предлагает, да и сам не умеет.
Реальным задачам можно научиться на практике или при работе над дипломом или хотя бы курсовой. Это выходит за рамки любой книги обучения программированию. При том, что вообще-то у Столярова есть и задачник к его курсу.
И вообще, книги Столярова, да и хоть кого еще, не ставят своей целью объять весь курс обучения специальности. Это просто введение в программирование. Ему не стоило называть это введением в профессию, может быть от этого еще столько батхерта.
… нужно рассказывать о том, как правильно структурировать проекты и декомпозировать задачу. Редкий софт пишется только на одном языке, и нужно понимать, где лучше использовать го, питон, или сишечку. Нужно показывать, как языки взаимодействуют друг с другом, как использовать плюсы того или иного языка и как получить от этого выигрыш, а не усираться, доказывая, что раст - говно, как это любит столяров.
Есть у него в 3-м томе несколько глав про это. В контексте взаимодействия Tcl и Си. Хотя и маловато в целом.