LINUX.ORG.RU

LDC 0.9.1

 ,


0

0

Тихо и незаметно вышла очередная версия компилятора D, использующего LLVM в качестве бэкенда. Судя по результатам тестов его можно использовать как drop-in замену DMD в подавляющем большинстве случаев. В этом релизе было пофикшено великое множество багов:

  • стабилизирован на x86-64
  • реализована поддержка inline asm
  • реализована кросс-компиляция

Реализована поддержка следующих платформ:

  • Linux
  • Windows (кроме обработки исключений)
  • Поддержка MacOS и FreeBSD в тестовой стадии.

И процессорных архитектур:

  • x86
  • x86-64 (только Linux)
  • PowerPC
  • Поддержка ARM и Sparc в тестовой стадии

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

Source.

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

Ответ на: Re: LDC 0.9.1 от hizel

Re: LDC 0.9.1

Разработчики пока сосредоточили усилия на увеличении списка поддерживаемых платформ и процессорных архитектур, но и поддержка D2 в разработке.

naryl ★★★★★ ()

Re: LDC 0.9.1

> Windows (кроме обработки исключений)

> x86-64 (только Linux)

Ну и правильно, нахрена этой недооси поддержка обработки исключений и поддержка современных архитектур.

Aceler ★★★★★ ()

Re: LDC 0.9.1

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

dizza ★★★★★ ()

Re: LDC 0.9.1

хорошая, годная новость

jtootf ★★★★★ ()

Re: LDC 0.9.1

Не понял - каким боком аппаратные архитектуры касаются фронт-енда?

greenMind ()
Ответ на: Re: LDC 0.9.1 от scaldov

Re: LDC 0.9.1

>> пофикшено

> русский в школе учил?

Косить => Покошено

Месить => Замешено

Соответственно, Фиксить => ПофикШено

Так кому тут русский язык и словообразование учить надо?

one_more_hokum ★★★ ()
Ответ на: Re: LDC 0.9.1 от arsi

Re: LDC 0.9.1

> > в качестве бэкенда

Предлагаешь в писать "в качестве задника/задницы" как это делают в фотофап-журналах в статьях про зеркалки Хассельбляд?

shahid ★★★★★ ()

Re: LDC 0.9.1

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

env ★★☆ ()
Ответ на: Re: LDC 0.9.1 от env

Re: LDC 0.9.1

> А то глядя на статьи из википедии (как русской, так и английской), мне что-то не удалось найти хоть сколько-нибудь значимых плюшек.

Если используешь в C++ шаблоны и/или текстовый препроцессор на серьёзном уровне, то попробуй написать это на D. Результат получится намного более легко-отлаживаемым и читаемым.

А как мелкая плюшка, с последней версии DMD 2 все глобальные переменные по-умолчанию thread-local.

naryl ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от naryl

Re: LDC 0.9.1

> Если используешь в C++ шаблоны и/или текстовый препроцессор на серьёзном уровне, то попробуй написать это на D

Кстати, раз уж D 2.0 всё равно сорвал все сроки выхода, в него не собираются добавить макросы и pattern-matching?

tailgunner ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от tailgunner

Re: LDC 0.9.1

> Кстати, раз уж D 2.0 всё равно сорвал все сроки выхода, в него не собираются добавить макросы и pattern-matching?

Нет. И где ты видел свободный, проект, не срывающий сроки? ;)

Кстати, судя по всему ( http://www.amazon.com/D-Programming-Language-Andrei-Alexandrescu/dp/0321635361 ) DMD 2.030 был релиз-кандидатом.

naryl ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от naryl

Re: LDC 0.9.1

>Если используешь в C++ шаблоны и/или текстовый препроцессор на серьёзном уровне, то попробуй написать это на D. Результат получится намного более легко-отлаживаемым и читаемым.

Это ведь не настолько весомый аргумент, чтобы переходить на другой язык. Вообще, программирование на C++ очень дисциплинирует. Особенно командное — сразу можно отделить волков от овец (баранов?). (:

env ★★☆ ()
Ответ на: Re: LDC 0.9.1 от shahid

Re: LDC 0.9.1

> Предлагаешь в писать "в качестве задника/задницы" как это делают в фотофап-журналах в статьях про зеркалки Хассельбляд?

нет, предлагаю писать то, что имеется в виду под этим недогайрайго (особенно в виду многозначности этого слова).

автор хотел рассказать о «недокомпиляторе» D, который «компилирует» исходный код в С (C++? ASM?) код, который потом компилируется в .o-файл инструментами из набора LLVM, но ему не хватило словарного запаса? или нечто вроде «[…] компилятора D, использующего LLVM для компиляции промежуточного С-кода в объектный […]» сильно заденет ЧСВ автора?

arsi ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от arsi

Re: LDC 0.9.1

Скажите, а слово "браузер" Вы тоже ни разу в жизни не произнесли вслух?

Кроме того, ldc можно использовать и для компиляции в llvm-байткод.

naryl ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от naryl

Re: LDC 0.9.1

> Скажите, а слово "браузер" Вы тоже ни разу в жизни не произнесли вслух?

если я начну на ЛОРе писать хоть часть того, что _произношу _вслух_, бана мне не миновать, однозначно. по стилям речи погуглить сами осилите, или помочь?

> Кроме того, ldc можно использовать и для компиляции в llvm-байткод.

«для компиляции в llvm-байткод» из чего? что сабж использует как промежуточный код? (интересуюсь)

arsi ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от k0l0b0k

Re: LDC 0.9.1

> а причем тут промежуточный C-код? вы про llvm что-нибудь читали?

нет, а что? статьи о llvm изменят мои представления о русском языке? ;)

arsi ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от arsi

Re: LDC 0.9.1

> что сабж использует как промежуточный код?

LLVM Intermediate Representation!

Для http://paste.dprogramming.com/dph2wudf он выглядит так: http://paste.dprogramming.com/dpm0bizf

Рекомендую, кстати, почитать докуметнацию по LLVM вообще и по IR в частности. Много интересных решений.

naryl ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от k0l0b0k

Re: LDC 0.9.1

> а причем тут промежуточный C-код?

ЕМНИП когда-то давным-давно llvm умел генерировать только исходник на C.

naryl ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от naryl

Re: LDC 0.9.1

>А как мелкая плюшка, с последней версии DMD 2 все глобальные переменные по-умолчанию thread-local.

Ну где такая трава берется то...

r ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от env

Re: LDC 0.9.1

>Вообще, программирование на C++ очень дисциплинирует. Особенно командное — сразу можно отделить волков от овец (баранов?). (:

Программирование на чистом Си ещё больше дисциплинирует, там косяки вылазят сразу. С++ даёт возможность чуть оттянуть апокалипсис.

Robotron ()
Ответ на: Re: LDC 0.9.1 от one_more_hokum

Re: LDC 0.9.1

>Соответственно, Фиксить => ПофикШено

>Так кому тут русский язык и словообразование учить надо?

если бы ты всё-таки выучил русский язык, ты бы знал, что ИсправлЯть => ИспрАвлено

mic ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от r

Re: LDC 0.9.1

> Ну где такая трава берется то...

Причины этого решения описаны, например, здесь: http://www.ddj.com/cpp/217600495 И здесь: http://www.ddj.com/hpc-high-performance-computing/217801225

А вообще, судя по тому, что Александреску смог сотворить с C++ (Modern C++ Design), то трава у него крутая. И даже страшно предположить, во что он может превратить D... :)))

