Компьютерра, 2007 № 19 (687) | страница 36
Как бы то ни было, современные пользовательские окружения – графический интерфейс, большинство задач выполняется мышью, средства разработки и соответствующая документация с операционкой не поставляются [Последнее, конечно, относится только к ОС семейства Windows. Тем не менее общая культура «среднего пользователя» похоже устроена и на Маках, а до некоторой степени– и на современных Linux’ах с их мимикрией под «мэйнстрим»] – «программирование любой домохозяйкой» по меньшей мере не поощряют. Домохозяйки, однако, как-то выкручиваются.
Нет, конечно, все подряд домохозяйки – тьфу-тьфу! – пока не программируют. Но граница между «профессиональным программистом» и «пользователем, который слегка программирует», с каждым днем становится все менее четкой. Первые, разумеется, смотрят на последних свысока; но и друг с другом договориться о том, кто «более настоящий», часто не в силах.
Взять, к примеру, веб-программирование. Еще лет пять назад все было, в общем-то, понятно: веб-дизайнер – не программист. Веб был набором (почти) статических текстовых страниц и (как бы) динамических форумов-гестбуков; других «веб-приложений» мы не знали. Не то теперь. Создатели GMail’а (даже если брать только его клиентскую часть, пользовательский интерфейс) и десятков последовавших за ним сервисов определенно требуют с собой считаться. Оставляя за бортом полезность и сиюсекундную применимость онлайновых текстовых процессоров и электронных таблиц, признаем, что разработку их пользовательского интерфейса и логики ни в коем случае не назовешь «только дизайном» [Еще раз подчеркну– я говорю о том, насколько современные веб-приложения отличаются от простейшего изначального поведения в вебе: «можно прочитать; можно написать; всё»].
А вот разработчиков Гугла и так все согласны считать «настоящими программистами». Но как называть и куда относить авторов тысяч суперсовременных Web2-сервисов, которые сделаны буквально за-недельку-на-коленке, работают на хостинге ценой в пиво, используют данные из десятка других открытых сервисов – и при всем при том такое «приложение» вполне полезно и более того, десктопного аналога вообще не имеет? Что здесь важнее – «сколько труда и денег затратил автор?» или «насколько полезно получилось?». А если «автор» вообще не программировал, а лишь построил web mashup (помесь сервисов) при помощи Yahoo! Pipes, – он кто?
Дальше – смешнее. Как насчет концепции User JavaScript – маленьких скриптов, установленных в браузере, которые изменяют загруженные сайты по желанию клиента[Насколько известно автору, впервые концепция была реализована в расширении GreaseMonkey для Firefox; на данный момент схожие возможности есть и в Opera (из коробки), и в IE (GreasemonkIE, Trixie, Turnabout), и в Safari (Creammonkey, PithHelmet)]? Считать ли эту «скриптографию» программированием, а их авторов – программистами? А – более серьезно – если вспомнить всевозможные расширения для того же Firefox, которые варьируются от одной-двух кнопок (например, «загрузить все картинки на этой странице») до сущностей, которые превращают браузер в Something Completely Different (например, в универсальный веб-отладчик, как Firebug, или в инструмент сбора и каталогизации научной информации, как Zotero). Кстати, технологии здесь – всё те же «презренные вебдизайнерские игрушки» – язык разметки (правда, XUL, а не HTML) да JavaScript.