LINUX.ORG.RU

Вышли новые версии оригинальных компиляторов языков D2 и D1

 ,


0

2

На днях вышли новые версии оригинальных компиляторов языков программирования D2 и D1 от коллектива авторов.

Как обычно, внесены как изменения и дополнения в стандартную библиотеку D2, так и многочисленные исправления (это касается обоих компиляторов). Некоторые важные изменения:

  • Продолжено улучшение поддержки 64-битных систем Linux, теперь эта поддержка декларируется официально, исправлен ряд ошибок и регрессий, связанных с компиляцией под 64-битную архитектуру.
  • В стандартную библиотеку добавлен модуль std.datetime, заменивший собою модули std.date и std.gregorian.
  • Добавлена поддержка HTML5.
  • Добавлен новый генератор случайных чисел — Xorshift random generator.
  • Исправлены 68 ошибок и регрессий в D2, в том числе и очень старых.

deb-пакет уже доступен для загрузки на официальной страницы, rpm-пакет, видимо, будет готов в ближайшее время.

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

★★★★★

Проверено: post-factum ()
Последнее исправление: shimon (всего исправлений: 6)
Ответ на: комментарий от pathfinder

> Добавили бы спец информацию к код для нативной поддержки сборки мусора...

Сам язык не менялся очень давно. Все новшества заключаются в добавлении новых функций и прочих свисто-пукалок в разряд «стандартные».

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

По-моему, сборщик мусора для С++ и сборщик мусора в !!!ассемблере - звучит одинаково реалистично.

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

> C++ - заложник совместимости с существующим кодом и С...

Если гора не идет к Магомету... Т.е. если системщики не переходят на любимые вам языки, то нужно ИХ язык привести к привычному вам виду, так? Да оставьте в покое С/С++ и создавайте другие, в т.ч. на базе них, называйте их D, E, F... Z, Z++ и пишите на них сколько душе угодно.

На текущем С++ будут писать еще долго и упорно, просто его аудитория сократится до небольшого круга суровых системщиков. Так было с ассемблером, так происходит с Си.

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

>Т.е. если системщики не переходят на любимые вам языки, то нужно ИХ язык привести к привычному вам виду, так? Да оставьте в покое С/С++ и создавайте другие, в т.ч. на базе них, называйте их D, E, F... Z, Z++ и пишите на них сколько душе угодно.

«Лоровцы пишут письмо в комитет по стандартизации». Ну никак он не может оставить в покое C++.

до небольшого круга суровых геймдевов

fixed. Ну и КДЕ конечно. А системщикам и С хватает.

anonymous
()

Прошу прощения (тред не читал), но зачем нужен D? С++ ненужно - это уже практически факт. Ocaml неплохо справляется со скоростью и с кривизной плюсов, шаг вперед на 10 миль. Haskell тот же как заменитель плюсов вполне пригоден. Для тех, кто так не считает - C# и Java. Какова ниша D?

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

> Си++ - да, надо оставить в покое. А из Си сделать Ivy или что-то похожее на Cyclone.

Пробовал что-то писать на Cyclone? Можешь показать?

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

>С++ ненужно - это уже практически факт.

Начал с 4.2 в треде.

Ocaml неплохо справляется со скоростью и с кривизной плюсов, шаг вперед на 10 миль.

Ocaml шагает с невероятной скоростью, но на нем же не кодит никто. Да и можно ли назвать замедление от 2 до 8 раз таким уж прогрессом? Может попилить его еще и тогда он себя покажет?

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

>> С++ ненужно - это уже практически факт.

Начал с 4.2 в треде.

Я-то? Ну давай, рассказывай области в которых нужны плюсы. Я назову всего лишь 3 - gamedev, legacy, вирусы. Из первой их со временем вытеснят Python, Lua, Lisp (в какой-то реализации) etc. С легаси все ясно вроде, с вирусами и эксплоитами тоже. В чем 4.2?

Ocaml шагает с невероятной скоростью, но на нем же не кодит никто

Ну а того, кто кодит, это вестимо не ебет, правда?

Да и можно ли назвать замедление от 2 до 8 раз таким уж прогрессом?

