Временами складывается впечатление, что сейчас только ленивый не создает и не продвигает собственные языки программирования. Вот недавно прошла конференция OSCON 2010, в рамках состоялся Emerging Languages Camp, где обсуждались следующие новые (и не очень) языки программирования:
- AmbientTalk – язык, который поддерживает какую-то новую парадигму – ambient-oriented programming. Вроде бы предназначен для разработки приложений, которые вынуждены работать сразу на нескольких мобильных устройствах в ненадежной сетевой среде;
- BitC – относительно новый низкоуровневый, но очень-очень безопасный язык для системного программирования;
- Clojure – очередная реинкарнация Lisp-а, на этот раз для JVM (нужно заметить, что о Clojure сейчас очень много говорят, а применяют, думаю, намного реже);
- CoffeeScript – язык, который транслируется в JavaScript;
- Coherence – какой-то новый язык, как я понимаю, со встроенной поддержкой конкурентности;
- Cola – статически-типизированный язык, который компилируется в .NET или в Parrot VM;
- D – много обещавший когда-то нынешний долгострой;
- F# – раскрученная благодаря MS производная от OCaml-а на .NET;
- Factor – еще один новый функциональный язык, ориентированный на высокую производительность;
- Fancy – какой-то язык, с похожим на Ruby и Smalltalk синтаксисом;
- Frink – язык и система для вычислений;
- Go – ну куда же без самого обещающего нативного языка последнего времени, да еще от Google ;)
- Gosu – еще какой-то язык, чей сайт у меня сегодня не открылся вообще. Поэтому что это за зверь совершенно не понятно :)
- Io – не новый язык с прототипным ООП и собственной VM;
- Ioke – еще один язык для JVM от еще одного разработчика JRuby, вобрал в себя идеи из Io, Smalltalk, Lisp и Ruby;
- Kodu – язык для визуального программирования игр от MS Research;
- Mirah – бывший Duby, новый язык от одного из разработчиков JRuby. Ruby-новый синтаксис, но статическая типизация и генерация быстрого Java-байткода;
- Newspeak – новый язык, который пытается брать идеи из Self, Smalltalk и Beta;
- Noop – новый язык, который, если мне отшибает память, пару лет назад начали разрабатывать Google-овцы. Ориентирован на JVM;
- Objective-J – язык и фреймворк для разработки Web-приложений без необходимости знать о HTML, CSS и прочей лабуды;
- ooc – статически-типизированный современный мультипарадигменный язык, транслирующийся в C-шный код.
- Slate – прототипный ОО язык, берущий идеи из Self, Smalltalk и CLOS;
- Stratified JavaScript – расширение JavaScript для более мощной поддержки конкурентности;
- Thyrd – еще один язык для визуального программирования;
- Tyron – какой-то язык, синтаксис которого является помесью Python и Smalltak;
- Ur – новый функциональный язык, который, по заверениям авторов, имеет более мощную систему типов, чем Haskell;
Если добавить сюда еще и Zimbu, Groovy с Groovy++, а так же Lisaac, то знатный зоопарк новых языков получается. Не знаю кто что думает, но когда я смотрю на этот список языков, то вспоминаю русскую житейскую мудрость – когда собаке делать нечего, она яйца лижет.
В подготовке данного материала были использованы ссылки:
http://olabini.com/blog/tag/emerging-languages/
http://emerginglangs.com/speakers/
PS. Из всего списка у меня появилось желание посмотреть поближе только на ooc.
И это правильно :)
ОтветитьУдалитьВ большинстве своем люди придумывают что-то не от нечего делать, а из-за того что известные им языки их не устраивают.
встречный вопрос: тебе самому ни разу изобретать велосипед не приходилось?
Выводы из поста напомнили отношение к науке в конце 19-го века - "всё что можно было открыть уже открыто, осталось кое-какие мелочи поуточнять".
ОтветитьУдалитьФигвам, дорогие мракобесы - языки ещё строить и строить, мы только в самом начале долгого пути ;)
А почему D - долгострой? Новые версии компилятора с новыми плюшками выходили настолько часто, и так меняли сам язык (D2), что это было основным фактором, тормозящим его использование. А замороженный D1 вполне себе стабилен и работоспособен.
ОтветитьУдалитьПо моему, единственное, что там можно назвать долгостроем - это отсутствие хорошей IDE. Правда и тут проблема - DigitalMars сразу сказали, что IDE они пока не собираются делать. Так что и тут долгострой не вышел...
@night beast & Left: на эту тему нужно будет разродиться отдельным постом :)
ОтветитьУдалить@4ybaka: долгострой, поскольку никто за все время разработки D так и не знает, что же получится в итоге.
ОтветитьУдалитьА по поводу d1/d2 -- смысла писать на d1 нет, поскольку под d2 все придется переписывать. И, судя по частоте анонсов, на d1 особо никто и не пишет.
Частоте анонсов чего? Версий компилятора? Они все время вместе с D2 выходят. Единственная разница в том, что в D1 только баги фиксятся. Так что может и пару раз пропустили релиз, но я такого что-то не припомню. И кстати, большинство людей, использующих D в реальных проектах как раз используют D1, потому что никто не даст время на исправление несовместимостей с новым компилятором.
ОтветитьУдалитьНу и не совсем понятно, зачем переписывать все с D1 на D2? Как я уже говорил, D1 вполне работоспособен. Просто на D2 по приятнее писать будет:)
В общем не совсем понял Ваш ответ)
довольно много неплохих и интересных языков представлено, имхо
ОтветитьУдалитьпочему сразу "нечего делать"? кому то нравится на ПХП стрнички делать, кому то на С++ утилитки для раскладок.. а кому то нравится на том же С++ грамматику и компилятор сделать. Ту хум хау.
@4ybaka:
ОтветитьУдалить>Частоте анонсов чего?
Всего. Любых библиотек или каких-либо программ, написанных на D1.
>И кстати, большинство людей, использующих D в реальных проектах как раз используют D1, потому что никто не даст время на исправление несовместимостей с новым компилятором.
Хотелось бы посмотреть на этих людей, тем более на большинство.
>Ну и не совсем понятно, зачем переписывать все с D1 на D2?
D1 кто-нибудь будет развивать? Нет, пока не видно таких. В лучшем случае будут баги фиксить, пока. Но это означает программировать на мертвом языке без будущего.
А чтобы перевести код с D1 на D2 нужно будет очень сильно его перелопатить.
Clojure уже применяют достаточно часто, включая коммерческие компании
ОтветитьУдалить@Alex Ott: возможно, специально я его применение не мониторю. Но у меня сложилось впечатление, что о Clojure очень много публикаций в блогах, но при этом мало упоминаний о проектах, сделанных на Clojure. Тогда как о Scala говорят меньше, но чаше встречаются рассказы о выполненных на Scala проектах.
ОтветитьУдалитьХотя, возможно в около-Lisp-овых кругах о Clojure больше информации.
навскидку назову FlightCaster, Runa, Sonian Networks, DocuHarvest, BackType, DRW Trading Group, пара российских стартапов...
ОтветитьУдалитья говорил об этом на MarginCon.
@Alex Ott: за ссылочку спасибо, поглядим.
ОтветитьУдалитьА Scala даже я у себя на работе пару лет назад использовал для внутренних инструментов :) И сейчас, когда потребовалось для Java библиотеку сделать, долго в сторону Scala смотрел.