По мотивам вчерашней заметки подумалось: вот адепты функционального программирования увлеченно рассказывают про достоинства статически типизированных функциональных языков (в первую очередь OCaml и Haskell). Про то, как именно статическая типизация и типы помогают устранять ошибки и вообще, делать код выразительнее и компактнее.
А тут Google продвигает платформу, которая выведет Web-программирование на совершенно другой уровень. Где главную роль, по крайней мере на первом этапе, будет играть JavaScript. Динамически язык с прототипами вместо классов и интерфейсов, хотя и с функциями в качестве первоклассных сущностей и замыканиями.
Т.е. Google может создать, по сути, новую нишу в индустрии ПО (аналогичной нишей стала разработка приложений для мобильных телефонов). Нишу, в которой OCaml-ам с Haskell-ями делать будет нечего. Т.е. вообще нечего, если только они не научатся компилироваться в JavaScript.
В общем, победа функционального программирования становится все более очевидной и безоговорочной ;)
PS. Данный текст можно воспринимать как шутку, в которой есть только доля шутки ;)
Т.е. вообще нечего, если только они не научатся компилироваться в JavaScript.
ОтветитьУдалитьOCaml уже умеет http://www.pps.jussieu.fr/~canou/obrowser/tutorial/ :)
Правда не компилировать а VM написанная на JS.
Компилятор тоже есть, но пока не весь язык подерживает http://code.google.com/p/ocamljs/
Ну и генерацию кода на JavaScript тоже никто ни отменял.
Кроме того серверные приложения можно писать на чем угодно.
Компилировать в JS не так сложно, он достаточно прост и удобен для этого. А вот interoperability - это будет редкий адъ
ОтветитьУдалить>Правда не компилировать а VM написанная на JS.
ОтветитьУдалитьЗабавно. Интересно, какая скорость будет у OCaml-программы, которая будет выполняться VM на JS, который в свою очередь будет выполняться браузером :)
>Кроме того серверные приложения можно писать на чем угодно.
О серверных приложениях речь не идет.
>А вот interoperability - это будет редкий адъ
ОтветитьУдалитьРискну предположить, что и отладка OCaml-овского кода, оттранслированного в JS, так же будет не сахар.
Я все это только мельком смотрел, так что на вопросы вряд-ли отвечу. Но то что уже существуют и компилятор и VM показывает что при необходимости все разрешимо.
ОтветитьУдалить>Но то что уже существуют и компилятор и VM показывает что при необходимости все разрешимо.
ОтветитьУдалитьРазрешимо. А возникнет ли необходимость -- будем посмотреть.