По сравнению с чем? Цифра 8 тут фигурирует только для дискриминации. Презентацию Лева Валкина смотрел?

Может попилить его еще и тогда он себя покажет?

Может и покажет. Но, как по мне, Haskell будет менее многословным, чем Ocaml. И поинтереснее, да

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

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

Джитованный дотнетовский код ведь как-то работает. Не надо изобретать велосипед, нужно просто сделать, как в том же дотнете. Я так понимаю, что С++ просто не хватает наличия нормальной метаинформации о системе типов и контексте исполнения (неизвестно какие переменные, каких типов используются в текущей нити).

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

Я назову всего лишь 3 - gamedev, legacy, вирусы. Из первой их со временем вытеснят Python, Lua, Lisp (в какой-то реализации) etc.

LOL

Скоро графикой и физикой будет заниматься питон. Геймдев зашагает семимильными шагами.

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

>> Я назову всего лишь 3 - gamedev, legacy, вирусы. Из первой их со временем вытеснят Python, Lua, Lisp (в какой-то реализации) etc.

LOL

Скоро графикой и физикой будет заниматься питон. Геймдев зашагает семимильными шагами.



Python будет использоваться для логики, как и Lua. А со временем и для числодробилок. Есть сомнения? А для числодробилок будут использоваться Ocaml и Haskell, это же очевидно

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

> А для числодробилок будут использоваться Ocaml и Haskell, это же очевидно

в перспективе на ближайшее время. Хотя, возможно, они и полностью вытеснят динамически типизированные языки

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

>> А для числодробилок будут использоваться Ocaml и Haskell, это же очевидно

Не очевидно. Аргументируй.

Ближайшее будущее за параллелизмом. А с ним все отлично в относительно чистых статически типизированных языках. Я же не про Erlang. Недавно приходилось писать небольшую числодробилку для кластера из 270 машин. Писал на С. Но, когда компиляторы ML-подобных языков чуток подтянутся по производительности к С - я буду предпочитать именно их императивным языкам с побочными эффектами.

Если нужна какая-то еще аргументация - задавай вопросы.

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

С биндингами на Си, да? Да и скорость пистона как-то вызывает сомнения, как и отсутствие JIT. Скорее уж шарп победит - у него хоть ацкий пиар есть от известно кого. И полный комплект разработчика - VS+XNA.

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

>Ну давай, рассказывай области в которых нужны плюсы. Я назову всего лишь 3 - gamedev, legacy, вирусы.

Вычисления всякие там высокопроизводительные, серверное ПО, к времени отклика критичное. И наверняка мы с тобой еще что-то забыли.

Из первой их со временем вытеснят Python, Lua, Lisp (в какой-то реализации) etc.

Подождем, пока движки на скриптовых языках пойдут валом, а до тех пор 4.2

С легаси все ясно вроде, с вирусами и эксплоитами тоже.

легаси - это КДЕ? им уже начинать на ocaml'е переписывать?

Презентацию Лева Валкина смотрел?

Нет, а он это смотрел: http://shootout.alioth.debian.org/u64q/ocaml.php

Может и покажет. Но, как по мне, Haskell будет менее многословным, чем Ocaml. И поинтереснее, да

Вот и ты бросил ocaml ради прелестей другого языка. Так КДЕшников теперь на хаскель ориентировать?

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

У Python-a будет пиар от Google, если чо. Yandex сервисы на нем маслает активно сейчас, и многие другие. Ссылки можно найти на djangoproject.com

alienclaster ★★★
()

Кстати да, gamedev действительно переползает уже на более другие, чем Си унд Плюсы, языки. http://love2d.org/ - движок для игр, написанных на Lua Да и активнейший пиар XNA с C# рано или поздно даст плоды.

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

> У Python-a будет пиар от Google, если чо. Yandex сервисы на нем маслает активно сейчас

Google -> Go и Java

А насчёт яндекса сегодня читал в рассылке, что они собираются плотно поюзать server side javascript, не знаю правда или слухи

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

>gamedev действительно переползает

http://love2d.org/ - движок для игр, написанных на Lua

Ждем тайтлов от EA на love2d.

пиар XNA с C# рано или поздно даст плоды.

XNA - это биндинги к чему?

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

