LINUX.ORG.RU
 

DMD 1.050 и DMD 2.035


0

0

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

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

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

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


[#]  

DMD 1.050 и DMD 2.035

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

*** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от naryl 05.11.2009 14:59:08  

Re: DMD 1.050 и DMD 2.035

Книга уже практически дописана, выйдет в марте 2010 года.

()
[#]  

DMD 1.050 и DMD 2.035

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

anonymous ()
[#]  

DMD 1.050 и DMD 2.035

По-прежнему только для x86?

anonymous ()
[#]  
Zenom

DMD 1.050 и DMD 2.035

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

  • Зачем оно нужно, когда есть C++?
  • Говно ли Java?
  • Вы все норкрманы, есть же Scala!
  • Что курят хаскелисты?
  • Python vs Ruby
  • Где же реальные программы на Lisp?
** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от Zenom 05.11.2009 21:02:04  
vkos

DMD 1.050 и DMD 2.035

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

** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от vkos 05.11.2009 21:05:29  
Zenom

DMD 1.050 и DMD 2.035

Ага, точно.

** ()
[#]  

DMD 1.050 и DMD 2.035

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

* ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от PayableOnDeath 05.11.2009 21:10:34  
shty

DMD 1.050 и DMD 2.035

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

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

*** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от vkos 05.11.2009 21:05:29  
madcore

DMD 1.050 и DMD 2.035

Pascal же еще!

***** ()
[#]  
jtootf

DMD 1.050 и DMD 2.035

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

***** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от shty 05.11.2009 21:12:31  

DMD 1.050 и DMD 2.035

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

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

* ()
[#]  
eduard_pustobaev

DMD 1.050 и DMD 2.035

Ну и чудно.

** ()
[#]  

DMD 1.050 и DMD 2.035

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

()
[#]  

DMD 1.050 и DMD 2.035

А как это язык сам по себе может быть "производительным"?

anonymous ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от slyjoe 05.11.2009 21:43:03  

Re: DMD 1.050 и DMD 2.035

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

anonymous ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от anonymous 05.11.2009 21:46:43  
mikhalich

DMD 1.050 и DMD 2.035

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

** ()
[#] Ответ на: Re: DMD 1.050 и DMD 2.035 от anonymous 05.11.2009 21:49:05  

DMD 1.050 и DMD 2.035

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

()
[#] Ответ на: DMD 1.050 и DMD 2.035 от PayableOnDeath 05.11.2009 21:10:34  
Stvad

DMD 1.050 и DMD 2.035

плюсую...

* ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от vkos 05.11.2009 21:05:29  

DMD 1.050 и DMD 2.035

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

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

**** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от eldar_insafutdinov 05.11.2009 21:57:21  

DMD 1.050 и DMD 2.035

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

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

**** ()
[#]  
MYMUR

DMD 1.050 и DMD 2.035

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

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

**** ()
[#]  
burzumko

DMD 1.050 и DMD 2.035

хочу свежие биндинги!
особливо для cairo

()
[#] Ответ на: DMD 1.050 и DMD 2.035 от yyk 05.11.2009 22:01:23  

DMD 1.050 и DMD 2.035

http://qtd.pastebin.com/m14bada03

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

()
[#] Ответ на: DMD 1.050 и DMD 2.035 от MYMUR 05.11.2009 22:09:13  

Re: DMD 1.050 и DMD 2.035

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

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

*** ()
[#] Ответ на: Re: DMD 1.050 и DMD 2.035 от naryl 05.11.2009 22:23:46  
Mystra_x64

Re: DMD 1.050 и DMD 2.035

x86-64 есть, это уже интереснее.

***** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от slyjoe 05.11.2009 21:43:03  

DMD 1.050 и DMD 2.035

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

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

***** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от eldar_insafutdinov 05.11.2009 21:57:21  
ferhiord

DMD 1.050 и DMD 2.035

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

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

** ()
[#]  
ferhiord

DMD 1.050 и DMD 2.035

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

** ()
[#] Ответ на: Re: DMD 1.050 и DMD 2.035 от anonymous 05.11.2009 21:49:05  

Re: DMD 1.050 и DMD 2.035

>>-----Цитата---->>

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

<<-----Цитата----<<

А ты сюда посмотри: http://www.prowiki.org/wiki4d/wiki.cgi?CurrentDUse

Пока Ежи бил в бубен сидел на ЛОРе, Петруччо переписывал на D Morrowind.

anonymous ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от slyjoe 05.11.2009 21:43:03  

Re: DMD 1.050 и DMD 2.035

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

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

* ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от ferhiord 05.11.2009 22:46:48  

DMD 1.050 и DMD 2.035

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

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

* ()
[#]  
anonizmus

DMD 1.050 и DMD 2.035

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

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

* ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от ferhiord 05.11.2009 22:45:47  

DMD 1.050 и DMD 2.035

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

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

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

()
[#]  

DMD 1.050 и DMD 2.035

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

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

()
[#] Ответ на: DMD 1.050 и DMD 2.035 от vkos 05.11.2009 21:05:29  
valich

DMD 1.050 и DMD 2.035

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


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

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

*** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от eldar_insafutdinov 05.11.2009 23:38:57  
MYMUR

DMD 1.050 и DMD 2.035

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

**** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от MYMUR 05.11.2009 23:55:42  
vkos

DMD 1.050 и DMD 2.035

Чем компилятор в C++ отличается от препроцессора?

** ()
[#] Ответ на: DMD 1.050 и DMD 2.035 от vkos 06.11.2009 0:03:11  

Re: DMD 1.050 и DMD 2.035

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

anonymous ()
[#] Ответ на: Re: DMD 1.050 и DMD 2.035 от naryl 05.11.2009 22:23:46  

DMD 1.050 и DMD 2.035

> Под Linux есть и x64

Еще нет, ну по крайней мере взять негде.

()
[#] Ответ на: DMD 1.050 и DMD 2.035 от MYMUR 05.11.2009 23:55:42  

DMD 1.050 и DMD 2.035

Не стоит к словам придираться, вы прекрасно понимаете о чем я. Компилятором я его назвал потому что 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_ день. Я думаю это впечатляет.

()
[#]  
NoNameNoNumber

DMD 1.050 и DMD 2.035

Сабж будет в Qt?

()
[#] Ответ на: DMD 1.050 и DMD 2.035 от valich 05.11.2009 23:49:49  

DMD 1.050 и DMD 2.035

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

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

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

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

()
[#] Ответ на: DMD 1.050 и DMD 2.035 от eldar_insafutdinov 06.11.2009 0:16:42  
MYMUR

DMD 1.050 и DMD 2.035

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

**** ()