LINUX.ORG.RU

Вышла первая версия компилятора D, написанная на D

 


3

6

Сегодня состоялся очень важный релиз компилятора языка D — DMD 2.069.0. До настоящего момента компилятор D был написан на С++, однако новая версия теперь написана на самом D. Процесс конвертации исходного кода с С++ на D занял значительный промежуток времени, однако позволил многократно упростить поддержку компилятора.

Значительным улучшениям подверглась стандартная библиотека Phobos. Теперь ещё больше функций в ней были рэнджефицированы (ranges — концепция, позволяющая упростить доступ и переборку элементов структур и классов).

DMD теперь поддерживает формат mscoff, используемый в библиотеках VS2015.

Активно ведутся работы над поддержкой мобильных платформ. В настоящий момент сообщается, что рантайм языка и библиотека Phobos проходят практически все тесты на устройствах Android. О полноценной поддержке разработки под iOS пока говорить нельзя, однако благодаря усилиям проекта LDC-iphone несложные приложения на D под iOS писать можно уже сегодня.

Для пользователей Linux выложена первая пробная версия компилятора Calypso, позволяющая в D использовать практически все существующие С++-библиотеки, даже такие большие и сложные, как Qt5 и Ogre3D.

Продолжаются активные работы над улучшением документации, и в долговременной перспективе рассматривается возможность включения в базовую поставку высокопроизводительного веб-сервера vibed.

В данном релизе значительным улучшениям подверглась штатная документация. Теперь она содержит более развернутые пояснения и включает в себя еще больше примеров, позволяющих снизить порог вхождения в язык.

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

Новая версия сервера DCD, реализующая автодополнения исходного кода, также готова к использованию с новой версией DMD.

>>> Подробности

★★

Проверено: Shaman007 ()
Последнее исправление: Wizard_ (всего исправлений: 5)
Ответ на: RIP от anonymous

D, к сожалению, умер во младенчестве.

Такие как-ты всегда знают как управлять государством и в чем сила. Только работаете вы обычно таксистами и аникейщиками. Почему-то...

Брайт же - писатель компиляторов и на конец 90-х явно не обладал достаточным кругозором для проектирования языка.

Опять категоричный диагноз глупого человека. Ты думаешь, что пишешь? Разработчик компилятора не знает как писать языки? Ты со свечкой что ли стоял рядом?

2 штуки stdlib? серьезно?

Чувак, этому баяну сто лет в обед. Уже давным-давно стандартная либа одна. Хотя это свидельствует, что тебе похрен как на самом деле, главное пернуть в лужу, чтобы пузырей было побольше и смотреть потом гордо на всех, прячась за углом.

anonymous
()
Ответ на: комментарий от anonymous

Ты думаешь, что пишешь? Разработчик компилятора не знает как писать языки?

Ну я о Брайте мало что знаю и оценивать его квалификацию не возьмусь. Но по твоему если человек компилятор сделал, то это гарантия того, что и язык у него хороший получится? Опять же, безотносительно D.

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Ну конечно же это не гарантия. И вообще делать такие категоричные выводы нельзя в данной ситуации, это же чистой воды вброс. Хотя шанс выше, потому что человек знает, как введение той или иной фичи в язык скажется на компиляторе. Т.е. человек имеет практический опыт. Но это ничего не гарантирует, конечно же.

anonymous
()
Ответ на: комментарий от anonymous

2 штуки stdlib? серьезно?

Чувак, этому баяну сто лет в обед. Уже давным-давно стандартная либа одна.

Не вырывай из контекста, речь шла о середине 2000-х когда в D пришел Александреску. Представь, что было бы, если в 2006 была бы единая std библиотека не требующая GC (пусть и чуть потоньше чем существующая). Насколько больше Александреску мог бы успеть сделать за прошедшие 10 лет. А так имеем, что имеем - пора учить Rust и Go, оба не такие универсальные как D, зато для своих задач много лучше, а главное стабильнее и с живым сообществом.

anonymous
()
Ответ на: комментарий от anonymous

А так имеем, что имеем - пора учить Rust и Go, оба не такие универсальные как D

Просто из любопытства: чем, по твоему, раст проигрывает Д в универсальности?

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Я другой анонимус, но попробую ответить. Продуктивностью написания кода и порогом вхождения.

anonymous
()
Ответ на: комментарий от anonymous

Продуктивностью написания кода и порогом вхождения.

Ну ок, наверное. Я просто не уверен, что это можно считать критерием «универсальности».

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Я просто не уверен, что это можно считать критерием «универсальности».

Именно это и можно. На любом компилируемом языке можно решить любую задачу, вопрос во временных и материальных затратах. Так, D ещё можно взять для проектов уровня «говносайтик», а вот Rust уже не особо. В этом D выглядит универсальней Rust.

anonymous
()
Ответ на: комментарий от DarkEld3r

Rust значительно более низкоуровневый, borrow-checker - это не шутки. В D принято код питонообразным делать. А ссылки с idiomatic Rust здесь неоднократно проскакивали.

anonymous
()
Ответ на: комментарий от anonymous

Так, D ещё можно взять для проектов уровня «говносайтик», а вот Rust уже не особо.

Ну ок, убедил. Хотя на расте в этом направлении тоже что-то пилят.

DarkEld3r ★★★★★
()
Ответ на: комментарий от anonymous

Rust значительно более низкоуровневый, borrow-checker - это не шутки.

Имхо, «читаемости» куда больше вредят явные unwrap чем borrow-checker, но в целом согласен.

DarkEld3r ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.