СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

| сохранено

H «Программирование: Введение в профессию» — краудфандинговый проект в черновиках

Профессия программиста в настоящее время приобретает достаточно размытые рамки — программируют на чем угодно и почти для чего угодно; чтобы стать программистом, больше не нужно учиться пять лет в университете, программировать начинают бывшие менеджеры, бухгалтеры и представители других профессий, которых раньше, кроме как за пасьянсом, представить было трудно. Но как стать не просто кодером, а хорошим программистом, качественным специалистом? Вопрос сложный, однозначного ответа на него нет, но мало кто станет возражать, что существенную роль в обучении и становлении программиста играют профессионально написанные учебники. Об этом и пойдет речь дальше.

Замечательный преподаватель, которым, не побоюсь этого слова, восхищаются практически все его ученики, Андрей Столяров запустил краудфандинговый проект по созданию книги, призванной послужить вводным учебным пособием для начинающих программистов. Согласно авторскому замыслу, книга должна охватить этапы изучения программирования в объёме «продвинутой» школьной информатики (в той её части, которая непосредственно касается программирования) и первых двух курсов ВМК МГУ.

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

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

Ознакомиться с оглавлением книги в его текущем виде можно здесь.

P.S. Признаться, я первый раз пишу в Хабр «рекламную» статью, не знаю чем я при этом рискую, но не поддержать своего Учителя просто не мог, тем более, что я искренне верю, что книга получится замечательная. Пришлось поместить этот призыв в Хаб «Я пиарюсь», чтобы соответствовать правилам Хабра, хотя пиарю я не себя, да и место посту не в таком хабе.

комментарии (9)

+4
lair ,  
От «плана содержания», простите, веет «единственно правильным путем».

Например:

Как правильно использовать компьютер
Добро пожаловать в мир Unix!


То есть, не-Unix — неправильно?

Или:

объектно-ориентированное программирование и язык Си++

А функционального программирования нет. Ну то есть нет, в «дополнительной девятой части» — лисп и пролог… отдельной главы не заслужили? Где DSL как парадигма?

А где условно современные языки? C#, Java, JS, Haskell, Erlang, Scala, Ruby, Python — имя им легион, я раньше устал вспоминать, чем они закончились?

Ну и самое главное: если это введение в профессию, то где то, что должно быть известно любому профессиональному программисту — работа с требованиями, управление сложностью, тестирование?

запланированная книга обещает быть [...] одним из лучших текстов для программистов на русском языке

Это считая переводную литературу?

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

Эмм…

Начиная с 1995 года, А.В.Столяров совмещал учёбу с работой в коммерческих организациях в качестве программиста, в период с 1997 по 2000 год работал системным администратором в провайдинговых компаниях (операторах сети Интернет), в 2001 году вернулся к работе программиста. С января 2002 года А.В.Столяров работает на кафедре Алгоритмических языков ВМК МГУ; в 2003 году прекратил работу в коммерческих структурах

Грубо говоря, четыре года работы программистом. Профессиональный опыт. Srsly?

Человек, который в 2013 совершенно серьезно пишет в своем резюме:
Моим основным рабочим языком является C++. При этом я предпочитаю не пользоваться STL, т.к. это затрудняет отладку и сопровождение (при весьма сомнительном выигрыше на стадии кодирования).

С конца 1997 года я стараюсь не работать с Windows; некоторые навыки пришлось припомнить пару лет назад в связи с проектом UNC0xx. В любом случае, в моём понимании программирование под Win — это только, и исключительно, MinGW. Об Visual Studio марать руки не стану ни за какие разумные деньги, обо всякие VB и иже с ними — тем более.

Srsly?

Я могу понять — академические изыскания. Я могу понять — обзорные лекции для неспециалистов. Но учить с таким подходом профессиональных программистов?
0
volum_separatum ,  
Спасибо за замечания, некоторые неосторожные моменты поправил.
Спорить по поводу взглядов автора на различные аспекты индустрии не собираюсь, в конце концов, это его мнение, я уверен, имеющее свои основания.
0
lair ,  
Проблема в том, что книга, позиционирующаяся как учебное пособие, должна оперировать не только мнением автора, но и реальным положением дел в индустрии. Когда Макконнелл пишет про какие-то принципы или факты — он дает ссылки на исследования и цитирует других людей. Когда Столяров пишет методическое пособие по «Оформлению программного кода» — он не дает ни одной ссылки (кроме единственного упоминания Буча).
0
lair ,  
Извините, не удержусь, еще одна цитата:

Единственным прибежищем программистов-любителей внезапно оказалась веб-разработка. К сожалению, начав в этой области, люди обычно ею же и заканчивают. Разница между скриптами, составляющими веб-сайты, и серьёзными программами столь же велика, как, например, между мопедом и карьерным самосвалом; [...] Веб-кодеры, как правило, называют себя программистами и часто даже получают неплохие деньги, не подозревая при этом, что такое настоящее программирование и что они для себя потеряли.
+1
+2 –1
alxdnlnko ,  
Типичный олдскульный активный преподаватель ВУЗа, которым восхищаются и ставят в пример студентам другие преподаватели (в силу своей технической безграмотности), что сильно подпитывает его ЧСВ. Видали таких. Сочиняют костыли на инструментах, которыми пользовались 20 лет назад, учат этому студентов, и — самое страшное — фанатично уверены, что это единственный верный путь, ведь «никто бы мной не восхищался, если бы я был неправ» :)
0
sferrka ,  
Конкретно, в случае этого преподавателя, ничего не могу сказать, но вообще за 20 лет парадигмы программирования не изменились. И если не смешивать обучение программированию и разработке для production, то инструменты тут не при чем.
+1
alxdnlnko ,  
При этом я предпочитаю не пользоваться STL, т.к. это затрудняет отладку и сопровождение

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

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

Это я к тому, что не каждый в итоге осознает, что это было лишь обучение парадигмам, не имеющим отношения к практике. Так что, все-таки, это проблема. :)
0
lair ,  
Вот только книга — она про профессию, а профессия — это «разработка для production ».

И да, парадигмы-то за 20 лет не изменились, но языки-то — изменились. Зачем учить на (не применимом в жизни) паскале, когда есть js и python?
+1
fsmoke ,  
«Тот, кто знает, тот делает, а кто не знает, тот учит других.» Б. Шоу