eao197 ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от env

Re: LDC 0.9.1

> Кто-нибудь этот D пытался применять? А то глядя на статьи из википедии (как русской, так и английской), мне что-то не удалось найти хоть сколько-нибудь значимых плюшек.

<<We programmers are a strange bunch in the way we form and keep language preferences. The knee-jerk reaction of a programmer when eyeing a The XYZ Programming Language book on a bookstore shelf is something like, "All right. I'll give myself 30 seconds to find something I don't like about XYZ.">> -- Andrei Alexandrescu

naryl ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от naryl

Re: LDC 0.9.1

Я просто сообщил о своих ощущениях. Не нужно передёргивать: будь оно так, я бы и не интересовался.

env ★★☆ ()
Ответ на: Re: LDC 0.9.1 от one_more_hokum

Re:ПофикШено

"Исправлено" пишется без "ш"

impfp ()
Ответ на: Re: LDC 0.9.1 от env

Re: LDC 0.9.1

"Это ведь не настолько весомый аргумент, чтобы переходить на другой язык. Вообще, программирование на #{language} очень дисциплинирует. Особенно командное — сразу можно отделить волков от овец (баранов?)."

Короче - очень субъективное высказывание.

impfp ()
Ответ на: Re: LDC 0.9.1 от impfp

Re: LDC 0.9.1

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

env ★★☆ ()
Ответ на: Re: LDC 0.9.1 от tailgunner

Re: LDC 0.9.1

tailgunner> Кстати, раз уж D 2.0 всё равно сорвал все сроки выхода, в него не собираются добавить макросы и pattern-matching?

Какие ещё смешные слова ты знаешь? Могу ещё добавить лямбды, перемножение матриц и варку кофе. А главное - это действительно настолько серьёзно, что мешает тебе изучить Ди?

matumba ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от env

Re: LDC 0.9.1

env> Вообще, программирование на C++ очень дисциплинирует.

Не больше, чем обращение с ножом без ручки. Если один из команды применяет Сипипи (читай "баран"), можно смело рекомендовать остальным его быстрее изжарить.
Просто диву даёшься Муду-магии Сипипей - каждый студент, изучив его на 10%, пытается на нём переписать вселенную. А то, что это самый отвратительный язык из всех созданных (хуже только Рефал) - это странным образом опускается.

matumba ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от matumba

Re: LDC 0.9.1

>> tailgunner> Кстати, раз уж D 2.0 всё равно сорвал все сроки выхода, в него не собираются добавить макросы и pattern-matching?

> Какие ещё смешные слова ты знаешь?

Еще я знаю слово "школие". Оно очень подходит к твоим смешным постингам.

> это действительно настолько серьёзно, что мешает тебе изучить Ди?

Мне мешает изучить Ди то, что я не уверен в его светлом будущем.

tailgunner ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от matumba

Re: LDC 0.9.1

А вы, никак, апологет C#/Java? Уж больно мне ваш гимн знаком.

env ★★☆ ()
Ответ на: Re: LDC 0.9.1 от matumba

Re: LDC 0.9.1

> Могу ещё добавить лямбды, перемножение матриц и варку кофе.

Анонимные делегаты в D есть.

auto a = [1, 3, 2, 5, 4];
sort!( (int a, int b) {return a < b;} )(a);

matumba, буду благодарен, если объясните теоретическую разницу между лямбдами и анонимными делегатами.

naryl ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от tailgunner

Re: LDC 0.9.1

> Мне мешает изучить Ди то, что я не уверен в его светлом будущем.

Моя уверенность в тёмном будущем Tcl не мешает его периодически применять.

naryl ★★★★★ ()
Ответ на: Re: LDC 0.9.1 от naryl

Re: LDC 0.9.1

>> Мне мешает изучить Ди то, что я не уверен в его светлом будущем.

> Моя уверенность в тёмном будущем Tcl не мешает его периодически применять.

Мне негде и незачем применять D. Изучать его с расчетом на будущий профит - не могу по причине сомнения в его будущем, изучать его j4f - неинтересно.

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