воскресенье, 8 марта 2015 г.

Почему люди не хотят учиться функциональному программированию?

Для меня любой код на императивном языке уже давно стал синонимом слова "говнокод". Открывая исходники любой библиотеки, скажем, на Java, я вижу говнокод. Да, бывает разной степени качества код, но даже самый-самый лучший код на императивном языке в любом случае плох. Т.е. если ты, читатель, пишешь на императивном языке, то ты говнокодер. Запомни это.
Есть небольшое исключение из этого правила - критичные для производительности места в коде, которые ну никак нельзя написать функционально, чтобы при этом получилось быстро. Но в типичном проекте такого кода, как правило, немного. В остальных случаях нет и не может быть никакого оправдания писать на императивном языке.
Хорошо. Теперь разберёмся, почему люди не хотят учиться функциональному программированию.
Ответ прост. Причина точно такая же, как и со стариками, которые не хотят учиться пользоваться компьютером. Для них это совершенно новый неизвестный прибор с непонятными кнопками, иконками, папками, ярлыками, интернетами. Научиться этим пользоваться - это немало усилий надо приложить. К тому же зачем нужен компьютер, если всё и так можно узнать из телевизора и газет?
Императивные программисты думают точно так же. Учить ФП язык - это ж сколько времени и сил нужно потратить? И, главное, зачем учить эти ваши монады, когда можно всё то же самое написать на Java?
Таким образом, императивные программисты они подобны старикам, не желающим учиться пользоваться компьютером.
Т.е. что мы имеем в итоге: толпа хомячков продолжает писать тонны говнокода и тормозит развитие IT-индустрии из-за своей лени и слабоумия. Тогда у меня возникает вопрос - может, это, вон из профессии, а? Ну или менее радикальный вариант - идите в менеджеры, что ли, раз не хотите учиться.