LINUX.ORG.RU

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

 


9

4

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

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

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

★★★★★

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

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

А если мне, допустим, не нравится дырявый сценарий какого-то фильма - я тоже сперва должен написать свой сценарий и снять кино, а потом критиковать существующее? Это так не работает.

Конечно, не должны. Но при этом вам авторы дырявого сценария всё равно не должны ничего.

Я понимаю, что у вас есть некоторая преподавательская солидарность, но надо быть объективным. В книге содержится слишком много вещей, что нарушают ее академичность. Как литература - сойдет. Как учебник - уже спорно.

Нет у меня никакой корпоративной солидарности со Столяровым. Я полагаю, что он бы меня обругал или вовсе не стал иметь со мною дело. Что объективно, а что спорно, нельзя решить одному человеку. Если вам не нравится, пожалуйста! Как автор вам ничего не должен, так и вы любить его и его произведение не обязаны! Но существуют люди, которым эти книги как учебник подходят. Возможно, их немного и внедрять книгу Столярова в качестве рекомендованного или обязательного учебника в государственных вузах нельзя. Есть большая разница между учебным пособием, которым книга Столярова является, и обязательным, утвержённы минисетрством учебником с грифом. Она как между «существует» и «для любого».

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

Как я ни люблю Fortran, но смысла особого в его преподавании не вижу даже для физиков. Разве что небольшой спецкурс. Он совершенно элементарно осваивается знающим вообще любой язык - он прост как полено. Есть нюансы, но их все кучей можно затолкать в брошюрку страниц в тридцать. Кроме того, в фортране мягко говоря нетипичные «указатели». Вот ими то лучше голову начинающим не забивать. ИМХО лучше начать с Pascal или с Python, если хочется побыстрее.

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

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

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

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

То есть всё равно будут учить 2 языка и тратить время на первый?

Есть разница между изучением одного мертвого и одного живого языка, и изучением двух живых языков.

Подожди, недавно же выяснили, что теперь можно сначала учить python - пример MIT ты привел?

Если прочитать внимательно, то в моем комментарии написано, что:

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

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

для физических специальностей я бы предпочёл видеть >=фортран-90 и питон-3

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

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

Не звезди. Ты «собеседуешь» только своего кота. Собеседница, блин. Ссылку на должность и место работы кинь, трепло.

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

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

Ответ на поверхности. Паскаль можно преподавать постепенно, а с СИ это не получится. Например, без импорта модулей, которые не модули вовсе, вы ни напечатать, ни синус посчитать не можете. Без шаблонов нет констант. Нормальных массивов тоже нет, а есть адреса. Си — язык для тех, кто понимает устройство компьютера и имеет опыт. Вот этот вопрос как раз у Столярова хорошо разобран.

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

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

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

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

Верно. Си-какашка. Как и другие ЯП. Есть только один нормальный язык - Ada.

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

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

Ну и отлично. Я высказал тут свою точку зрения и обосновал ее. Привел примеры более качественных книг. Кто-то согласился, кто-то - нет. В чем проблема-то? Если автор не хочет видеть критики - пусть не выкладывается в интернет. Хочет он продвигать свои маргинальные взгляды - пожалуйста. Но пусть не удивляется, что находятся те, кто крутит ему у виска и выбирают другие книги, авторы которых не страдают луддизмом.

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

ядерщики в МИФИ учат фортран

Да у них там вообще кресты и церковный хор.

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

Есть ли темы в которых вы ничего не понимаете? С вашей безмерной мудростью? Почему вы решили что ваши взгляды «мейнстрим», а Столярова «маргинальны»? Вы как при голосовании в Древней Греции замерили на глазок громкость криков? Ну так обезьяны всегда орут немного громче людей.

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

Я с вами в целом согласен. После критики первого издания автор второе на ЛОРе выкладывать не стал, так как осознал, что это не его целевая аудитория. Но его здесь выложили всё равно и подтвердили, и похоже именно для того, чтобы измазать веществами.

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

Ответ на поверхности

И это неправильный ответ.

Паскаль можно преподавать постепенно, а с СИ это не получится

Я снова в сотый раз ткну пальцем в книги Стивена Праты. Почему у астронома получается подать си постепенно, а у уважаемого преподавателя с регалиями - нет?

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

Я уже говорил, что в первом приближении можно обозвать подключение хедеров библиотеками. И пока студенты пишут однофайловые программы, это объяснение будет канать. Когда уже дойдет до разделения на несколько файлов, можно приоткрыть завесу тайны над хедерами и линковкой, и это не сломает никому шаблон.

