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)
Ответ на: комментарий от tired_eyes

Всегда весело читать рассуждения про долю рынка на портале о Linux.

Мировые биржи на линуксе; гугли, википедии и пр. на линуксе; андроид на линуксе; TOP500 - линукс; даже в телевизорах, роутерах и стиралках - линукс. Не десктопом одним мир живет. Наоборот, он со временем будет все больше схлопываться.

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

Весело наблюдать баттхерт админов локалхостов, не могущих найти себе связанной с GNU/Linux приличной работы в приличной компании/

Bioreactor ★★★★★
()
Ответ на: комментарий от special-k

Ну еще Java.

Особенно GWT-подобные инфраструктуры (типа GXT), умеющие генерить качественный JS код.

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

Bioreactor ★★★★★
()

Это хобби у них такое, пилить свой ЯП десятки лет? Ну пилили бы себе тихо в сторонке. Зачем засорять информационное поле, увеличивать энтропию?

Или они реально уперлись рогами и считают выстрелит? Как по мне у этого ЯП нет ниши, время ушло. Нужные свежие идеи, а не говно мамонта из 20 века.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от nezamudich

anonimous, ты ли это? Как это доказывает, что rust написан на llvm?

А как можно что-то доказать идиоту? github выдал убогому пустой результат поиска по llvm? Ну так не поленись и открой руками. Если ты, не смотря на то, что дурачок, еще способен что-то видеть, то найдешь эти загадочные четыре буквы и в файлах для сборки, и в исходниках.

anonymous
()

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

Не Orge3D, а Ogre3D. Исправьте.

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

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

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

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

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

Что делает этот комментарий, кроме увеличения энтропии? Какова его полезная нагрузка?

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

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

Я хоть и не тот анонимус, но ты не стесняйся, подходи к огоньку, тут про LLVM разговаривают.

anonymous
()
Ответ на: RIP от anonymous

Александреску вообще-то придумал STL. Я сомневаюсь, что он не знал что делает и что проектирует. Да и Уолтер Брайт разработчик первого родного компилятора C++ как бы знает все плюсы и минусы C++.

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

Тот комментарий невежественен относительно новых языков - новые постоянно разрабатывают, man fortress или newspeak например. Зато абсолютно прав. D в начале двухтысячных имел нишу - высокоуровневый универсальный и быстрый язык с GC. Сейчас в этой нише Java (и доднед в оффтопе) и никто их оттуда не выгонит. Заметь, что Rust с Жабой не конкурирует вообще (ниша другая). А Go с Жабой конкурирует напрямую и сильно страдает от этого, выезжает засчет очень крутых тулчейна и single-binary деплоя и засчет докера разумеется (это как рельсы в руби).

anonymous
()

Я думал, оно сдохло давно. Ан нет, ещё шевелится.

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

Вообще то STL придумал другой выходец из блока Варшавского Договора.

И никто не говорит, что Брайт не знает С++, речь о том, что Брайт не в глаза не видел тех прикладных задач, под которые он язык проектировал. Александреску в отличие от Брайта не только компиляторы писал, но в D пришел слишком поздно.

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

Александреску вообще-то придумал STL

STL придуман до Александреску, и даже до С++.

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

Александреску вообще-то придумал STL.

Имхо STL придумал Степанов. А вот что D живой и развивается, в этом можно не сомневаться. Ни «юнным», ни не «юнным» людям. И проекты на нем люди пишут. И новые начинаю. И даже старые проекты с плюсом и питонов переписывают. Молча, правда, ибо делом надо заниматься и деньги зарабатывать. А так-то да, пусть народ желчь поизливает. Самим то ничего не придумать не получается, так дай хоть в говне других повалять, чотам

anonymous
()

D очень не хватает графического тулкита. Своего, родного, уровня Qt и с нативными плюшками. Очень интересно выглядел https://github.com/D-Quick/DQuick, но вроде помер.

Ах да. IDE бы на нем, дело бы веселее пошло.

wolph ★★
()

Новость просто БОМБА! Супер :) Очень рад, что Ди не вязнет в глупых дискуссиях (как Рослин), а семимегабайтными шагами идёт к успеху.

DMD теперь поддерживаем формат mscoff

ДАВНО ПОРА. Нельзя игнорировать такого гиганта как МС на его же платформе.

рантайм языка и библиотека Phobos проходят практически все тесты на устройствах Android.

А это вообще киллер-фича! Если для Ведроида можно будет писать без Жабомудятины, сразу поднимется интерес у разрабов, ибо все эти интелиДжы/эклипсы - страх господний.

Ну и «Ди на Ди», несомненно, является большим достижением - догфудинг позволяет намного лучше проектировать и улучшать элементы языка/библиотек.

Молодец, Уолтер!

matumba ★★★★★
()

Очень приятный и выразительный язык. Рад развитию. Спасибо за новость.

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

Я думаю, «юнные» умы сделают правильный выбор.

Ваш аргумент уныл, в википедии есть даже отдельный раздел про это называется «Грубейшие, непозволительные уловки» в споре.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от wolph

D очень не хватает графического тулкита

Есть один тулкит, причём даже пилится русским :) https://github.com/buggins/dlangui

