LINUX.ORG.RU

DMD 1.050 и DMD 2.035

 , ,


0

0

Не так давно вышел эталонный компилятор эффективного и производительного языка программирования D. Вот список основных изменений за последние несколько релизов:

  • Поддержка solaris.
  • Снижение ограничений на функции, выполняющиеся при компиляции.
  • Вывод информации о символах в формате json при передаче ключа -X
  • Обнаружение некоторых null-pointer dereference'ов при компиляции.
  • Глобальные переменные теперь thread-local по умолчанию
  • Около сотни багфиксов и добавления в стандартной библиотеке.

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

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

★★★★★

Проверено: maxcom ()

Так же стоит упомянуть исправление в транке (для 1.051) пятилетнего бага 424: http://d.puremagic.com/issues/show_bug.cgi?id=424 и книгу Андрея Александреску, находящуюся сейчас в процессе написания: http://www.amazon.com/D-Programming-Language-Andrei-Alexandrescu/dp/0321635361

naryl ★★★★★
() автор топика

К услугам гентушников как всегда наш оверлей, который недавно обзавёлся вторым мейнтейнером: http://www.assembla.com/wiki/show/d-overlay

naryl ★★★★★
() автор топика

Вот каждый норовит свой язык выдумать...

anonymous
()

В этом треде будут обсуждаться темы:

  • Зачем оно нужно, когда есть C++?
  • Говно ли Java?
  • Вы все норкрманы, есть же Scala!
  • Что курят хаскелисты?
  • Python vs Ruby
  • Где же реальные программы на Lisp?
Zenom ★★★
()

D конечно неплох по задумке, но очень уж много времени прошло, а полноценного ничего под него нет, а жаль

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

это, кстати, доказывает что недостаточно быть хорошим программистом чтобы написать хороший язык...

а то распространено мнение, что Страуструп С++ наковырял левой пяткой

shty ★★★★★
()

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

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

да, нужна поддержка финансовая

PS: так что пока без плюсов нам никуда

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

Автору новости - звездочки набират. И только, лол. Ни одной Open Source программы в новостях на D не видел. А знач ненужно, да.

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

объемы наваянного дерьма за единицу времени, не?

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

Ну это не анонимусу решать что нужно а что нет. По поводу языка могу сказать, что сегодня портировал немалую часть Qt-шного moc'а на D. Причем используя одну из ключевых фич D CTFE (compile time function evaluation), MOC работает полностью на этапе компиляции. Это значит, что отпадает необходимость во внешней тулзе как это сделано в Qt. Неплохая иллюстрация возможностей мета-программирования.

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

>Mono с C# и прочими забыл.

И совершенно правильно сделал =]]]]]

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

>По поводу языка могу сказать, что сегодня портировал немалую часть Qt-шного moc'а на D... Неплохая иллюстрация возможностей мета-программирования.

Ну и где на сие творение можно поглядеть?

yyk ★★★★★
()

>Не так давно вышел эталонный компилятор эффективного и производительного языка программирования D.

Не слишком ли много маркетоидной шелухи для одного предложения?

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

http://qtd.pastebin.com/m14bada03

это только начальная стадия, так сказать proof-of-concept, пока генерируется только метаинформация. qt_metacall и тела сигналов будут попозже. Как будет законченный рабочий вариант, это появится в составе байндингов Qt к D.

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

> Не слишком ли много маркетоидной шелухи для одного предложения?

У меня странная необъяснимая тяга к слишком длинным предложениям. :)

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

> Никому не нужно же... Или я ошибаюсь?

Ошибаешься. Я бы давно перешёл, но после беглого просмотра возможностей и TODO, так и остался на С++. Может быть, скоро снова проинспектирую можно ли на нём уже реально что-то мощное малтитредное с FSM, сокетами-шмокетами и прочим делать.

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

> Это значит, что отпадает необходимость во внешней тулзе как это сделано в Qt.

Зачем это пихать в язык?

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

> Никому не нужно же... Или я ошибаюсь? Товарищи, кому нужно?

Мне, например.

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

> На самом деле я не понял, что хотели скащать разработчики, создавая ещё один C++.

То, что с чистым синтаксисом, сборщиком мусора и нормальной системой модулей жить веселей.

yk4ever
()

>Около сотни багфиксов и добавления в стандартной библиотеке.

Прочитал как "Около сотни багов добавлено в стандартной библиотеке" (ага, не спал давно, смешно вышло)

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

>> Это значит, что отпадает необходимость во внешней тулзе как это сделано в Qt.

>Зачем это пихать в язык?

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

eldar_insafutdinov
()

> Никому не нужно же... Или я ошибаюсь? Товарищи, кому нужно?

Мне нужно, пишу на, люблю, слежу. Тут можно посмотреть интересное: http://www.team0xf.com/ <- Tomash Stachowiak полно всего написал, включая GUI, профилировщик, систему сборки и пр.

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

> Mono с C# и прочими забыл.


Меня на работе хотят заставить C# изучать. Даже книгу дали "Джесс Либерти Создание .NET приложений Программирование на C#"... Издательства O`Reilly
<troll_mode>
Даю цитату из предисловия:
"Приблизительно каждые десять лет новый подход к программированию
накатывается, подобно цунами. В начале 80-х новыми технологиями
были операционная система Unix, работавшая на рабочих станциях, и
новый мощный язык, разработанный в AT&T и названный С. Начало
90-х принесло с собой Windows и С++. Каждая из этих разработок
представляла принципиальное изменение подхода к программирова-
нию. Пришло время следующей волны - появилась платформа .NET и
язык С#. И цель данной книги - помочь читателю оседлать эту волну."

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

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

Не компилятора, а препроцессора. moc генерирует обычный C++ код, который компилится обычным компилятором. Учим матчасть.

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

Их можно разделить, что в Qt и сделали. Препроцессор генерирует из модифицированного текста C++ нормальный. Компилятор генерирует из нормального текста машинный код.

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

Не стоит к словам придираться, вы прекрасно понимаете о чем я. Компилятором я его назвал потому что MOC называется meta object _compiler_. Да, это не полноценный компилятор, но и не препроцессор. MOC содержит в себе как минимум парсер С++ (а с учетом того, что грамматика у него не context-free это превращается в нетривиальное занятие).

http://doc.trolltech.com/4.3/templates.html здесь написано почему они не используют шаблоны для сигналов и слотов. вот цитата "Qt's moc (Meta Object Compiler) provides a clean way to go beyond the compiled language's facilities. ". В данном случае ограниченные возможности не у компилируемых языков, а у С++, они просто обобщили, так как не имели дело с другими. В D это не проблема.

Возможно реализация метасистемы была бы возможна и используя шаблоны С++, но это было бы 1) супер-уродливо 2) не так гибко. На портирование moc и адаптацию его для работы в compile-time в D у меня ушел _1_ день. Я думаю это впечатляет.

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

> Кто-нибудь хочет дополнить тред ссылками на книжные магазины витрины которых набиты трудами о сабже?

Из книг была такая: http://www.ozon.ru/context/detail/id/3888810/

Лучшая документация по языку - на digitalmars.com/d

Как сие выглядит, можно глянуть здесь (тема со ссылками): http://talks.dprogramming.ru/index.php?topic=213.0

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

К словам придираться не будем, но то, что moc генерирует обычный плюсовый код - факт. Т.е. все сигналы/слоты в Qt-программах в конечном итоге оказываются реализованными стандартными плюсовыми средствами и компилятся обычным gcc, а не каким-то отдельным компилятором.

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