November 29th, 2012

vit_r

Про функциональное программирование и прочие извращения

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

Программирование в подавляющем большинстве случаев - скучная рутина, а людям хочется творчества и самовыражения. В результате они делают всё возможное, чтобы результат не (просто) работал, а ярко демонстрировал крутизну и оригинальность его создателя.


Этот принцип работает везде и на всех уровнях.

Студенты и учёные, которые сидят на языках и пишут книжки, прославляют «изящные решения, которые компактно и красиво решают задачу», правда требуют десяти страниц подробных объяснений. И не факт, что Раджниш, который будет «добавлять небольшие изменения» в скопированный из гениального учебника рабочий код, знает о последнем условии.

Программисты, вылезшие в менеджеры, обставляют себя хитроумными тулами и начинают при каждом удобном случае произносить заклинания вроде «Lean», «Kanban», «Scrum», «CMMI», «ISO/IEC 15504». При удачном раскладе они прячутся за ними так надёжно, что якобы подчинённые не видят их неделями. А если случайно и встретят, не в состоянии понять смысл руководящих указаний.

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

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

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

Чтоб не заканчивать на грустном: в очередной серии Chu-2 авторы опять выдали прекрасное, создав в десятке секунд выброс адреналина объёмом, не доступном для занудных дорогущих и приправленных спецэффектами погонь Голливуда. Хотел бы я уметь так делать сюжеты.
vit_r

Итог недели

У меня сегодня пятница.

Конец недели, конец месяца, конец квартала и конец года. Надеюсь, в декабрь всё-таки ничего не влезет. По крайней мере, ничего крупного.

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

Конечно, можно самому потрепыхаться и попытаться организовать. Тем более понятно, что нужно делать и в какие двери стучать. Но как-то влом дёргаться в немецкой вязкой корпоративной среде. В Берлине бурление, но дурное. Юноши с горящими глазами открывают копии американских стартапов, сидя на стипендии от биржи труда. На юге деньги, но это от меня шесть часов на поезде или час на самолёте.

А ещё понял, что устал от митингов и бумажек настолько, что отдыхаю, просто вновь дорвавшись до кодирования. Хорошо бы для разнообразия сунуться в scrum юниор-девелопером куда-нибудь в район Кёльна. Но, подозреваю, замаскироваться на таком уровне мне не удастся.

Смотрю сейчас картинки в одной папочке с побочными продуктами. Кажется, удалось найти золотой ключик. Если будет не влом, завтра напишу пару слов.