>действительно неплохо получается

Не получается. Движок-то сам на плюсах и к нему lua прикручен.

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

Ну давай, рассказывай области в которых нужны плюсы. Я назову всего лишь 3 - gamedev, legacy, вирусы.

Вычисления всякие там высокопроизводительные

Чем С не угодили? OOC читал ведь?

серверное ПО, к времени отклика критичное. И наверняка мы с тобой еще что-то забыли.

RT или что там критичное? Тот же С.

Из первой их со временем вытеснят Python, Lua, Lisp (в какой-то реализации) etc.

Подождем, пока движки на скриптовых языках пойдут валом, а до тех пор 4.2

Эти языки вытеснили уже. Для игровой логики. Раньше она ведь тоже была на плюсах.

Нет, а он это смотрел: http://shootout.alioth.debian.org/u64q/ocaml.php

Ну так посмотри . Shootout достаточно специфический ресурс. К _исходникам_ на нем нужно относиться соответственно.

Может и покажет. Но, как по мне, Haskell будет менее многословным, чем Ocaml. И поинтереснее, да

Вот и ты бросил ocaml ради прелестей другого языка. Так КДЕшников теперь на хаскель ориентировать?

KDE это ущербное поделие изначально, не знаю даже, что тебе посоветовать. А вот xmonad (на хаскеле, да) работает неплохо, шустренько. И поддерживает достаточно тривиальные расширения функционала.

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

У Python-a будет пиар от Google, если чо. Yandex сервисы на нем маслает активно сейчас

Google -> Go и Java

:) Это в теории. На практике C++, Java и Python.

А насчёт яндекса сегодня читал в рассылке, что они собираются плотно поюзать server side javascript, не знаю правда или слухи

Я тоже не знаю, зато знаю, что практически _все_ их новые сервисы пишутся на Django. Здесь можно найти пруфы и неплохой форум по фреймворку.

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

>> Кстати да, gamedev действительно переползает уже на более другие, чем Си унд Плюсы, языки.

http://love2d.org/screenshots/love-060.png
действительно неплохо получается

Это че такое вообще? Eve Online уже не катит за пруф питоноигры? :)

PS: ты кстати в Херсоне еще или уже в Киеве?

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

> в Фортране и Питоне этой фигни нет.

В Фортране и Питоне отступы влияют на семантику. Что бесит, невзирая на уважение к (особенно первому).

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

>Чем С не угодили? OOC читал ведь?

Я тебе про вычисления, а ты мне ссылку на ООП для бедных, где все проблемы через void* решаются.

RT или что там критичное? Тот же С.

C - это который указатель и массив не различает? Не, не согласятся многие.

Эти языки вытеснили уже. Для игровой логики. Раньше она ведь тоже была на плюсах.

И из этого ты делаешь вывод, что и движки скоро на сценарных языках будут писать? Очень может быть, в Апокалипсисе написано, что в конце все будет очень плохо и люди потеряют рассудок.

Shootout достаточно специфический ресурс. К _исходникам_ на нем нужно относиться соответственно.

А ты напиши как правильно и запость. Специально жулье ocaml зажимает? мы всем лором придем его защищать.

KDE это ущербное поделие изначально, не знаю даже, что тебе посоветовать.

Один у тебя выход - массовые расстрелы несогласных. Впрочем, сначала отпишись к ним в рассылку, что C++ себя исчерпал, скопипасть отсюда аргументы, чтобы совесть была чиста.

А вот xmonad (на хаскеле, да) работает неплохо, шустренько. И поддерживает достаточно тривиальные расширения функционала.

Окошками манипулировать - это тот же скриптинг. И то иногда задумывается. Жаль никто всю графическую подсистему на хаскеле не замутил еще, вот бы у тебя козырь был на руках.

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

XNA - managed-обертка для COM-компонентов DirectX же. С учетом, что Нокла теперь за виндовс, можно ожидать массового продвижения этой штуки. Да и X-box - самая популярная консоль же из современных, так что... Там и ЕА задумается, да. А еще лет через тридцать Мигель портирует и XNA.

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

>> Чем С не угодили? OOC читал ведь?

Я тебе про вычисления, а ты мне ссылку на ООП для бедных, где все проблемы через void* решаются.


