Monday, October 23, 2006

Поколения программистов

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

Взять хотя бы тот же Дельфи. В свое время он произвел революцию в построении бизнес-приложений разбиением доступа на data-aware компоненты, datasets и datasource. Метай себе компоненты, соединяй в три клика, пиши SQL запросы - красота.
Я хорошо помню зубров FoxPro и Clipper, которые возмущались непонятными датасетами и предрекали скорую кончину этим новомодным штучкам.
Кончина настигла другие продукты, а идея компоновать бизнес-приложения из датасетов была признана всеми производителями девелоперского софта.
Однако прошло 10 лет и датасеты всем приелись. Маркетологи требовали чего нибудь нового - "Пользователям нужно давать новое!"... Да, наверное так и исчезли 140-вые мерседесы :(.
И вот в Delphi появилась технология ECO. Собственно, это реализация Persistent Layer плюс среда для разработки приложений. На самом деле, это просто мечта программиста-лентяя - она сама синхронизирует поля данных, сама связывается с источниками данных, генерит весь код по обмену и синхронизации data компонентов (т.е. в классическом датасетном подходе, если у Вас документ лежал в master-detail-subdetail и трех гридах/каскадах компонентов, то в OnCommit, OnChange и т.д. иногда создавались просто удивительные конструкции по синхронизации коммитов-откатов, а ECO все это делается автоматом).
Т.е. кидай бизнес-классы, морщи лоб и все работает. Никаких тебе глюков из-за того что забыл имя столбца вставить, да и в чужом коде разобраться на порядок проще – графика все же, а не код.
Но задуманная как замена датасетам, ЕСО не пошла. И не пошла по простой причине - там применяется пара новых концепций вроде Persistent Layer - и датсетникам уже влом это изучать, им и на датасетах хорошо. Ведь нужно обязательно почитать доку и пример чтобы что-то сделать на ECO, а кто ж читает хелпы? Только студенты, да и то когда их туда ткнешь.
И фиолетово, на ECO можно слабать приложение гораздо быстрее и при этом не парясь по поводу всяких мелких отравляющих жизнь деталей.

С одной стороны, если приложение написано и работает, то и трогать нечего. С другой стороны, цикл бизнес-приложения это 5-8 лет, и начинать переписывать или разрабатывать приложения на старой технологии.... Это то же самое, что на Fox Pro 2.0 начать писать приложение в 2000 году.

Похоже, опять будет смена поколения программистов, и старые «датасетники» уступят место «есошникам», как когда то фокспровцы сдались им самим.
Если вспомнить Поппера, то в науке революции происходят когда старое поколение спроваживают на пенсию :) Идем к тому же? Неужели за свою жизнь программист сможет освоить лишь несколько новых идей, а потом становится консерватором на всю оставшуюся жизнь?

PS Кто не Дельфист, можете помотать головой, выпить рюмку водки и идти спать - все это фигня по сравнению с мировой революцией :)

Post a Comment