Нормальных массивов тоже нет, а есть адреса.

Тоже уже говорил. Массивы можно объяснить без проблем на основе последовательных клеточек с номерами. Этого хватит на базовые алгоритмы. Дальше клеточки элементарно объясняют указатели и адресную арифметику.

учить с Паскаля сейчас всё равно анахронизм

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

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

Для этого как минимум нужно, чтобы преподаватели сами это понимали.

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

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

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

А ссылочку дай-ка мне, а то я два первых тома у аффтора купил, а в электронном виде доступны только обфусцированные версии.

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

Сколько тебе нужно времени, чтобы понять, что Кнут в глазах новичка не дает никакой общей картины, а только пугает? Кнут — книга для уже СОСТОЯВШИХСЯ программистов, а не для новичков.

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

Есть ли темы в которых вы ничего не понимаете?

Разумеется. Я ничего не понимаю в аналоговой электронике и не лезу учить тех, кто понимает. Например, инженер, который у меня работает, прекрасно в ней шарит, и если он говорит, что надо сделать так, а не иначе - я лишь прошу обосновать мне на пальцах, потому что понимаю, что у него есть соответствующая экспертиза.

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

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

В этом виноваты часы, похищенные паскалем, серьёзно?

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

Это комплексная проблема.

  • Мало компетентных преподавателей с опытом - раз.
  • Нет подходящего учебного материала - два.
  • Нет учебных часов - три.
liksys ★★★★
()
Ответ на: комментарий от liksys

и луддизму писателя

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

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

Тогда как правильно назвать автора? Мракобес?)

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

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

  1. Тут нет фанатов Паскаля. Или отсутствие неприязни - фанатизм?

  2. Никто не говорит, что кидаться в сишку надо сразу. Говорят, что слишком неудобно для образовательного процесса то, что слишком много отвлекающих моментов вида «вы это видите, но пока на это не обращайте внимание; вот это просто запомните, потом расскажу почему нужно считывать переменную так». Каким бы хорошим не был преподаватель, ему придётся либо временно опускать многие моменты, чтобы сконцентрировать внимание ничего не знающих о ЯП обучающихся на решаемой задаче, а не проблемах реализации; либо сразу начать с рассказов об устройстве памяти, что полезно, но немного отвлекает, если цель обучить тому как устроены алгоритмы. Обо всём этом здесь много раз говорили.

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

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

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

Он совершенно элементарно осваивается знающим вообще любой язык - он прост как полено.

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

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

Никто не говорит, что кидаться в сишку надо сразу.

Когда я предложил писать тривиальные алгоритмы на си, тут же сразу понабежали с маллоком, адресной арифметикой и прочими вещами. Зачем это в условной программе переворота массива?

Говорят, что слишком неудобно для образовательного процесса

На что я возразил, что есть отличные объяснения. Опровержений нет.

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

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

Обо всём этом здесь много раз говорили.

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

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

Мне домру не единожды инжектил. При этом поддержка и SMM всячески «ой мы не такие вывсёврёти».

Причём делали это редко и так, что заскринить не успевалось. А потом я просто сменил провайдера.

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

А непрограммисты - не люди и им программировать вообще не положено!

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

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

ИМХО, стоит разделять мнения со стороны на «мнение как читателя» и «мнение как писателя». И вот в качестве читателя вполне можно заявить, что мне весь этот идеологический шлак - мимо. Больше Танненбаум зашёл.

Но вот да, говорить, что Столяров должен то и это - это мимо. Он сам оазберётся чего и кому он должен. И если персонально вам не должен, то не за чем и говорить об этом «должен вобще, в принципе, как писатель и препод».

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

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

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

Если человек пишет академический текст, он должен придерживаться академических принципов. У Столярова в текущем виде публицистика.

Слово «должен» не следует воспринимать как «эй ты, пойди и сделай». Это лишь указание на критерии соответствия.

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

согласен, имею такое же мнение на счет паскаля vs си в образовании

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

А ссылочку дай-ка мне, а то я два первых тома у аффтора купил, а в электронном виде доступны только обфусцированные версии.

Сорри, нету. Поищи по прошлому треду, там кто-то выкладывал ссылку на ftp.

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

Огульное поливание? Нет, они просто не оч. хорошо написаны и поданы с большим апломбом.

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

