Компьютерра, 2007 № 19 (687) | страница 39



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

Ценны и те и другие. Но жизнь у них – разная.


Платформы и платформочки

Все вышеперечисленные примеры «недо-программ» (написанных недо-программистами?) приведены, естественно, не для того, чтобы поплакаться об упадке профессии и уровня тех, кто в ней подвизается. Напротив – автор смотрит на происходящее со сдержанным оптимизмом.

Что объединяет расширения Firefox, виджеты Google Desktop, Flash-игрушки? Главным образом – доступность. Она достигается за счет «несерьезного подхода к программированию», отталкивающегося от простой (но новой) идеи и красивого дизайна [Большинство пользователей новых виджетов и сервисов относятся к категории early adopters, энтузиастов; но это уже другие early adopters чем те, кто поддерживал ИТ-прогресс, скажем, лет 15 назад. Это уже не опытные технари, а как бы «простые» пользователи, которым не нужно много возможностей, но нужны «фишечки» (они готовы терпеть скорее здоровски прорисованный сервис с единственной функцией, нежели мощный двигатель в уродливом корпусе)]: разметка, стиль, иконки, ну и пара строк кода. Это, конечно, утрировано – штука вроде Firebug содержит несколько больше, чем «пару строчек кода» – но показывает суть: внешнему виду уделяется внимание на ранних этапах разработки, а код максимально «предметен», оставляя все служебные задачи (управление соединениями, контроль безопасности, высвобождение памяти, конвертацию данных) на долю «платформы»[То есть, соответственно, Firefox’а, Google Desktop’а и т. п.]. Входная планка для прото-программиста резко снижается: не нужно особо заботиться ни об ошибках, ни о сохранности пользовательских данных – ничего критичнее «соединение не может быть установлено» «платформа» сделать просто не позволит; не нужно даже глубоко знать и понимать язык разработки, достаточно иметь справку по нескольким необходимым командам.