Я упреждающую ссылку дал, если бы ты начал говорить о том, что не хватает в С «исключений, шаблонов и всего остального»

Эти языки вытеснили уже. Для игровой логики. Раньше она ведь тоже была на плюсах.

И из этого ты делаешь вывод, что и движки скоро на сценарных языках будут писать? Очень может быть, в Апокалипсисе написано, что в конце все будет очень плохо и люди потеряют рассудок.


В первом приближении, вытеснить могут ML-подобные, о чем я написал. Ну и скоростные реализации лиспа, того же CL.

Shootout достаточно специфический ресурс. К _исходникам_ на нем нужно относиться соответственно.

А ты напиши как правильно и запость. Специально жулье ocaml зажимает? мы всем лором придем его защищать.


Специфика Шутаута известна - как раз-таки стараются на скорость налегать. Но обычно, даже если скорость ВНЕЗАПНО на порядок меньше, это никогошеньки ниибет, если разработка прототипа (и дальнейшая его модификация, проработка) происходит быстрее хотя бы процентов на 100%. Потому что инвесторам, пользователям и всем остальным вобщем-то поебать на скорость разработки. В сравнении со скоростью поддержки и доработки. Будешь спорить?

DE это ущербное поделие изначально, не знаю даже, что тебе посоветовать.

Один у тебя выход - массовые расстрелы несогласных.


Расстрелы - достаточно неэффективный и радикальный способ устранения «неправильных» мнений, которые неправильными могут и не оказаться. Убийство - херовенький в эволюционном смысле способ решения вопросов / конфликтов.

Окошками манипулировать - это тот же скриптинг. И то иногда задумывается. Жаль никто всю графическую подсистему на хаскеле не замутил еще, вот бы у тебя козырь был на руках.


Я с тобой согласен - графическая подсистема была бы козырем. На данный же момент имееем объективно лучший тайловый менеджер. Что тоже неплохо ящитаю как для «маргинального язычка»

alienclaster ★★★
()

У, какое рубилово... ;-)

Новые идеи побеждают, когда умирают сторонники старых. Как то расхваливаая очередной ЯП народ забывает, что переход от старого и хренового ЯП к новому и в стразиках, кроме бонусов от стразиков несет еще нехилые накладные расходы. Если разработка не фан, а способ решения прагматических задач, то новый ЯП должен иметь ну какие то нереальные преимущества по сравнению со страыми что б ими заинтересовались. Это раз.

Любая универсальная фича проигрывает узкоспециализированной в области специализации последней - для меня это как бы аксиома, и это для любой области человесческой деятельности. Поэтому напр связка С++ и Питон такая клевая - каждый из них решает свою часть задачи, в итоге получается эффективно. И когда начианют грить - вот новый супер-пупер D (G,E,F .. Z) всех убъет и один останется у меня появляются сильные сомнения... Да, на нем можно будет писать все - но одинаково хреново;-) Это два.

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

>XNA - managed-обертка для COM-компонентов DirectX же.

Ну вот, опять обертка над C++.

С учетом, что Нокла теперь под виндовс, можно ожидать массового продвижения этой штуки.

fixed. У майкрософт небольшой опыт в провале телефонов на рынке, у нокии - большой. Теперь они синергически объеденятся.

Да и X-box - самая популярная консоль же из современных, так что... Там и ЕА задумается, да.

Она уже задумалась и выпустила кучу игру для Xbox (конечно, без всякого XNA, XNA - для энтузиастов).

А еще лет через тридцать Мигель портирует и XNA.

В Mono? Наконец-то у многих появится реальная и легальная возможность поучавствовать в успехе microsoft, поделиться своим доходом.

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

>Я упреждающую ссылку дал, если бы ты начал говорить о том, что не хватает в С «исключений, шаблонов и всего остального»

Не хватает исключений, шаблонов и всего остального. Суррогат из void* не предлагать.

Но обычно, даже если скорость ВНЕЗАПНО на порядок меньше, это никогошеньки ниибет, если разработка прототипа (и дальнейшая его модификация, проработка) происходит быстрее хотя бы процентов на 100%.

