7 июля 2010 в 16:13

Новая волна языков программирования

На конференции OSCON (19-23 июля, Портленд) в этом году решили организовать дополнительную секцию Emerging Languages Camp, посвящённую языкам программирования нового поколения. Организатор — Алекс Пейн, известный по своей работе в компании Twitter.

Новые языки появляются постоянно и в бесчисленном количестве, потому что в программировании всё время возникают новые задачи, с которыми старые языки справляются плохо. Алекс Пейн говорит, что главная фундаментальная проблема сейчас — параллелизм. Он добавляет к этому ясность выражений (expressability) и удобство сопровождения (maintainability).

На конференции будут обсуждаться три десятка новых и относительно новых языков: Go, Io, Duby, Kodu, Newspeak, CoffeeScript, Ur, Objective-J, BitC, F#, PyPy, Clojure, Fancy, Coherence/Subtext, Noop, Factor, C#, E, Caja, Slate, D, AmbientTalk, Thyrd, Cola, Gosu, Stratified JavaScript, Frink, Dalvik, Trylon, Ioke, ooc. Почти каждый язык будет представлен лично его автором.

Из всего этого многообразия сам Алекс Пейн выделяет несколько наиболее интересных докладов, на его взгляд.

Джилад Брача (Gilad Bracha) расскажет о своей разработке под названием Newspeak — это странная комбинация идей из Smalltalk и Java, а также некоторых вещей из Lisp. В сообществе разработчиков языков программирования и заинтересованных лиц (это сообщество очень маленькое) Newspeak считается провокационным языком, и вокруг него развернулись интересные дискуссии.

Рич Хикки (Rich Hickey) расскажет о Clojure. Это экспериментальный язык, который угрожает всей индустрии, это довольно редко встречается. В языке реализовано несколько совершенно новых идей нового уровня, и многим это нравится.

Язык Мэтта Маклорина (Matt MacLaurin) под названием Kodu использует способ визуального программирования и первоначально был разработан для Xbox как часть детской игры. Визуальные языки и раньше появлялись на сцене, но этот уже готов и нашёл свою нишу. Kodu резко отличается от всех остальных языков в повестке Emerging Languages Camp.

Джонатан Эдвардс из программы искусственного интеллекта Массачусетского технологического института многие годы работал над языком программирования Subtext, который сейчас переименован в Coherence, но работа так и не завершена. Скорее всего, выступление Эдвардса будет сугубо теоретическим.

Алан Элиасен (Alan Eliasen) покажет язык программирования Frink, нацеленный в первую очередь на научные вычисления, но при этом обладающий некоторыми уникальными синтаксическими способностями (пример).

Наконец, разработчик Слава Пестов выступит с презентацией языка программирования Factor, в котором программы записываются в стековой нотации, как в Forth. С коллегами они проделали невероятную работу по оптимизации компилятора и виртуальной машины для Factor. Около месяца назад они опубликовали запись в блоге о текущем состоянии дел, и многие считают, что это настоящий прорыв в реализации языка программирования.
+43
3307
36
alizar 1516,6 G+

Комментарии (60)

+5
asm0dey, #
Круто — шарп есть, а скалы нету ))
+5
valter, #
А groovy старый язык программирования?
+4
folone, #
Блог о Скале недоволен господином Алексом Пейном.
0
CheatEx, #
Да ладно, с первого релиза уже семь лет прошло.
+3
folone, #
А с первого релиза сишарпа — 10 (июнь 2000, если мне память не изменяет).
0
CheatEx, #
Оф. сайт конференции как-бы намекает, что C# там должен быть ;)
0
javverwocky, #
И зря. Там целый Scala Summit будет.
–2
ColorFlow, #
а кто-нибудь знает, сколько всего в мире языков программирования??
0
bolk, #
Никто. Как это можно узнать? Есть очень малоизвестные языки, есть мёртвые.
0
impwx, #
В компьютерном журнале примерно 2002 года было написано, что их более 2500. Можно представить, сколько их сейчас…
+58
bolk, #
Ничего не изменилось, их по-прежнему более 2500.
0
Soler, #
около 8 500 языков (не помню где читал). с уважением, ваш никто))
+4
bolk, #
Да ерунда это всё. Невозможно это подсчитать. Я вот придумал пару-тройку языков, есть даже продукты (или были, кто знает сейчас используются ли они), где они были встроены. Ну кто их считал, эти мои языки. А такого — вагоны.
–10
forgotten, #
Go, Io, Duby, Kodu, Newspeak, Coffeescript, Ur, Objective-J, BitC, F#, PyPy, Clojure, Fancy, Coherence/Subtext, Noop, Factor, C#, E, Caja, Slate, D, AmbientTalk, Thyrd, Cola, Gosu, Stratified Javascript, Frink, Dalvik, Trylon, Ioke, ooc

