Журнал «Компьютерра» N 8 от 27 февраля 2007 года
Шрифт:
Предпринималось достаточно попыток приблизиться к практике, оставаясь в рамках господства «истинных концепций», - от ML-производной с поддержкой объектов и императивности OCaml до отдаленного потомка Smalltalk/Self - io, преподносимого как язык легкий и стройный, идеальный для встраивания. Да и многие языки Lisp’овой семьи (в том числе сам Common Lisp), наверное, можно причислить к «постмодернистским» по богатству концепций и стремлению к практичности.
Очередная волна шумихи вокруг «нового веба» тоже не осталась незамеченной - здесь можно отметить такие проекты, как Hop от французского института INRIA (родины OCaml) и Links (им занимается Phil Wadler, некогда концептуальный архитектор Haskell), цель которых - свести разработку веб-приложений к
Тем не менее пока все эти инициативы в основном «для своих», то есть апологетов модернизма, желающих «сделать что-нибудь практичное». Говорить о серьезном проникновении в мэйнстрим языков с понятиями и синтаксисом, в корне отличным от старичка Алгола, пока рано.
Ключевое слово в последней фразе предыдущего раздела - пока. Старая императивная модель пока ограничивает восприятие, но эти ограничения с каждым днем уменьшаются. По мере проникновения некогда странных идей «в подкорку», в базовый набор понятий современного программиста расклады могут сильно меняться. К примеру, помимо заметной миграции веб-программистов с Java на Python и Ruby, существует не слишком большая, но устойчивая миграция с Ruby на Smalltalk: когда идея «все есть объект» становится привычной и родной, то некоторые очевидные преимущества Smalltalk (вроде прекрасной среды, особенно для экспериментаторов и творческих личностей) начинают перевешивать мнимый недостаток - «непривычность». Точно так же, после привыкания к основополагающей идее «функция - наше все» на очевидных и простых примерах, многие мэйнстрим-программисты куда благосклоннее начинают смотреть если не на Haskell, то по крайней мере на OCaml и Erlang.
К чему приведет такое «смешение языков» в течение ближайших лет, при нынешних скоростях возникновения идей-суперзвезд, сказать трудно. Быть может, Erlang, отделавшись от репутации «странного до идиотизма», вскоре займет соответствующее место в «гонке платформ» .Net/Java (учитывая, что за платформой Erlang/OTP стоит сильная и амбициозная корпорация, хотя и не слишком заинтересованная в рынке платформ - пока?). Не исключено, что набор тенденций, называемый «Web 2.0», вызовет к жизни другую клиентскую платформу, заметно отличающуюся от сегодняшних браузеров (вспомним, что браузер изначально - таки ж программа для просмотра, а не для работы со сложными приложениями): в ней может быть снято ограничение на клиентский язык [Сегодня это де-факто только JavaScript - который тоже ох как непрост (см.врезку «СНЯПМ»)], и это породит новую гонку языков. А может быть, послезавтра вообще появится нечто существенно отличное от веба. Или, опять же, прилетят инопланетяне и всех завоюют.
Одно ясно: мы живем в эпоху победившего постмодернизма. И здесь случается всякое. Следите за рекламой.
СНЯПМ - «самый недооцененный язык программирования в мире» - распространенное шуточное название JavaScript. Его сугубо прикладное направление (как языка программирования, работающего в браузере) стало серьезной преградой к оценке концепций языка по достоинству. Распространенное мнение - «это такой недоязык, в нем и классов-то нормальных нету»; между тем JavaScript как самостоятельный язык - яркий и небезынтересный представитель семейства «прототипно-ориентированных» языков (вместе с диалектом Smalltalk’а Self и современным io), с поддержкой функционального программирования; то, что синтаксически язык относится к C-образным языкам, - чуть ли не единственное, что роднит его с «классическими» системами программирования.
Впрочем, в последнее время, на волне интереса к «богатым» интерфейсам веб-приложений и AJAX (ну и, ясное дело, наступившего постмодернизма), репутация этого занятного языка постепенно начала укрепляться.
КАФЕДРА ВАННАХА: Прецедент Эдипа
Автор: Ваннах Михаил
Об эдиповом комплексе знает всякий, взросший в лоне современной западной культуры. Но вот подлинная история Эдипа, та, о которой нам поведали Софокл в трагедии «Царь Эдип» и Аполлодор в «Мифологической библиотеке», создает интереснейший и важнейший прецедент для информационных технологий.
Итак, Сфинкс, aka Сфинга. Матерью этой барышни была полудева-полузмея Ехидна. Папой - Тифон, чудовище с сотней драконьих голов, человеческим торсом и змеиными кольцами вместо ног. Братьями и сестрами - чудовищные собаки Кербер и Орф, лернейская гидра, химера.
Сама Сфинкс в результате сложной игры рецессивных и доминантных генов имела лицо и грудь женщины, тело льва и крылья птицы. Имя красавицы обычно выводят из греческого глагола «сжимать», «удушать», откуда происходят и «сфинктеры».
Это чудовище использовалось Герой, супругой Зевса в качестве правопринудителя. (Подобно тому, как полиции всех стран и времен используют «ссучившихся» уголовников для борьбы с преступностью.) Объектом деятельности Сфинкса стали семивратные Фивы, город основанный Кадмом в Беотии.
Поводом для правопринудительной деятельности послужило деяние царя Фив Лая, а именно растление им юного Хрисиппа [Schol. Eur. Phoen. 1760.]. (Как всегда, когда речь идет об элитах, дело не обошлось без сексуальной психопатологии…) А протекала карательная работа Сфинги весьма своеобразно. Расположившись у стен Фив на горе Сфингионе, Сфинкс задавала прохожим вопрос: «Скажи мне, кто ходит утром на четырех ногах, днем на двух, а вечером на трех? Никто из всех существ не изменяется так, как он. Когда ходит он на четырех ногах, тогда меньше всего у него сил, и медленнее двигается он, чем в другое время».
Поскольку путники все как один разрешить эту загадку не могли, то дружно гибли в железных объятиях Сфинги. Так что мы можем отметить - Сфинкс была использована как первый в истории случай smart bomb, «умной бомбы». Она была задействована для нарушения коммуникаций семивратных Фив, функционируя в строго локализованном регионе. Она имела изощренную систему «friend or foe», опознавания «свой-чужой». Признак опознавания просто великолепен - он передается по естественному, голосовому каналу коммуникации. Он сформулирован на естественном языке. И, требуя довольно развитого мышления, он весьма устойчив.
Получилось все так, как планировала Гера. Народ семивратных Фив страдал от деятельности Сфинкс, мстившей за преступления своего царя Лая. Примерно так, как жители Дрездена сгорали в огненном шторме, расплачиваясь за деяния А.Гитлера. Обратим внимание - разумность Сфинги превышала IQ любой современной системы оружия, но гражданское население страдало все равно - этот урок стоит помнить и политикам, ведущим самую, что ни на есть справедливую, войну, так и подданным правителей, действия которых могут привести жителей к малоприятным знакомствам с умным оружием.
Согласно классической версии Эдип освободил народ семивратных Фив от Сфинкс, дав ей ответ - «Это - человек. В детстве, зрелости, старости». После этого Сфинкс, взмахнув крыльями, бросилась со скалы в море. Принято считать - богами было предрешено, что Сфинкс должна погибнуть, если кто-либо разрешит ее загадку. Формально все так и было - запрограммированные действия после приема идентификационного кода.
Но очень странно, почему никто из схолиастов, ученых, изучающих наследие Эллады, не обратил внимания на тот факт, что перед диалогом со Сфинкс, приведшем к самоубийству последней, Эдип совершил одно действие.