Если человек пишет академический текст, он должен придерживаться академических принципов.

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

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

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

Это, разумеется, чушь. Для того, чтобы писать академические тексты, нужны соответствующие навыки. А вот для чтения и анализа достаточно самых базовых знаний об этих стилях. Более того, эти знания даются на уроках литературы в школе.

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

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

Будто я первый раз такое вижу.

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

То что хайпа вокруг раста намного больше чем вокруг D это сущая правда. Но ведь это просто хайп, со всеми вытекающими. На хайпе можно хайпануть, но только какое-то время. А потом уже провожать будут по уму. На реддите один парень привел поучительную историю, как его знакомый топил за раст, а когда ему дали бюджет и команду, он выбрал тайпскрипт, потому что по его же словам на расте они бы не уложились в сроки. Вот что нужно знать про хайп вокруг раста.

Авторы же D просто инженеры и в эти социальные игры они играть не умеют от слова совсем, софт скиллс у них не прокачаны, это да. Но тем не менее язык активно развивается. И ему не грозит потеря корпоративной поддержки. Он устойчив в своем развитии и дальше будет развиваться, не зависит от хайпа, его пишут инженеры для инженеров. Там нет, слава богу, какого-либо CoC и прочей абсолютно не технической ерунды.

З.Ы. Я сомневаюсь, что удалось бы переписать gcc на D или на любой другой язык. Там слишком много разных нюансов.

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

Прям хоть ничего не отвечай - уже всё предрешено :)

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

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

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

Я ведь просто спародировал утверждение анонимуса

Понял. Не распарсил пародию изначально.

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

К счастью, я вооружен не только школьной программой и вполне способен оценить литературный талант автора. Мое мнение вы уже видели: это не академический, а публицистический стиль.

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

Как у D вообще сейчас дела? Вопрос без подвоха. Допустим, мне надо написать простенький микросервис, который ходит в базу, в другие сервисы, что-то считает и отдает наружу по HTTP. Почему я должен взять D, а не Go?

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

Не скажу ничего, т.к. не использую микросервисы и HTTP. У меня просто расчеты - старая добрая фильтрация, которую сейчас модно называть data/sensor fusion. Но вот во внутренних инструментах, которые использую для отладки, я очень активно использую метапрограммирование и интроспекцию, это значительно сокращает расходы на поддержку кода и позволяет больше времени уделять решению проблемы в предметной области.

yetanother ★★
()

Скандально известный на ЛОРе Андрей Викторович Столяров

Бедолагу постоянно насилуют (информационно), а он при этом умудряется книжки писать. Вот это воля!

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

Вообще D мне кажется очень интересным языком с незаслуженно низкой распространенностью. Было бы здорово посмотреть какую-то историю успеха типа «было написано на го, работало плохо, переписали на д, стало хорошо».

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

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

так как они в глазах аналитегов не могут быть им прямыми конкурентами

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

«Быть автором» - довольно редкое желание. Почти странное, я бы сказал. А вот быть читателем мы все хотим. А когда читателю подсовывают туфту, даже вперемешку с годнотой, это вызывает естественное раздражение.

И нет, американских критикуют не хуже, разве что менее личностно - ну так во-первых, далеки они от нас, не так понятны и интересны, а во-вторых, много ли настолько одиозных авторов там «у них»?

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

Кроме того, в фортране мягко говоря нетипичные «указатели».

Нормальные там указатели. Только они в фортране практически никогда не нужны.

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

Опять ты вылез. А ну-ка брысь отсюда!

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

Но ведь это просто хайп, со всеми вытекающими.

В том-то и дело что не просто - как-раз из-за вытекающих. Это в первую очередь количество разработчиков, простота поиска сопровождающих для кода, наличие библиотек с готовой реализацией всяческих полезностей… всё это играет важную роль в выборе языка для реализации очередного проекта.

Авторы же D просто инженеры и в эти социальные игры они играть не умеют от слова совсем

Насколько я помню проблема с включением D в gcc была маркетинговой, а не социальной - компания надеялась заработать на платном компиляторе и в итоге просрала рынок. Примерно как BitKeeper в своё время, пусть и не со столь драматическими последствиями.

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

В смысле «сомневаюсь»? Это уже один раз сделали переписав с С на С++.

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

Я ведь почему злой был

туфту, даже вперемешку с годнотой

Кстати, даже хуже что они вперемешку с годнотой. Просто отмахнуться от книги не получается, приходится читать и страдать. Или не читать и страдать :D

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