Сознайтесь, кодеры!

В продолжение записи о том, чем отличается «любительский» подход к программированию от «профессионального». Я в комментариях утверждаю, что причина доминирования «любителей» в том, что большинство программистов — самоучки, и им просто незнакомы никакие подходы к разработке кроме простейшего — «как получится». В чуть облагороженном виде это «как получится» превращается в eXtreme Programming или какой-нибудь Getting Real. Ни о формализации процесса разработки ПО, ни о том, что комментарии в коде — это не «достаточная документация» самоучка представления не имеет. В самом «запущенном» случае «варящийся в собственном соку» программист может элементарно не знать классических алгоритмов или не понимать область видимости переменных в рекурсивно вызываемой функции.

Говорят, что даже на Физтехе, на Факультете Управления и Прикладной Математики — цитата:

у студентов-компьютерщиков … образовывалось в мозгу два островка понимания мира — физика и выученное самостоятельно программирование на Си. Между этими островками находился абсолютный вакуум, в котором иногда пролетали астероиды самостоятельно выученного ассемблера, популярных статей про векторые суперкомпьютеры в русском переводе журнала «Electronics» и подобные случайные вещи.

Я писал печальные вещи о том, как поставлено преподавание «околокомпьютерного» цикла (который входит в программу по специальности 010100 Математика, так что не надо говорить о его «непрофильности») на мехмате МГУ. В разнообразных отзывах на этот текст (довольно непредсказуемо для меня расползшийся по интернету) писали, что в Бауманке все немного лучше («драли за код, за гую, за непредусматривание ошибочных ситуаций»). Вроде бы все очень и очень неплохо на ВМК — настолько неплохо, что его выпускники идут работать в любые «околокомпьютерные» области, но только не программистами.

Так или иначе, многие «практикующие» программисты заканчивали отнюдь не ВМК или профильные факультеты МВТУ. А выпускники остальных ВУЗов нашей необъятной Родины, пытающиеся работать «программистами», скорее всего, никогда не сталкивались с тем, чтобы их «драли» за какие-то недоделки в программах в ходе обучения. Почему я делаю акцент на слове «драли»? Вовсе не из-за каких-то околофрейдистских комплексов, а из-за простого принципа — «за одного битого двух небитых дают». Программиста во время обучения не бьют — то есть не обращают внимания на ошибки, и свои шишки он набьет уже потом, в процессе работы. Просто так устроена сложившаяся система обучения.

А вот как учат будущих инженеров (из комментариев к ролику на Youtube — это БГТУ, зачет по курсу «Детали машин»):

Признавайтесь, программисты, докапывался ли кто-то до «уродств» в тех программах, которые вы писали в ВУЗе?

PS Меня макнули мордочкой в собственное дерьмо один (!) раз за все 2 (в школе) + 4 (в универе) года, и случилось это на втором курсе, когда В. В. Борисенко заболел, и его заменял А. И. Немытов. Я сдавал одну из задач по теме «Текстовый редактор«, преподаватель быстренько проверил, как у меня обрабатываются «граничные условия», продемонстрировал, что в этих случаях моя программа ведет себя некорректно, и объяснил, в чем суть ошибки. Больше я подобных случаев не помню.

Прапалитегу

Читал некий «комментарий» к новости о введении выборов губернаторов. Как и положено попазиционеру, комментатор хотел чем-то возмутиться — и нашел, чем. Оказывается, «для тех, кто смотрит телевизор, это выглядит так, будто Пу и Ме ввели выборы по доброй воле». Видимо, те, кто не смотрит телевизор, считают, что это — уступка митинговавшим на Болотной площади и проспекте Сахарова.

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

PS А еще могу дать урок двоемыслия — не надо радоваться «возврату прямых губернаторских выборов». Как известно, в Кремле ничего хорошего придумать не могут, и это решение — не исключение. Возврат выборов — это шаг к бардаку — в общем, повторяйте «пропутинские» тезисы двенадцатилетней давности, времен становления пресловутой «вертикали власти».