Комментарии 13
Возьмите любую область науки и соответствующую ей инженерную. Практически везде в теории все гладко и красиво, а у инженеров вдруг все становится "обычно" и "как правило".
Любая теория строится на допущениях: где-то они более грубы где-то менее, но так или иначе инженер только на базе теории получит не более чем великолепный проект (который при вводе в эксплуатацию окажется нерабочим)
Сало кого волнуетнаверное опечатка, хотя наверное кого-то волнует и сало.
В программировании, кроме «нарисуй мне линию с координатами x, толщиной y», есть «нарисуйте 7 парралельный перпендикулярных линий, и одна в форме котенка...»
В математике есть формулы, которыми полностью отражается то, что хочет сказать математик в своих выводах.
В программировании полная документация, которая описывает все, что нужно выполнять программе — это сам код. И он невероятно далек от изначального ТЗ.
В общем основные выводы в статье и так очевидны…
К примеру, у меня на собеседовании дали задачу: есть чайник, газовая плита, коробок спичек, кран с водой. Вскипятите чайник.
Так вот, я не смог вскипятить чайник.
Я забыл про атмосферное давление. Температура кипения в горах ниже 100 градусов, которые были четко заданы.
Я корректно проверил наличие спичек в коробке, наличие воды в чайнике и в кране, я думал, что предусмотрел все…
Очередная тема, в которой китаец-математик, рассказывает о том, что с палочками-функциональном программированием всем будет лучше.Программирование, это инженерия, где каждый блок кода, эта кирпичик. Кирпичики можно чередовать, как угодно, а это означает, что одну и туже задачу можно решить множеством способов. Но если кому-то тошно от обилия вариантов, то нужно не менять парадигмы, а ограничивать
варианты поднимаясь выше и выше при создании фраймворка или языка.
Странно что человеку хотят навязать математический образ мышления машины.
А тем временем, один из создателей UML упорно пилит очередную таблетку от всего, которая решит все наши проблемы ещё раз:
В настоящее время Якобсон возглавляет проект SEMAT, посвящённый созданию единой теории, способной стать фундаментальным научным основанием для процесса разработки программного обеспечения. Ядро SEMAT было одобрено комитетом по стандартизации OMG и принято как свободный стандарт. Активно продвигает инициативу и принимает участие в написании статьи в английской Википедии, посвящённых проекту.
https://ru.wikipedia.org/wiki/Якобсон,_Ивар
https://en.wikipedia.org/wiki/SEMAT
http://semat.org/
Т.е. мы переходим от технической специальности к гуманитарной, в которой всего лишь запомнить что где лежит и как называется (это я про фреймворки, ангуляры, реакты и т.п.). Также, это переход от создания к использованию, что само по себе ставит прикладных программистов и задачи, ими решаемые, на качественно более низкий уровень.
Порог вхождения в программирование стремительно падает. Хорошо это или плохо покажет время.
В вебе. например, куча людей, которые думают, что если пишут с помощью JQuery, то знают javascript. Те, кто занимаются вёрсткой, обычно, не знают как происходит рендер страницы. Те, кто пишут на C#, частенько не вникают в особенности работы компилятора. И так можно продолжать еще очень долго.
Пока что конца света не случилось.
Это дело не в новичках, а в Вас. Вы просто перестали понимать, кто есть новичок.
Связанно это с тем, что информация стала очень разжеванной и доступной. Поэтому
на то, на что раньше уходили десятилетия, сегодня требуется недели.
Вот и получается, что сегодня нужно причислять к новичкам тех, кто не знает тонкостей компиляции,
а все остальное, они за считанные дни впитывают. Как учителя дотянутся до уровня компиляторов,
так и для новичков нужно будет новые критерия подбирать.
Программирование ≠ информатика