Блин, кто все эти люди?
0
Colwin, #
Элита )
+3
sylvio, #
> главная фундаментальная проблема сейчас — параллелизм
Ай молодцы, скалу, эрланг и хаскель-то забыли.
+5
develop7, #
это уже мейнстрим</irony>
+3
CheatEx, #
Их и так over 9000 блогов пиарят.
+2
1amer, #
если по вашему рассуждать то можно как минимум C# вычеркивать, а возможно и Go
0
mechmind, #
Рич Хикки (Rich Hickey) расскажет о Clojure. Это экспериментальный язык, который угрожает всей индустрии, это довольно редко встречается. В языке реализовано несколько совершенно новых идей нового уровня, и многим это нравится.

А тем временем Closure — тот же лисп, вид сбоку. Разве что java библиотеки доступны. Учитывая возраст лиспа и количество срачей вокруг него, утверждение Хикки выглядит… забавно :)
0
SCoon, #
Причем сам Closure ввиду его возраста сложно отнести к «новой волне». :)
0
yoreeq, #
Не путайте с замыканиями, Clojure появился в 2007-м
0
SCoon, #
Очепятался в названии, sorry. Но сейчас, насколько я помню, 2010.
+1
flamefork, #
Вы просто не в теме, там много нового, интересного. Почитайте…
0
alexott, #
это лиспообразный язык, но с многими изменениями — больший упор на ФП, поддержка конкуррентного программирования на уровне языка и т.д. Может быть вскоре выложат запись моего рассказа про кложуру на margincon — я дам ссылку
+3
sylvio, #
PyPy и Dalvik, кстати, это не языки программирования
+2
xziByte, #
pypy — это язык??
+2
kronos, #
Автор фактора постоянно тусит на #rubinius. Один раз даже «померялись» у кого длинная арифметика быстрей, рубиниус выиграл :)
0
Drevlyanin, #
Удивительно, что среди обсуждаемых на конференции языков программирования, нет Scala, хотя он относительно новый.
0
webus, #
Мда, очень странно что Scala нет. Жду видео с конференции, хочу посмотреть доклады по Clojure, Go,D. А вот IO — давно не развивается слышал.
0
forgotten, #
Интересно, через сколько лет количество компьютерных языков превысит количество обычных?
Или уже?..
0
webwarrior, #
Уже давно. В ветке чуть повыше приведены некоторые цифры. Я сам слышал, что в 60-е уже были тысячи языков программирования.
Компьютерный язык намного проще естественного, потому что не должен охватывать все многообразие нашей реальности.
+1
AirLight, #
я не совсем понял из статьи в чем тренды языков нового поколения, кто-нибудь знает что-то полезное? (кроме опостылевшего параллелизма)
0
qmax, #
я тоже не понял.
хотелось бы подробнее — чем именно эти языки интересны.
0
qrazydraqon, #
Вот Frink, к примеру, интересен некоторыми особенностями:
* Величины с размерностями (метры, граммы, ватты) и протаскиваение размерностей через вычисления.
* Вычисления со встроенными рациональными(!) и комплексными числами, вычисления с интервалами.
* В дополнение к первому пункту: тригонометрические функции различают величины, в которых меряются углы (градусы и радианы).
Ну и куча всего ещё.

Там же куча ссылок дано в посте.
0
qmax, #
да понятно, что куча ссылок.
да и гуглом тут все умеют пользоваться.
можно былобы назвать топик OSCON-2010, и просто дать только список языков программирования, не прегружая малоинформативными абзацами об отдельных докладах, которые непонятно чем интересны одному из сотрудинков Твиттера.


