June 22nd, 2012

flow

Пятничное

Программирование в большинстве случаев штука тупая и унылая. Так как именно такими являются автоматизируемые предметные области. Более 90% поставляемых продуктов и сервисов это "программная поддержка переноса воды в решете".

Но здесь на помощь приходят языки программирования и иные развлекательные инструменты. Очень мало языков созданы чисто для увеличения productivity. Из таких можно вспомнить C и Turbo Pascal (в отличие от идейно-огороженогоучебного виртовского Pascal, на базе которого он создавался). В большинстве случаев поставляются Идея и Мифология (цирк и клоуны - по вкусу). Первично соответствие какому-то набору верований внутри парадигмы, functional programming, object oriented programming, без разницы. Повышение productivity - побочный эффект, которым жертвуют, если он где-то не совместим с великой идеей. Как авторы языка/библиотек, так и некоторые пользователи, желающие "писать идиоматично". А нейтральным относительно идеи и мифологии вещам (вроде развития модульной системы) внимание не уделяется.

Идее можно поклоняться, обширную мифологию изучать. Так токсичность предметной области компенсируют удовольствием от самообразования, исследований, а то и научной работы. В процессе могут возникать дополнительные продукты. У одних получается глубокомысленный пост на хабре "Как правельно песать на PHP под вордпресс", у других мини-книжка "10 сверхновых заплаток для Java", у следующих диссертация "Перевод метана в матан с использованием языка Haskell" (и в этом случае даже есть шанс на полезность, в отличие от).

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

"Так идёт за годом год...", в предметных областях гадюшник, программисты самоудовлетворяются, все счастливы, HAPPY END.