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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

> Кто-нибудь этот 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 ★★★★★
() автор топика
Ответ на: комментарий от naryl

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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