Программирование как алхимия и немного о серебрянной пуле

Aug 27, 2011 02:57

Замечаю такую закономерность. По отношению к другим, да и к себе тоже. Программировать интересно тогда, покуда оно напоминает какую-нибудь магию или алхимию.

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

И это, похоже, крутится постоянно по кругу. Начинали программировать с байт-кодов и ассемблера. Книжки-справочники команд, толстенные, узкий круг посвященных, длительная учеба. Магия.

Постепено наклепали библиотек, функций, все вроде стало более-менее рутинно - сиди и складывай кубики. Потом - бац! И вышли на новую ступень - языки высокого уровня. Одну строчку написал - и словно по волшебству оно опять работает. Там где раньше надо было писать тонны кода.

Но однострочные примеры для развлечения публики (и малополезные для реальной жизни) быстро заканчиваются и снова начинается переход от магии к инженерии - дизайн, ООП, еще больше библиотек, паттерны, процессы разработки ПО... Кажется, еще чуть-чуть и все что угодно можно будет запрограммировать так, что и фантастам не снилось. Только вбрасывай человеко-часы и бабло.

Упираемся. Не работает. Вавилонская башня - сложность системы, множество людей, невозможно отследить связи, никто не помнит всех деталей, эволюционное развитие и мешанина функционала...

И снова переходим на новый уровень. А что если UI описывать не кодом, а разметкой? А что, если программа станет сайтом в интернете? Пару строчек - бац! И форма готова. Еще пару строчек - и еще одна страница готова. Снова поднимается волна энтузиазма и популятрности.

Затем снова упираемся в серверную часть... А что если сделать поддержку БД на уровне языка? А что если генерировать шаблон программы с правильными паттернами прямо из IDE?

Новая школа пишет "rails new myapp" и получает волшебство. Результат, который раньше усердно писали монахи в кельях на протяжении человеко-дней, или копировали из проекта в проект по заветам мудрых старейшин (которые мало кто понимал и помнил откуда они взялись).

Web-UI для телефонов и ПК, модули для общения программ друг с другом, генераторы приложений... Старые знания бесполезны, встречайте новых Гарри Поттеров и Гермион. Плевать они хотели на ваши знания MFC и GDI. Им еще предстоит изобрести новые паттерны и написать свои толстые книги заклинаний и рецептов.

Но это потом. А сейчас - начало очередного витка, огонь в руках и новые звезды в глазах. Программировать снова интересно! "Ени-бени-раба! И мысленно щелкнуть хвостом."

life, thoughts, work, programming

Previous post Next post
Up