четверг, 1 августа 2013 г.

[prog] Три года после поста про бум языкостроения. Ну и о языке ooc :)

Три года назад я написал пост "Прям бум языкостроения какой-то :)", в конце которого упомянул о то, что из всех перечисленных там языков у меня было желание посмотреть только на язык ooc. Об этом желании мне постоянно напоминал ув.тов.Alex Syrnikov. Появилось таки время посмотреть на ooc и выполнить свое обещание. Но об этом попозже.

Сначала хотелось бы вернуться к самому списку (он есть в исходном посте, не буду его дублировать). Очень похоже, что подавляющее большинство упомянутых там языков живы и вокруг есть активность (вокруг кого-то больше, как в случае с Go, вокруг кого-то меньше, но есть). К заглохшим (а может и умершим уже), наверное, можно отнести следующие:

  • Coherence. На данный момент его сайт -- это одна страничка с несколькими ссылками на старые презентации. И все;
  • Cola. Только страничка в Wikipedia, публично доступного релиза языка нет;
  • Ioke. Судя по репозиторию, с 2009 года не развивался. Честно скажу, чего-то подобного я и ожидал, поскольку его автором является один из тогдашних разработчиков JRuby -- Ola Bini. В свое время почитывал его блог и у меня не сложилось впечатления, что он может вложить достаточно сил в продвижение своих разработок;
  • Noop. Язык, который зародился внутри Google, о котором несколько лет назад время от времени говорили. Но который, если судить по репозиторию, с 2010 не развивается;
  • ooc. Вероятно, скорее мертв, чем жив. В репозитории коммиты довольно старые, документация убогая;
  • Lisaac. Сайт сейчас вообще не имеет никакого наполнения. Кое-что о языке осталось разве что в Wikipedia.

Еще я не понял состояние BitC и Kodu. Но за неимением возможности обосновать их смерть, пусть считаются живыми и здравствующими ;)

В общем, не так уж и много. Я думал, что загнется больше половины. Нужно, наверное, еще пару лет подождать :)

Ну а теперь, совсем кратко, о языке ooc. Посмотрел я документацию по нему. И понял, что смысла смотреть дальше нет. Не увидел ничего такого, ради чего захотелось бы его попробовать. Даже синтаксис, который в свое время напоминал синтаксис Ruby, и тот не впечатлил, скорее наоборот: не нравится мне, когда вызов метода записывается через пробел, т.е. "bar foo()" вместо "bar.foo()". Ну а так ничего особенного: объектно-ориентированный (скорее всего без множественного наследования), с поддержкой обобщенного программирования, с поддержкой лямбда-функций и какого-то варианта вывода типа аргументов методов. Язык вроде как со сборкой мусора, но, при этом, можно вернуть указатель на локальную переменную на стеке, что приведет к непредсказуемым последствиям. В общем, хотели сделать что-то вроде нативной Java или C#, но со своеобразным синтаксисом. Сделали первый работающий вариант, поигрались и, похоже, забросили. Ну и пусть там валяется без дела.

PS. Три года назад после поста о буме языкостроения я написал пост о своем отношении к разработке новых универсальных языков программирования. За это время мое отношение к данной теме совсем не изменилось. И хотя сейчас я в гораздо меньшей степени связан legacy-кодом и спокойно могу позволить себе поэкспериментировать с чем-то совсем новым (вроде недавней попытки взяться за Go), но как-то ничего не цепляет. Похоже, самое интересное сейчас творится в мире JVM -- это я о Kotlin и Ceylon.

Комментариев нет: