Журнал «Компьютерра» № 8 от 27 февраля 2007 года | страница 46
Тем не менее пока все эти инициативы в основном «для своих», то есть апологетов модернизма, желающих «сделать что-нибудь практичное». Говорить о серьезном проникновении в мэйнстрим языков с понятиями и синтаксисом, в корне отличным от старичка Алгола, пока рано.
Ключевое слово в последней фразе предыдущего раздела — пока. Старая императивная модель пока ограничивает восприятие, но эти ограничения с каждым днем уменьшаются. По мере проникновения некогда странных идей «в подкорку», в базовый набор понятий современного программиста расклады могут сильно меняться. К примеру, помимо заметной миграции веб-программистов с Java на Python и Ruby, существует не слишком большая, но устойчивая миграция с Ruby на Smalltalk: когда идея «все есть объект» становится привычной и родной, то некоторые очевидные преимущества Smalltalk (вроде прекрасной среды, особенно для экспериментаторов и творческих личностей) начинают перевешивать мнимый недостаток — «непривычность». Точно так же, после привыкания к основополагающей идее «функция — наше все» на очевидных и простых примерах, многие мэйнстрим-программисты куда благосклоннее начинают смотреть если не на Haskell, то по крайней мере на OCaml и Erlang.
К чему приведет такое «смешение языков» в течение ближайших лет, при нынешних скоростях возникновения идей-суперзвезд, сказать трудно. Быть может, Erlang, отделавшись от репутации «странного до идиотизма», вскоре займет соответствующее место в «гонке платформ» .Net/Java (учитывая, что за платформой Erlang/OTP стоит сильная и амбициозная корпорация, хотя и не слишком заинтересованная в рынке платформ — пока?). Не исключено, что набор тенденций, называемый «Web 2.0», вызовет к жизни другую клиентскую платформу, заметно отличающуюся от сегодняшних браузеров (вспомним, что браузер изначально — таки ж программа для просмотра, а не для работы со сложными приложениями): в ней может быть снято ограничение на клиентский язык [Сегодня это де-факто только JavaScript — который тоже ох как непрост (см.врезку «СНЯПМ»)], и это породит новую гонку языков. А может быть, послезавтра вообще появится нечто существенно отличное от веба. Или, опять же, прилетят инопланетяне и всех завоюют.
Одно ясно: мы живем в эпоху победившего постмодернизма. И здесь случается всякое. Следите за рекламой.
СНЯПМ — «самый недооцененный язык программирования в мире» — распространенное шуточное название JavaScript. Его сугубо прикладное направление (как языка программирования, работающего в браузере) стало серьезной преградой к оценке концепций языка по достоинству. Распространенное мнение — «это такой недоязык, в нем и классов-то нормальных нету»; между тем JavaScript как самостоятельный язык — яркий и небезынтересный представитель семейства «прототипно-ориентированных» языков (вместе с диалектом Smalltalk’а Self и современным io), с поддержкой функционального программирования; то, что синтаксически язык относится к C-образным языкам, — чуть ли не единственное, что роднит его с «классическими» системами программирования.