+1
sylvio, #
Кстати, размерности есть в маткаде (не смотря на всю кривость и медленность) и там можно сделать проверку по ним
0
Daymz, #
> функции различают величины, в которых меряются углы (градусы и радианы)

На MK-52 и ему подобных тоже единицы углов различались. Вручную, переключателем Р-ГРД-Г. На этом динамические игры строились.
+1
dmbreaker, #
Например D: по возможностям не уступает C++, по синтаксису приятнее C#, компилируется в нативный код.
Развивала бы этот язык крупная компания, тогда многие C++ники смогли бы перейти на D. А пока он малопригоден для серьезных проектов.
0
Nekuromento, #
Все зависит от проекта конечно же.
+1
sylvio, #
Функциональщина — вот такой тренд.
Всякие чистые функции (благодаря которым можно просто параллелить код), замыкания, карринг, лямбды, монады, ленивые выичсления и прочии радости :)
+2
synthesis, #
К сожалению, в мире больше языков программирования, чем по-настоящему хорошо написанных программ.
0
Colwin, #
Если для каждого языка есть хорошо написанный компилятор, то ты не прав )
0
naryl, #
Подскажите что-нибудь по newspeak. Краткое пятиминутное гугление, википедия и RosettaCode не привели ни к одному куску кода на нём.
+1
Nekuromento, #
Что именно интересует?
Вот например пример твиттер клиента на Newspeak — langexplr.blogspot.com/2009/04/writing-small-twitter-client-with.html
Но язык сейчас не предназначен для промышленного использования.
В одном из интервью с Брахой, в шутку, пользователь языка был определен как человек настолько радикальный, что считает языки вроде Scala скучным мейнстримом.
–3
naryl, #
-_- У меня с годами сложилось скептическое отношение к языкам, в которых есть ключевое слово class.
0
qrazydraqon, #
То есть Вы против ООП?
Если нет, то что плохого в том, чтобы для класса использовать слово class?
–3
naryl, #
То, что понятие класс не имеет никакого отношения к ООП.
+1
CheatEx, #
Странно, почему же оно используется в подавляющем большинстве ОО-языков?
0
naryl, #
Похоже, мы имеем дело с человеком, который считает, что C++ и Java — это самое настоящее ООП. -_-
0
Nekuromento, #
Зачем провоцировать флейм?
–1
naryl, #
Ок, обсасывалось уже сотню раз, сто раз все всё поняли, и в сто первый задали те же вопросы.
0
qrazydraqon, #
en.wikipedia.org/wiki/Class_(computer_science)

> In object-oriented programming, a class is a construct that is used as a blueprint (or template) to create objects of that class.
–1
naryl, #
Ладно, сами напросились.

Что есть истина? Википедия выражает общепринятое мнение, но истинно ли определение, в которое все верят, но которое не имеет ничего общего с первоначальным определением?
–2
naryl, #
Свято Вверящий В Истинность Википедии, чтобы не повторять всё здесь, приведу ссылку на одну из веток: habrahabr.ru/blogs/Haskell/96421/#comment_2953646

Если где-то не хватает доказательств, запрашивайте здесь.
0
qrazydraqon, #
> По задумке автора, каждый объект должен быть реализован отдельным потоком или даже железкой и взаимодействовать объекты должны *только* отправкой друг другу сообщений.

Мне казалось, что слово «ориентированный» в аббревиатуре «ООП» как раз закрывает этот вопрос.

В абсолютную истинность Википедии верить не удаётся, так как в статьях по близкой мне тематике ошибки как сельди в бочке. Но это не отменяет того, что по популярным вопросам сообществом всё выверено до мелочей.
+1
chedim, #
Языки программирования — они как операционки: каждый программист мечтает написать свой. Жалко только что Торвальдс один, а поповых — тысячи.
+2
laticq, #
Огней так много золотых
На улицах Саратова,
Парней так много холостых,
А я люблю Visual Basic.
0
Chikey, #
> Coffeescript
ок ок, добавляем дальше haml, sass и еще кучу трансляторов…
не все указанное языки прог.
0
kedoki, #
>Слава Пестов
Всё таки приятно, что работают в этом направлении и наши соотечественники

Только зарегистрированные пользователи могут оставлять комментарии.
Войдите, пожалуйста.