Технологии программирования

Dec 07, 2012 03:53

Знаете, я только на десятом году работы в индустрии разработки софта понял, что нельзя сравнивать некоторые технологии программирования, потому что контекст их рождения на свет был совершенно различным. Нельзя говорить, что Руби лучше Явы или PHP хуже ASPX. Не в смысле "лучше или хуже для этой задачи", как принято объяснять новобранцам, а вообще такие сравнения должны включать не только возможности языка, фреймворков и сред разработки, но и имидж в среде менеджеров, потенциал в отраслевой версии Bullshit Bingo и другие совершенно нетехнические характеристики.

Я бы разделил технологии программирования на три с половиной группы: академические, хакерские, энтерпрайз. И ламмерские. Это те, что были рождены как хакерские, не дозрели, захотели стать энтерпрайз, но тут их жизнью и побило при участии веб-программистов, делающих сайты по 6000р..

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

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

Тогда можно просто аккуратно написать ровно то, что нужно, просто удерживая в голове все сложные моменты и неукоснительно соблюдая простую и красивую архитектуру, которую ты понимаешь полностью, потому что придумал сам с чистого листа, и не собираешься забывать, потому что проект не затянется на 4 года и 6 смен команды. И тут программиста и начинает тянуть на хакерские технологии программирования, которые не прощают участия в проекте менеджеров и дураков, но зато позволяют выражать мысль чётко и быстро. Пока энтерпрайз-программист запускает среду разработки, хакер уже смотрит на логи от первого прогона.

Навеяно результатами деятельности исключения из перечисленных выше. Написано под прогресс-бар инсталлятора Python ;)
Previous post Next post
Up