суббота, 14 августа 2010 г.

[prog] Интервью Андрея Александреску на informit.com

11-го августа на informit.com была опубликована первая часть интервью Андрея Александреску, в котором он рассказывает о языке D.

Интересно почитать. Оказывается, в 2006-м Александреску пытался создать собственный язык Enki. Но потом встретился с Вальтером Брайтом и отказался от идеи сделать новый язык с нуля. Вместо этого они с Брайтом замутили D2. А D1 самому Александреску не нравился.

Сейчас Александреску вместе с Доном Клагстоном и Шоном Келли развивают стандартную библиотеку Phobos. Участие в этом процессе Шона Келли лично для меня удивительно. Если мне не изменяет склероз, Келли был одним из ведущих разработчиков Tango. Не значит ли это, что Tango загнется (поскольку ее релизы случаются очень редко), а основной библиотекой для D окажется Phobos?

Вообще, интересно Александреску рассказывает, увлекательно. Даже соблазн дать D еще один шанс появляется. Но будем посмотреть. Пока меня сильно смущает, что нет публичных планов развития D – будет ли релиз языка, будет ли мораторий на модификацию языка после релиза, чего вообще D2 сейчас не хватает. Вроде бы во многих последних релизах только багфиксы, но смущает наличие релизов с изменениями языка.

Еще один интересный момент. Не рожденный язык Enki предполагал, как я понял, очень гибкий синтаксис, в котором программист очень много чего мог переопределить и добавить. А после подключения Александреску к разработке D появились разговоры и о потенциальном добавлении в язык синтаксических макросов. Так что у D есть шанс еще раз сильно видоизмениться :)

С интересом жду публикации оставшихся частей интервью.

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

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

Да я тоже недавно лазил по их сайту и новостным группам с той же целью узнать планы, но похоже это военная тайна.

Пусть видоизменяется, например та же Scala вроде постоянно это делает и нечего уже и в промышленные языки записалась :), главное чтобы 2.0 наконец выкатили.

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

та же Scala вроде постоянно это делает и нечего уже и в промышленные языки записалась

У Scala ситуация попроще: там есть огромный JDK, да и саму JVM с HotSpot-ом и GC не Scala-писатели делают.

главное чтобы 2.0 наконец выкатили

в этом году желательно.

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

У D конечно JDK нет, но в остальном как я понимаю сложностей нет back end используется уже готовый, и есть gcc back end и llvm.

Да в этом году было бы неплохо а то сделают к 2012 а там уже и конец света :)

Вообще по всем признакам похоже все-таки релиз не за горами.

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

Да немерлисты в 2006 году ворон ловили, такого фрукта упустили, ведь тогда Алесандреску весь их был :)

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

У D конечно JDK нет

поэтому им язык нужно быстрее стабилизировать, чтобы народ начал свои библиотеки писать и обертки над чужими делать.

Если D выпустят в этом году, то у меня еще будет шанс что-нибудь самому на нем попрограммировать. Следовательно -- попробовать продвинуть его у себя в компании. А то ведь я сейчас превращаюсь в тим-лида и менеджера, все меньше и меньше сам программирую. Через год мне уже будет монопенисуально -- D, C++ или Scala/Java :)

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

:)

4ybaka комментирует...

Не значит ли это, что Tango загнется (поскольку ее релизы случаются очень редко), а основной библиотекой для D окажется Phobos?
Насколько я помню, tango создавалась из-за отвратительной стандартной библиотеки в D1, т.е. Phobos'а. Однако если в D2 phobos стал куда лучше, то зачем мучиться по переводу tango на D2? Видимо основные разработчики tango решили, что библиотека свое дело сделала... ну или просто им не интересно заниматься переписыванием:)

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

@4ybaka: а у вас есть опыт программирования на Phobos и на Tango?

4ybaka комментирует...

Пробовал на всем) Дома крутится маленький сервер для синхронизации расписания электричек с Android-о фоном. С начала писал на D2/Phobos, но там под linux'ом был баг с сокетами, который никак не хотели фиксить, несмотря на наличие патча. Пришлось переписывать на D1/Tango.
Под D1/Phobos были разные маленькие программки типа игры "жизнь" или лог-сервера. Однако если для первого кроме derelict'а и простой обработки входных параметров ничего не нужно было, то со вторым пришлось помучиться - функционала у фобоса1 очень мало.

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

@4ybaka:

Пробовал на всем)

И что больше понравилось?

Когда я плотно смотрел на D, то переход с Phobos на Tango был сродни переходу с libc на стандартные библиотеки языков Python или Ruby -- вместо минимального набора функций со странными именами большие и удобные библиотеки классов. После Tango на Phobos даже смотреть не хотелось.

4ybaka комментирует...

Больше всего понравился D2/Phobos, тем более после выхода книжки Александреску обещали не сильно менять язык. Правда у tango онлайн документация поудобнее будет)
Однако если выбирать для промышленного использования, то наверное лучше D1/Tango. Иначе можно также попасть на баг и придется выкачивать исходники фобоса и у себя применять патчи -> пересобирать весь phobos... С танго это все решается быстрее и проще.