вторник, 24 ноября 2009 г.

[comp.prog.flame] Chromium OS и чистА функциональные языки

По мотивам вчерашней заметки подумалось: вот адепты функционального программирования увлеченно рассказывают про достоинства статически типизированных функциональных языков (в первую очередь OCaml и Haskell). Про то, как именно статическая типизация и типы помогают устранять ошибки и вообще, делать код выразительнее и компактнее.

А тут Google продвигает платформу, которая выведет Web-программирование на совершенно другой уровень. Где главную роль, по крайней мере на первом этапе, будет играть JavaScript. Динамически язык с прототипами вместо классов и интерфейсов, хотя и с функциями в качестве первоклассных сущностей и замыканиями.

Т.е. Google может создать, по сути, новую нишу в индустрии ПО (аналогичной нишей стала разработка приложений для мобильных телефонов). Нишу, в которой OCaml-ам с Haskell-ями делать будет нечего. Т.е. вообще нечего, если только они не научатся компилироваться в JavaScript.

В общем, победа функционального программирования становится все более очевидной и безоговорочной ;)

PS. Данный текст можно воспринимать как шутку, в которой есть только доля шутки ;)

6 комментариев:

Rustam комментирует...

Т.е. вообще нечего, если только они не научатся компилироваться в JavaScript.

OCaml уже умеет http://www.pps.jussieu.fr/~canou/obrowser/tutorial/ :)

Правда не компилировать а VM написанная на JS.

Компилятор тоже есть, но пока не весь язык подерживает http://code.google.com/p/ocamljs/

Ну и генерацию кода на JavaScript тоже никто ни отменял.

Кроме того серверные приложения можно писать на чем угодно.

Анонимный комментирует...

Компилировать в JS не так сложно, он достаточно прост и удобен для этого. А вот interoperability - это будет редкий адъ

eao197 комментирует...

>Правда не компилировать а VM написанная на JS.

Забавно. Интересно, какая скорость будет у OCaml-программы, которая будет выполняться VM на JS, который в свою очередь будет выполняться браузером :)

>Кроме того серверные приложения можно писать на чем угодно.

О серверных приложениях речь не идет.

eao197 комментирует...

>А вот interoperability - это будет редкий адъ

Рискну предположить, что и отладка OCaml-овского кода, оттранслированного в JS, так же будет не сахар.

Rustam комментирует...

Я все это только мельком смотрел, так что на вопросы вряд-ли отвечу. Но то что уже существуют и компилятор и VM показывает что при необходимости все разрешимо.

eao197 комментирует...

>Но то что уже существуют и компилятор и VM показывает что при необходимости все разрешимо.

Разрешимо. А возникнет ли необходимость -- будем посмотреть.