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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    ОтветитьУдалить
  4. >А вот interoperability - это будет редкий адъ

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

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

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

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

    ОтветитьУдалить