Как-то ты от тезиса «особо не уступает C по скорости» перешел на «сейчас никому доверять нельзя», а потом на «да не надо вообще на скорость дрочить».

Я с тобой согласен - графическая подсистема была бы козырем.

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

На данный же момент имееем объективно лучший тайловый менеджер.

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

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

Кстати, насчет игр. Под линукс нет никакой инфраструктуры - не IDE некрасноглазой, ни драйверов функциональных и безглючных. Ни единого цельного SDK - только сонмы отдельных библиотек, которые с помощью какой-то матери надо спаривать друг с другом, и самому с ними.

// Надо же срач в нормальное русло перевести - Ди очевидно РИП, и так всем ясно

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

>> Си++ - да, надо оставить в покое. А из Си сделать Ivy или что-то похожее на Cyclone.

Пробовал что-то писать на Cyclone?

Нет. Язык умер до того, как я о нем узнал :/

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

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

Джитованный дотнетовский код ведь как-то работает. Не надо изобретать велосипед, нужно просто сделать, как в том же дотнете.

Ага, и производительность станет как не дотнете. Тогда уж плюсы действительно не будут нужны. Нет уж, не надо таких «улучшений»!

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

> Я упреждающую ссылку дал, если бы ты начал говорить о том, что не хватает в С «исключений, шаблонов и всего остального»

OOC - «упреждающая ссылка»? Да каждый второй третьекурсник ваял такую фигню. Но фигня она и есть фигня - параметризуемых типов и нормальных исключений в Си не добавляется.

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

> Тока сейчас заметил, что Вы C и C++ не различаете. Разве так можно.

Почему, различаю. Плюсы - пакет надстроек над Си. Но основная концепция одна. Это «Языки высокого уровня, максимально близкие к ассемблеру». Так изначально позиционировали Си. Посему такие «вкусности» как сборщик мусора там просто невозможны. В обоих языках.

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

>Но, когда компиляторы ML-подобных языков чуток подтянутся

Любой отдельно взятый ML компилятор пилят лет 20, как минимум. И еще лет эдак 20 исследований предшествовало. Так что жди, в следующей жизни будет.

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

Правда? а почему же тогда Qt на плюсах написан, как и большинство юзающего его софта? Плюсы как бы именно как высокоуровневый ЯП позиционировали, что неверно. В итоге имеем монстров вроде фотошопа, тот самый legacy то есть.

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

>но на нем же не кодит никто

Злостное 4.2. Кодят.

замедление от 2 до 8 раз таким уж прогрессом


«Оптимизаторов» нужно отстреливать, однозначно. Ибо много зла они принесли.

Может попилить


Поздно его пилить.

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

>возьмем типичный себе десктоп на маке или винде

AutoCAD, фотожоп

очень типично, ага. добавь Eclipse/NetBeans тогда, вот тебе и на яве чего нашлось. и вообще не десктопом единым

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

> очень типично, ага

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

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

> Я-то? Ну давай, рассказывай области в которых нужны плюсы. Я назову всего лишь 3 - gamedev, legacy, вирусы.

Системные либы (хотя там больше Си), приложения/прошивки для малопроизводительных устройств, серверы, криптография и прочая математика... можно долго перечислять. Начнем с того, Что горячо любимые здесь сидящими ява, питон, дотнет и т.д. требуют виртуальные машины, написанные угадайте на чем.

Да и обычный повседневный софт я предпочитаю в Си/плюсовом исполнении. В наше время у разработчиков принято считать, что их софтина будет крутиться на современных компах в гордом одиночестве. А на практике это оказывается старый сервачок с железом из девяностых, на который хотят «повесить еще и эту задачу».

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

Мсье, позвольте поинтересоваться, большой ли у Вам опыт разработки на Ocaml? И еще интереснее, какой на Haskell.

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

> Скоро графикой и физикой будет заниматься питон. Геймдев зашагает семимильными шагами.

Только при условии, что железо будет развиваться 70-мильными шагами =) Читайте бенчмарки.

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

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

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

>Ага, и производительность станет как не дотнете. Тогда уж плюсы действительно не будут нужны. Нет уж, не надо таких «улучшений»!

Думаешь с new память выделять быстрее, чем с GC?

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