Но мне не очень нравятся его архитектурные идеи. Куда перспективнее смотрелась бы реинкарнация «WPF после кастрации» :) Декларативный ГУЙ - это правильная модель, но которая должна быть _очень_аккуратно_ спроектирована, чтобы избежать той блевотины, которую запилила MS.
ГУЙ должен быть гибок, но не превышать уровня декларативности там, где не нужно. Должно получиться что-то вроде HTML+CSS, но сильно урезанное.

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

Раст давным-давно на LLVM.

Ну да. Потому что они пилят ЯП, а не илитную игрушку для хипстеров и не компилируемый питон.

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

Тулкита уровня Qt

Проиграл в голос. Много ты еще знаешь тулкитов уровня Qt? В этот тулкит усилий вложено несравнимо больше чем в весь D со всей его стандартной библиотекой. И появился он лет на 10 раньше чем D. Если так рассуждать, то еще D не хватает GC уровня G1 и дизайнера языка уровня Роба Пайка.

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

Я показал ровно то, что хотел показать. Ты показал другое.

Так что, как найденное тобой слово «llvm» в коде демонстрирует то, что rust написан на llvm?

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

На самом деле LLVM - это хорошо, и LDC, если мы говорим о D, это вполне перспективный компилятор. Зачем оптимизировать кодогенерацию отдельно для каждого языка, если можно сделать это один раз и потом пользоваться.

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

Да, компилятор включает в себя кодогенерацию.

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

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

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

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

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

Так что, как найденное тобой слово «llvm» в коде демонстрирует то, что rust написан на llvm?

Убейся.

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

Сейчас в этой нише Java (и доднед в оффтопе) и никто их оттуда не выгонит.

:)))) Серьёзно? Труп жабы ещё надо «выгонять»? Его надо ПОДМЕТАТЬ! :) Заплесневел он там, в «интыпрайзах», причём даже сам не знает, что он там делает.

В ИТ всё настолько стремительно развивается, что как в «Зазеркалье» - «чтобы хотя бы оставаться на месте, нужно очень быстро бежать». Жаба неспешным шагом почивала на лаврах первопроходца (не без пропихивания баблом Сана), но сейчас сиротливо оглядывается «где я?», ибо такое УГ никого не интересует - тот же C# превосходно себя чувствует в серверных задачах и при этом ТАК ЖЕ ОТЛИЧНО на десктопе, а это значит ОДИН язык на всю команду решает все проблемы. Это и есть «смерть жабы».

Касательно же C#, да - «его пилят» - всё, что можно об этом сказать. При этом новая команда Рослина состоит из таких дилетантов, что поражаешься их инженерной слепоте. ПОКА ЕЩЁ задел из WinForms (и унылый высер в виде WPF) позволяет MS особо не кипишиться, но уже ясно, что ребята стагнируют и больше трясутся за легаси-гуано (практически весь фрэймворк), чем за прогресс.

Уолтер лишён этих ограничений и может спокойно менять Phobos, сам язык и даже, как видите, платформы - если они возьмутся за ГУЙ и ИДЕ для разработки под Ведроид, мелкософту наступит капец - их команда уже не сможет ничего противопоставить, ибо тупы, заражены корпоративной ленью и не видят перспектив.
Так что Ди ждёт только успех, мелкомягкие им больше не преграда.

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

И проекты на нем люди пишут. И новые начинаю. И даже старые проекты с плюсом и питонов переписывают.

Словам анонимуса не верю, где пруфы?

Молча, правда, ибо делом надо заниматься

Анонимус-телепат?

деньги зарабатывать

Зарабатывать деньги на необкатанной мало популярной платформе с неизвестным будущем? Это кто такой упоротый? Опять же где пруфы?

Самим то ничего не придумать не получается

Пруфы?

так дай хоть в говне других повалять, чотам

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

foror ★★★★★
()

Имхо, Rust это более интересная альтернатива C++. Но D тоже классный язык. Правда, судя по всему, он таки не взлетел и перспективы его туманны.

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

Я стараюсь игнорировать безграмотность, если собеседник хоть немного конструктивен. Но вы пришли набрасывать, так что все нормально.

отдельный раздел про это называется

Между «про это» и «называется» нужна запятая.

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

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

Вот это рационализации! Что бы мы без вас делали.

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

и дизайнера языка уровня Роба Пайка

Это намек на бейсик по имени Go что ли?

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

это более интересная альтернатива C++

Вот почему «более интересные альтернативы C++» интересны кому угодно, только не программистам, пишущим полезные программы?

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

Вот почему «более интересные альтернативы C++» интересны кому угодно, только не программистам, пишущим полезные программы?

Зачем ты лжешь?

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

Хочу уточнить: насколько я вижу, Calypso написан на С/С++. Эти наработки попадут в основной компилятор или будут существовать параллельно?

Calypso это по сути особая сборка LDC, которая добавляет куски clang к LDC. Намертво привязано к LLVM, как следствие шансов на попадание в апстрим не слишком много по техническим причинам.

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

Зачем ты лжешь?

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

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

Уолтер лишён этих ограничений и может спокойно менять Phobos, сам язык и даже...

Программисты на Д какие-то особенные и (ломающие, по всей видимости) изменения в языке и стандартной библиотеке только приветствуют?

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

Намертво привязано к LLVM, как следствие шансов на попадание в апстрим не слишком много по техническим причинам.

Дык, LDC тоже привязан к LLVM, для него это не должно быть проблемой?

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