URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 115192
[ Назад ]

Исходное сообщение
"Вышел компилятор языка D 2.082"

Отправлено opennews , 05-Сен-18 00:08 
Состоялся (https://dlang.org/blog/2018/09/04/dmd-2-082-0-released/) релиз основного эталонного компилятора DMD 2.082.0 (https://github.com/dlang/dmd/), который поддерживает системы GNU/Linux, Windows, macOS и FreeBSD. Язык D использует статическую типизацию, обладает синтаксисом, схожим с C/C++, и обеспечивает производительность компилируемых языков, при этом заимствуя некоторые полезные возможности динамических языков в области эффективности разработки и обеспечения безопасности. Например, предоставляется поддержка ассоциативных массивов, косвенное определение типов, автоматическое управление памятью, средства параллельного программирования, опциональный сборщик мусора, система шаблонов, компоненты для метапрограммирования, возможность использовать библиотеки на языке C, а также некоторые библиотеки на C++ и Objective-C.

В новой версии (https://dlang.org/changelog/2.082.0.html):


-  Расширены возможности пакетного менеджера DUB: улучшена обработка зависимостей, добавлена поддержка переменных в настройках сборки и убрана автоматическая ежедневная проверка обновлений (обновления теперь проверяются только при запуске "dub upgrade");
-  Добавлены сборки для платформы Windows, заверенные цифровым сертификатом;
-  Расширен синтаксис определяемых пользователем атрибутов;
-  В подмножество языка "-BetterC", которое позволяет разрабатывать на D полностью совместимые с Си библиотеки,  добавлена возможность использования литералов массивов в инициализаторах (например, "Sint[6] a1 = [Sint(1), Sint(2), Sint(3), Sint(1), Sint(2), Sint(3)];");
-  Добавлена опция командной строки "--DRT-trapException=0" для отключения генерации исключений;
-  В модуль std.array добавлена функция staticArray.

Кроме этого следует отметить выпуск компилятора LDC 1.12.0-beta1 (https://github.com/ldc-developers/ldc/releases/tag/v1.12.0-b...), развиваемого на базе наработок проекта LLVM. В новой версии обеспечена поддержка  LLVM 6.0, проведена оптимизация математической библиотеки, добавлена поддержка LTO-оптимизаций для платформы Win64.


URL: https://dlang.org/blog/2018/09/04/dmd-2-082-0-released/
Новость: https://www.opennet.ru/opennews/art.shtml?num=49228


Содержание

Сообщения в этом обсуждении
"Вышел компилятор языка D 2.082"
Отправлено Дуплик , 05-Сен-18 00:08 
Когда этот D в GCC включат уже? Ведь были подвижки!

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 00:19 
Первый раз Дуплика плюсанул.

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 08:51 
Вы таки не поверите

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 00:23 
D так костылями облеплен, что не так уж от C++ ушел, но C++ при этом быстрее и обеспечен гигантским числом библиотек, которые не надо биндить, а просто использовать

"Вышел компилятор языка D 2.082"
Отправлено Аноним_ка , 05-Сен-18 01:11 
Список костылей в студию.
>но C++ при этом быстрее

Пруфца бы
>которые не надо биндить, а просто использовать

Ругая чертов язык и десятистраничные сообщения об ошибках с шаблонным говном?


"Вышел компилятор языка D 2.082"
Отправлено Crazy Alex , 05-Сен-18 01:34 
...а потом ты хочешь написать range for но понимаешь, что тебе нужен и индекс тоже. И вдруг оказывается, что в D это (и массу других "мелочей") учли, а в плюсах - нет.

Впрочем, C++14 и дальше стали весьма приличным языком, тут не поспорить.

Ну и насчёт скорости - бабка надвое сказала, сильно от контекста зависит. Например, в D во многих ситуациях вы не потеряете время на освобождение памяти вообще - потому что это не обязательная операция, отделённая от собственно вызова деструкторов, и с шансами процесс завершится вообще без вызова GC. Со строками, опять же, куда шустрее работа именно за счёт использования GC и слайсов.

А либ сейчас довольно много уже набралось. Впрочем, всё это D вряд ли спасёт, против повсеместно используемых плюсов и продвигаемого гуглом Go один хрен не вытянет. А жаль.


"Вышел компилятор языка D 2.082"
Отправлено _ , 05-Сен-18 01:51 
>Впрочем, всё это D вряд ли спасёт

Походу - так.
>против повсеместно используемых плюсов и продвигаемого гуглом Go один хрен не вытянет.

Ну-да, ну-да! Виноват кто угодно, но не Королева?! :)
А ещё желательно ткнуть где же это гуголь продвигает Go? Не 5 лет назад, а вот сейчас? Сюрприз - оно уже давно само ... 8-)
>А жаль.

А нас ... орда! :) Всё суета сует, всё сущее уже было и ещё будет (С)


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 13:47 
> Ну-да, ну-да! Виноват кто угодно, но не Королева?! :)

Так никто не виноват же, просто ресурсы не сопоставимы.


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 18:53 
> А ещё желательно ткнуть где же это гуголь продвигает Go? Не 5 лет назад, а вот сейчас?

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


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 06-Сен-18 22:18 
> хотя изначально авторы были против

Они не были против, они не знали как сделать дженерики так, чтобы результат их устраивал, потому не делали никак.


"Вышел компилятор языка D 2.082"
Отправлено _ , 08-Сен-18 03:19 
>Вот прямо сейчас в Go впиливают дженерики,

один пропозал от ХЗ кого для Go v2.0 == прямо сейчас впиливают?!?!? Ню-ню ... :)


"Вышел компилятор языка D 2.082"
Отправлено нона , 05-Сен-18 05:34 
> продвигаемого гуглом Go один хрен не вытянет.

Почему продвигаемый? Отличный язык.
Людям нравится, он естественно становится популярным.


"Вышел компилятор языка D 2.082"
Отправлено qwerty123 , 05-Сен-18 08:03 
>Почему продвигаемый?

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

Если бы это частная была разработка пары олдскульных чуваков, то мало вероятно мы бы узнали о нем.


"Вышел компилятор языка D 2.082"
Отправлено qrKot , 05-Сен-18 08:42 
>> Если бы это частная была разработка пары олдскульных чуваков, то мало вероятно мы бы узнали о нем.

Собственно, изначально оно примерно так и было. Просто оказалось, что это правильные олдскульные чуваки, и их гугл прикупил. Других не прикупил, они оказались менее правильными олдскульными чуваками.


"Вышел компилятор языка D 2.082"
Отправлено qwerty123 , 05-Сен-18 13:16 
>Просто оказалось, что это правильные олдскульные чуваки

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


И что-то отменяет факт вмененной политики разработки в крупной компании?
И сопутсвующих инвестиций в разработку?



"Вышел компилятор языка D 2.082"
Отправлено _ , 08-Сен-18 03:25 
А ты знаешь хоть один язык для промышленности который делали для повышения стоимости ***blah-blah-blah*** ?  ;-)

"Вышел компилятор языка D 2.082"
Отправлено freehck , 05-Сен-18 14:38 
>> Если бы это частная была разработка пары олдскульных чуваков, то мало вероятно мы бы узнали о нем.
> Собственно, изначально оно примерно так и было. Просто оказалось, что это правильные олдскульные чуваки, и их гугл прикупил.

Разработка Go началась в 2007 году. Пайк работает в гугле с 2002го. Томпсон с 2006го. "Примерно так оно и было", ага.


"Вышел компилятор языка D 2.082"
Отправлено _ , 08-Сен-18 03:37 
>Пайк работает в гугле с 2002го. Томпсон с 2006го.

Ну дык - плюс Гуглу, прибирают талантливых перцев, а не средневонючее ****о
И заметь результат - ЕСТЬ.
Go lang живёт уже сам по себе, сам себя раскручивая. Гугел с его помощью уже  выкинул кучу С++ кода (dl.google.com - первый и полностью) и сЪэкономил бабла уже больше, чем когда то вложил ... "так что же тебе ещё надобно, пёс смердячий?!" (С) ИВмп.


"Вышел компилятор языка D 2.082"
Отправлено freehck , 10-Сен-18 04:00 
> И заметь результат - ЕСТЬ.

Суть не в вашеском cраче "хорош го или плох". Суть в том, что гражданин в сообщении #10 утверждает, что голанг начали разрабатывать пара олдскульных чуваков, которых затем гугл прикупил. Тем не менее, гугл именно что прикупил пару олдскульных чуваков, причём легенд, а затем уже заказал им проектирование нового языка под свои нужды. Очень большая разница.


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 08:54 
Отличный язык, а библиотеки на шитхабе. NPM-hell вас ничему не научил?

"Вышел компилятор языка D 2.082"
Отправлено qwerty123 , 05-Сен-18 13:19 
>NPM-hell вас ничему не научил?

На экранах TV, скоро, новый сериал "GO-бардак" и "Новые костыли всегда лучше".



"Вышел компилятор языка D 2.082"
Отправлено dq0s4y71 , 05-Сен-18 13:05 
> Впрочем, C++14 и дальше стали весьма приличным языком, тут не поспорить.

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


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 21:10 
move semantic порешал многие проблемы с выстрелами в ногу, например.

"Вышел компилятор языка D 2.082"
Отправлено Crazy Alex , 06-Сен-18 15:09 
Не знаю, как насчёт костылей, а с помощью новых возможностей - запросто. А дальше - - берёшь C++ guidelines и пишешь, как там рекомендовано. И на ревью то, что им противоречит, не пропускаешь.

"Вышел компилятор языка D 2.082"
Отправлено glebiao , 07-Сен-18 07:45 
> Не знаю, как насчёт костылей, а с помощью новых возможностей - запросто.
> А дальше - - берёшь C++ guidelines и пишешь, как там
> рекомендовано. И на ревью то, что им противоречит, не пропускаешь.

я даже больше скажу. компактность бинарного (исполняемого) кода и быстродействие у C++ всегда будет выше.

но "затраты" на написание практически не уменьшается и => скорость написания кода, практически не увеличивается. Облегчается, но не радикально. Ну невозможно одновременно пытаться притягивать язык к железу и в то же время наращивать новые и новые абстракции, да ещё в шаблонном коде, разобраться в котором может только автор и только под мухой.


"Вышел компилятор языка D 2.082"
Отправлено dq0s4y71 , 07-Сен-18 15:34 

> я даже больше скажу. компактность бинарного (исполняемого) кода и быстродействие у C++
> всегда будет выше.

У джавы же!


"Вышел компилятор языка D 2.082"
Отправлено ZhNavigator , 08-Сен-18 07:08 
Уже энное количество лет слежу за развитием этого языка, так вот с самого первого знакомства наткнулся на такую "МАЛЕНЬКУЮ" фичу: если в деструкторе использовать выделение памяти, то о сборище мусора можно забыть. Т.е. я создаю объекты, и вручную их не удаляю, т. е. полагаюсь на GC. Так, вот если в деструкторе будет выделение памяти, а она выделяется если, например, нужно отформатировать строку, то прога падает... хе.хе. Да, писал в багтрекер, сказали: да, есть такое. И как бы ВСЁ?!
Смотрел на те немногие проекты что на нем написаны. Так, как раз используют ручное освобождение памяти. По моему скромному мнению, такой язык так и останется так где он сейчас.

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 12:25 
>но C++ при этом быстрее

Да и х. с ним, что бинарный код, произведённый компилятором D, может быть, медленнее. Но когда нужно прожку попой в инет выставить, то D видится более безопасным, чем C++ и уж, тем более, чем C.


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 15:45 
Тогда уж C#, у D нет ниши

"Вышел компилятор языка D 2.082"
Отправлено J.L. , 05-Сен-18 17:25 
>> Но когда нужно прожку попой в инет выставить, то D видится более безопасным, чем C++ и уж, тем более, чем C.
> Тогда уж C#, у D нет ниши

у C# нет ниши, или вы прожки в инет выставляете с винды?


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 22:33 
Каким образом C# привязан к винде? Хотя не отвечай. Уровень твоего понимания темы уже понятен и твое мнение не интересно никому

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 06-Сен-18 10:54 
>Тогда уж C#

С# в машинные коды могёт, чтоб без всяких там CLI? А D могёт.


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 06-Сен-18 11:26 
C# ? Тогда представь, у тебя MIPSEL, 16 Мбайт Flah, 32 Мбайт ОЗУ, OpenWRT. И тут ты такой, пытаешься на это Mono вкорячить.

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 08:33 
любимый досуг программистов - писать новые языки программирования.
чтобы их потом изучать и спорить о достоинствах и перспективах :)

"Вышел компилятор языка D 2.082"
Отправлено Попугай Кеша , 05-Сен-18 11:00 
Вообще да, так приятно посмеяться над программистами. Не так ли?

А вы то у нас умный, образованный, небось этот, бизнесмен или еже еси капиталист? Нет? Владелец производства или блогер? Короче, реальный пацан, достигший успеха, ведь так? Или как?

Программисты создают, все остальное - паразиты, которые пользуются плодами их труда. Кто-то даже пользу приносит (UX/UI-специалисты), а кто-то так, паразитирует на чужом труде, продавцы разные, менеджеры эффективные и иже с ними


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 06-Сен-18 17:26 
А у меня инстак приносит в месяц больше (и это за три месяца с нуля на уникальном контенте - тупо тревел-блог), чем приносила основная работа (программистом, кстати). Так что не надо ляля про паразитов. Кто нужнее показывает размер доходов.

"Вышел компилятор языка D 2.082"
Отправлено _ , 08-Сен-18 03:48 
А ты торгуй кайфом! Будешь ещё более уважаемым и нужным (судя по доходам) :-)

"Вышел компилятор языка D 2.082"
Отправлено dq0s4y71 , 05-Сен-18 13:08 
Досуг это для школоты, для программистов это - крайняя необходимость.

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 08:45 
Время тратят на этот D; могли бы помогать улучшать Rust, Swift

"Вышел компилятор языка D 2.082"
Отправлено Клыкастый , 05-Сен-18 09:36 
в зависимости от вкуса названия языков можно переставлять.

"Вышел компилятор языка D 2.082"
Отправлено glebiao , 05-Сен-18 10:02 
>Время тратят на этот D; могли бы помогать улучшать Rust, Swift

Это РАЗНЫЕ языки. Воспринимай D как "компилятор Питона": язык, допускающий или точнее, даже *заточенный* на очень *быстрое* написание достаточно надёжного нативного кода. Скорость написания рабочего кода на D лишь совсем незначительно уступает Питону. Скорость выполнения на порядок больше.

У Раста другая парадигма. Для малых коллективов/малобюджетных проектов и одиночек, D просто спасение.  Но порог вхождения в D сильно выше, чем в Питон.


"Вышел компилятор языка D 2.082"
Отправлено Gemorroj , 05-Сен-18 10:18 
и еще, в отличие от питона, D - красивый язык)

"Вышел компилятор языка D 2.082"
Отправлено Попугай Кеша , 05-Сен-18 11:00 
Ну я даж не знаю. Это чистая вкусовщина же. Разве нет? Мне вот LISP нравится. Вот он - красивый с моей точки зрения.

"Вышел компилятор языка D 2.082"
Отправлено HyC , 05-Сен-18 16:05 
> Ну я даж не знаю. Это чистая вкусовщина же. Разве нет? Мне вот LISP нравится. Вот он - красивый с моей точки зрения.

Красивый. Но как язык общего назначения неудобный. Языки общего назначения красивы от дядюшки Вирта. Потому-что там под грамматику подведена математическая база, а не система костылей "а давайте мы еще вот такую фичу зопилим". Но их принято гнобить, потому-что на них нельзя без танцев с саблями стрелять себе в ногу в духе "смотрите пацаны как я могу (ц)".


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 22:21 
> Потому-что там под грамматику подведена математическая база

Почитай про лямбда исчисление что ли.


"Вышел компилятор языка D 2.082"
Отправлено glebiao , 06-Сен-18 10:38 
>и еще, в отличие от питона, D - красивый язык)

ну, это вопрос. явная перегрузка смыслов enum, например. нетривиальная семантика alias.
хотя, вопрос привычки, конечно


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 11:19 
Сомнительно, потому что насколько помню, D позиционировали как универсальный язык.
На rust и swift быстрее найти работу, потому что есть вакансии на эти языки.
А на D вакансий нет.

"Вышел компилятор языка D 2.082"
Отправлено Аноним_ка , 05-Сен-18 13:52 
>потому что есть вакансии на эти языки.

Ну на swift допустим, а вот про rust врать не надо.


"Вышел компилятор языка D 2.082"
Отправлено гугл , 05-Сен-18 16:10 
не прошел собеседование в мазилу? Иди к нам, на игого переучим!

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 06-Сен-18 11:52 
>Иди к нам, на игого переучим!

iPony, почему не под своим ником?


"Вышел компилятор языка D 2.082"
Отправлено _ , 08-Сен-18 03:39 
Там единственное условие чтбы ты в дупу давал ... как и на чём ты программируешь мазилоффцев даааавно не интересует!

Кстати - я так понял что тебя взяли? :-))))))


"Вышел компилятор языка D 2.082"
Отправлено glebiao , 06-Сен-18 10:56 
>Сомнительно, потому что насколько помню, D позиционировали как универсальный язык.

а в чём противоречие? D даёт возможность *быстро* написать код (не в ущерб современным приёмам), безопасность которого вполне на должном уровне. Это качество считается чрезвычайно важным, настолько, что даже отражено в официальном кличе "write fast, read fast, run fast". Узкой специализации при этом не заметно.

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

>А на D вакансий нет.

Ну да, *практически* нет. В СНГ, во всяком случае :)

но меня тут греют ностальгические воспоминания: когда я в 1995 году познакомился и даже немного популяризировал Python в наших краях, питоновских вакансий тоже было ровно ноль. Есть ли шансы на распространение, вопрос интересный. Имхо, шансы есть, смысл рекламироваь язык есть. Дело упирается в 1) уже написанную кодовую базу, которая пока бедновата 2) слишком уж разработчики любят словечко deprecated 3) нет хорошего учебника. Тем более, нет (для наших реалий), русскоязычного учебника. Книга Александреску хороша и даёт отличное введение в философию D, но не пригодна для начального обучения. Книга Çehreli охватывает базовый язык, но не даёт системного введения для начинающих.

как-то так.

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


"Вышел компилятор языка D 2.082"
Отправлено Crazy Alex , 06-Сен-18 15:13 
В бумаге - не уверен, а вот краудфандинг какой-то не помешал бы

"Вышел компилятор языка D 2.082"
Отправлено _ , 08-Сен-18 03:42 
>Это качество считается чрезвычайно важным, настолько, что даже отражено в официальном кличе "write fast, read fast, run fast".

Ага, а внизу мааалюсенькими буквами - "But you can take only __two__ of them." :-))))


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 07-Сен-18 07:33 
Впервые на него вглянул. Довольно тяжело воспринимается - не в пример Пайтону!

"Вышел компилятор языка D 2.082"
Отправлено glebiao , 07-Сен-18 07:41 
> Впервые на него вглянул. Довольно тяжело воспринимается - не в пример Пайтону!

Да, конечно. Порог вхождения не сильно, но заметно, выше.
А когда дойдёшь до навороченных шаблонов --- даже не в собственном коде, в стандартной библиотеке, то вааааааще ух.

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


"Вышел компилятор языка D 2.082"
Отправлено анон чик , 05-Сен-18 10:42 
А может наоборот - тратят время на этот rust/swift - могли бы на D писать?

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 12:29 
>Время тратят на этот D; могли бы помогать улучшать Rust, Swift

Идите вы своей Ржавчиной кобыле под хвост. D хотя бы гвоздями не приколочен к LLVM и Шлангу.


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 10:33 
Писал на D и на Python. После D Python просто ужасен. В здравом уме проекты больше 100 срок на нем делать бы не стал.

"Вышел компилятор языка D 2.082"
Отправлено Crazy Alex , 05-Сен-18 11:00 
Ну с динамикой всегда так - после перехода (и освоения) современных статически типизируемых языков обратно возвращаться не интересно ни для чего, кроме мелочи

"Вышел компилятор языка D 2.082"
Отправлено Попугай Кеша , 05-Сен-18 11:01 
Всегда так для кого? Зачем по себе людей судите? Нет, не все такие как вы.

"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 11:59 
Нет, мы все такие.

"Вышел компилятор языка D 2.082"
Отправлено dq0s4y71 , 05-Сен-18 13:13 
У меня наоборот. После знакомства с языками с динамической типизацией, я теперь знать не хочу, какой ширины у меня там int и int ли это вообще.

"Вышел компилятор языка D 2.082"
Отправлено Аноним_ка , 05-Сен-18 13:51 
А дишечка она не как сишка/кресты, с типами-хрен-пойми-какого-размера-в-зависимости-от-платформы-компилятора-фазы-луны, у нее как раз размер точно определен.

"Вышел компилятор языка D 2.082"
Отправлено dq0s4y71 , 05-Сен-18 16:35 
А нафига мне вообще о нём знать? В Си[++] я, по крайней мере, его учитываю как аппаратную особенность платформы. А в этих языках "высокого уровня", которые от платформы якобы не зависят, - нафига он мне? Мы работаем с алгоритмами и абстракциями, но при этом должны помнить, какого размера у нас int, чтобы не получилось переполнения, и сколько места выделять под стэк, чтобы пережить рекурсию...

С другой стороны, Ди - это очередная вариация на тему "Каким на самом деле должен был бы быть Си", поэтому я не удивлён.


"Вышел компилятор языка D 2.082"
Отправлено J.L. , 05-Сен-18 17:32 
> А нафига мне вообще о нём знать? В Си[++] я, по крайней
> мере, его учитываю как аппаратную особенность платформы. А в этих языках
> "высокого уровня", которые от платформы якобы не зависят, - нафига он
> мне? Мы работаем с алгоритмами и абстракциями, но при этом должны
> помнить, какого размера у нас int, чтобы не получилось переполнения, и
> сколько места выделять под стэк, чтобы пережить рекурсию...
> С другой стороны, Ди - это очередная вариация на тему "Каким на
> самом деле должен был бы быть Си", поэтому я не удивлён.

вы похоже путаете что такое динамическая типизация
это вот такое
a = 5 + "5"
внимание вопрос! какого типа a ? и что за ёжоуж будет внутри?

> помнить, какого размера у нас int, чтобы не получилось переполнения, и
> сколько места выделять под стэк, чтобы пережить рекурсию...

а это как с динамической типизацией вообще связано???


"Вышел компилятор языка D 2.082"
Отправлено аноним_очка , 05-Сен-18 17:48 
>a = 5 + "5"

Ну, формально, это камень в сторону слабой, а не динамической. В питоне она таки сильная, и такой фокус не прокатит.


"Вышел компилятор языка D 2.082"
Отправлено dq0s4y71 , 06-Сен-18 00:47 
> вы похоже путаете что такое динамическая типизация

Может, и путаю, гуглить лень. Динамическая - это, вроде, когда тип задаётся в момент присваивания, а не в момент описания, нет?

> это вот такое
> a = 5 + "5"
> внимание вопрос! какого типа a ? и что за ёжоуж будет внутри?

Да мне какбе пофигу. Будет число или строка - в зависимости от правил, принятых в данном конкретном языке. Я на это смотрю сугубо с практической точки зрения. Мне ведь нужно работать, допустим, арифметику считать, а не ставить эксперименты, что будет, если сложить число со строкой. И вот для того, чтобы считать арифметику, мне тип редко когда нужен. В нём может возникнуть необходимость только во время ввода/вывода.

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

Напрямую не связано, согласен. Но у кого чего болит :) Я это к тому, что в языках высокого уровня о таких вещах вообще знать не принято.


"Вышел компилятор языка D 2.082"
Отправлено Анонимный Алкоголик , 06-Сен-18 12:25 
> И вот для того, чтобы считать арифметику, мне тип редко когда
> нужен.

Чтобы использовать целые вам тип редко когда нужен, вероятно :-)
А то вот уже с дробными начинаются проблемы...

(Ну тут на самом деле Lisp наилучший. С неограниченными целыми, рациональными...)


"Вышел компилятор языка D 2.082"
Отправлено J.L. , 06-Сен-18 12:37 
>> И вот для того, чтобы считать арифметику, мне тип редко когда
>> нужен.
> Чтобы использовать целые вам тип редко когда нужен, вероятно :-)
> А то вот уже с дробными начинаются проблемы...
> (Ну тут на самом деле Lisp наилучший. С неограниченными целыми, рациональными...)

неограниченные числа много где есть, всякие BigDecimal и тд, если маленькие - живут как простые типы (ну, объекты), если длинные - то уже как массивы и тд


"Вышел компилятор языка D 2.082"
Отправлено нах , 06-Сен-18 11:25 
> вы похоже путаете что такое динамическая типизация
> это вот такое
> a = 5 + "5"
> внимание вопрос! какого типа a ? и что за ёжоуж будет внутри?

integer, 55 (разьве тут что-то не так?)

только для полного вдохновения надо a=b+c, а b и с определить как 5 и "5" где-нибудь пятью уровнями выше и через пятьдесят килобайт сложноотлаживаемого кода.


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 07-Сен-18 10:45 
> integer, 55

у меня задергался глаз


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 21:17 
> какой ширины табуляция в пробелах и пробелы ли это вообще

fixed


"Вышел компилятор языка D 2.082"
Отправлено glebiao , 06-Сен-18 10:57 
>У меня наоборот. После знакомства с языками с динамической типизацией, я теперь знать не хочу, какой ширины у меня там int и int ли это вообще.

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


"Вышел компилятор языка D 2.082"
Отправлено dq0s4y71 , 06-Сен-18 12:02 
Да. И я на таком языке, в основном, пишу :) Но когда ты пишешь не драйвер для конкретной железяки, а приложение, там важнее иметь удобные инструменты для работы с абстракциями, а не с отдельными байтами.

"Вышел компилятор языка D 2.082"
Отправлено glebiao , 06-Сен-18 12:15 
> Да. И я на таком языке, в основном, пишу :) Но когда
> ты пишешь не драйвер для конкретной железяки, а приложение, там важнее
> иметь удобные инструменты для работы с абстракциями, а не с отдельными
> байтами.

а в чём проблема? в чём неудобство абстракции real или int? нет автоматического "расширения" типа при необходимости? А в *компилируемых* языках такой механизм вообще, имеет смысл?


"Вышел компилятор языка D 2.082"
Отправлено dq0s4y71 , 06-Сен-18 14:21 
Ветка началась с утверждения о том, "какие хорошие типизированные языки и какие плохие нетипизированные". Я с этим не согласен. Когда ты делаешь арифметические вычисления в уме, ты не думаешь о типе. Тип - это костыль, который важен для низкоуровневого представления твоих данных. Но, когда ты работаешь с абстракциями, какой смысл ещё тратить время на выбор типа для арифметической переменной?

"Вышел компилятор языка D 2.082"
Отправлено Crazy Alex , 06-Сен-18 15:21 
Так тип - это и есть хорошо именованная и определённая абстракция, именно для того он и нужен. И когда ты делаешь вычисления ты подразумеваешь, что операнды - это вполне себе объекты некоторго типа, у которых определены операция (то же сложение) с семантикой, которыую ты ожидаешь. А вот когда этого нет и начинается какая-нибудь утиная типизация там, где ты совсем не ждал - это больно.

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

Где не важен тип - в D можно писать auto, оно там работает куда круче, чем в тех же плюсах. Но где нужно - типы к вашим услугам.


"Вышел компилятор языка D 2.082"
Отправлено glebiao , 07-Сен-18 07:36 
> плохие нетипизированные". Я с этим не согласен. Когда ты делаешь арифметические
> вычисления в уме, ты не думаешь о типе. Тип - это
> костыль, который важен для низкоуровневого представления твоих данных. Но, когда

здрасьте, пожалуйста. Когда я делаю прикидки в уме, то по крайней мере, деление на целые и реальные числа делаю. А в реальной жизни приходится ещё и конечную разрядную сетку учитывать. Интерпретатору хорошо, всегда можно неявно перещёлкнуть внутреннее представление, компилятору так нельзя.

а попытка не учитывать грубые материальные реалии... помнится, в книжках ещё по первому-распервому Алголу писали что-то типа "числа могут быть целыми и реальными... но целые числа не являются частным случаем реальных и наоборот и  транслятор может не принять числа с более, чем 10-ю разрядами". Отличная абстракция!


"Вышел компилятор языка D 2.082"
Отправлено Анонимный Алкоголик , 11-Сен-18 16:02 
> Когда ты делаешь арифметические
> вычисления в уме, ты не думаешь о типе.

Внезапно только потому что тип предопределён, один единственный и подразумевается. Но это далеко не всегда.


"Вышел компилятор языка D 2.082"
Отправлено нах , 07-Сен-18 11:21 
> Да. И я на таком языке, в основном, пишу :) Но когда
> ты пишешь не драйвер для конкретной железяки, а приложение, там важнее
> иметь удобные инструменты для работы с абстракциями, а не с отдельными
> байтами.

и мы валимся в core при попытке прочитать собственную базу, записанную на той же самой железке, с тем же bit order, но в 32битной системе, а читаем в 64.

Или просто все делаем максимальной разрядности, а когда нас запускают не на единственноверной платформе, тормозим не вдвое, а в двадцать раз, поскольку даже пресловутые 5+5 складываем в две итерации с ручным переносом переполнения между половинками (мы ж не знаем заранее, 5 там или MAXINT+1 для этой платформы). Или в четыре ;-)

что мешает выдумщикам новых-модных язычков предусмотреть тип byte, а все остальное делать через sizeof() - то ли авторитет Ритчи, то ли свое скудоумине - неведомо.



"Вышел компилятор языка D 2.082"
Отправлено Crazy Alex , 06-Сен-18 15:15 
Значит, большое/сложное не пишете. Иначе быстро захотите такие вещи контролировать, когда нарвётесь на неожиданные падения быстродействия из-за преобразований, не влезание в кэши или тупо неизвестно откуда взявшиеся слабо повторяемые падения, так как где-то кто-то асинхронно передал совсем не ту структуру, что вы ждали.

"Вышел компилятор языка D 2.082"
Отправлено dq0s4y71 , 06-Сен-18 15:39 
Если большое/сложное писать без хорошо продуманной идеологии и интерфейсов между компонентами, то оно так и будет. Оно так и будет даже если использовать типизированные языки, просто с нетипизированными хаос наступает быстрее :)

"Вышел компилятор языка D 2.082"
Отправлено ZhNavigator , 08-Сен-18 07:10 
Уже энное количество лет слежу за развитием этого языка, так вот с самого первого знакомства наткнулся на такую "МАЛЕНЬКУЮ" фичу: если в деструкторе использовать выделение памяти, то о сборище мусора можно забыть. Т.е. я создаю объекты, и вручную их не удаляю, т. е. полагаюсь на GC. Так, вот если в деструкторе будет выделение памяти, а она выделяется если, например, нужно отформатировать строку, то прога падает... хе.хе. Да, писал в багтрекер, сказали: да, есть такое. И как бы ВСЁ?!
Смотрел на те немногие проекты что на нем написаны. Так, как раз используют ручное освобождение памяти. По моему скромному мнению, такой язык так и останется так где он сейчас.
    


"Вышел компилятор языка D 2.082"
Отправлено glebiao , 10-Сен-18 13:10 
> самого первого знакомства наткнулся на такую "МАЛЕНЬКУЮ" фичу: если в деструкторе
> использовать выделение памяти, то о сборище мусора можно забыть. Т.е. я

ну. не любое выделение памяти, а выделение в куче, которое в свою очередь, должно управляться сборщиком.
выделение вручную и/или std.container... или @nogc --- работает.

> выделяется если, например, нужно отформатировать строку,

ну. выражения типа writefln("%s %d", s... работают, так как см выше

> то прога падает... хе.хе.

не, не падает. а получает core.exception.InvalidMemoryOperationError@core
хотя, что сову о пень...

> писал в багтрекер, сказали: да, есть такое. И как бы ВСЁ?!

а деструктор не предназначен для выполнения в нём сложных действий :)

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

насколько понимаю, GC никому не нравится и подвергается существенному пересмотру



"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 13:17 
"косвенное определение типов" -- это что? alias this или что-то другое?

"Вышел компилятор языка D 2.082"
Отправлено yet another anonymous , 05-Сен-18 14:01 
> В новой версии:
>
>    Расширены возможности пакетного менеджера DUB: улучшена обработка зависимостей, добавлена поддержка переменных в настройках сборки и убрана автоматическая ежедневная проверка обновлений (обновления теперь проверяются только при запуске "dub upgrade");

Замечательная часть _компилятора_.


"Вышел компилятор языка D 2.082"
Отправлено аноним_очка , 05-Сен-18 14:59 
Это не часть компилятора. Побуквоедствовать захотелось?

"Вышел компилятор языка D 2.082"
Отправлено Анонь , 05-Сен-18 14:25 
А вот так обстоят дела с вакансиями под этот ЯП.

On Sunday, 8 January 2017 at 22:34:33 UTC, eugene wrote:
> Hello, everyone,
> could you share, please, your knowledge, where can i search D lang remote junior developer jobs?

Currently there are barely any employers who require D programmers.

If you really want to work with D outside of hobby, then your best bet is probably freelancing and/or starting your own company.

There's just far too little companies using D, more even allowing you to work remotely.

You could take a look at this list and perhaps send in your job application, resume etc. and perhaps they might hire you for remote work, but honestly it's a shot in the sky.


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 18:24 
Есть сомнения, что D это тупиковый язык, по сути бесполезный.
Потому что на тот же Rust уже давно есть вакансии.
А количество вакансий на Rust продолжает увеличиваться.
Тем более, что Rust - это более продуманный язык изначально в своей основе

"Вышел компилятор языка D 2.082"
Отправлено nirek , 05-Сен-18 19:15 
В таком случае, все языки по сути бесполезны, кроме js.
>Потому что на тот же Rust уже давно есть вакансии.

Вот лично вы пишете на rust на постоянке за деньги? Или может быть кто то другой в этом треде?
>Rust - это более продуманный язык изначально в своей основе

Эта мерзкая мешанина? Это даже не смешно.

Кстати, следуя этой логике, нужно выбросить на помойку 99% опенсорца, а сидеть на винде и прочем.


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 05-Сен-18 19:55 
>>Вот лично вы пишете на rust на постоянке за деньги?

ещё нет, но планирую

>>Кстати, следуя этой логике, нужно выбросить на помойку 99% опенсорца, а сидеть на винде и прочем.

Насколько я знаю, компилятор DMD не является свободным.


"Вышел компилятор языка D 2.082"
Отправлено nirek , 05-Сен-18 20:05 
>ещё нет, но планирую

А я планирую стать первым человеком, высадившимся на марсе

>Насколько я знаю, компилятор DMD не является свободным.

А насколько я знаю, компилятор dmd распространяется по лицензии BSL-1.0


"Вышел компилятор языка D 2.082"
Отправлено glebiao , 06-Сен-18 11:07 
несвободная часть была "отпущена" владельцем (Symantec?) в прошлом году (или даже ранее, точно не помню)

"Вышел компилятор языка D 2.082"
Отправлено glebiao , 06-Сен-18 11:06 
Rust это язык с другими целями, причём поддерживаемый крупной компанией и находящийся на волне хайпа. Хотя последнее уже начинает спадать.

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

D ставит другую задачу: дать инструмент *быстрого* написания достаточно надёжного и шустрого кода.

Есть обоснованные надежды, что общая стоимость(*) кода общего назначения на D должна быть существенно ниже, чем аналогичного кода на C++ или Rust.

(*) включая "стоимость" (во всех смыслах) времени разработчика, времени отладки и затрат на ревью и рефакторинг


"Вышел компилятор языка D 2.082"
Отправлено Аноним , 06-Сен-18 17:37 
> поддерживаемый крупной компанией

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


"Вышел компилятор языка D 2.082"
Отправлено J.L. , 05-Сен-18 17:47 
вообще весьма интересно
https://wiki.dlang.org/Build_D_for_Android
"Build D for Android"
"Build a sample OpenGL ES 1.0 GUI app ported to D"

"Вышел компилятор языка D 2.082"
Отправлено Zunek , 05-Сен-18 22:47 
Нехватка UFCS для методов класса/структуры немного напрягает. Замечальный язык, беда лишь с написанием binding-ов, особенно если одна внешняя библиотека в аргументах функций/методов хочет типы из другой библиотеки.

"Вышел компилятор языка D 2.082"
Отправлено Crazy Alex , 06-Сен-18 15:23 
Ну, круче UFCS, чем в D, кажется, нигде нет. А что за кейс такой у вас?

"Вышел компилятор языка D 2.082"
Отправлено Zunek , 06-Сен-18 22:15 
Да просто на хватает. Есть структура, которая имеет индекс внутри что ссылается на элемент массива с другими структурами... И так несколько раз, естественно это просто данные из файла которые неким образом сходные с реляционной базой данных. Из этого следует что один тип не имеет смысла без массива с другими типами. При помощи UFCS, с методами класса который хранит все эти массивы, можно было бы организовать виртуальное свойство которое возвращает данные на которые ссылается структура. Не хочется разделять DiskType и MemoryType где это возможно сделать простыми указателями, а так индекс есть - вперед. Наверное я немного запутал... Для явного примера можно посмотреть типы данных в файлах BSP от серии игр Quake/Half-Life. Не то чтобы это сильно горит, но в D столько удобных вещей, что отсутствие данной просто удивляет.

"Вышел компилятор языка D 2.082"
Отправлено glebiao , 07-Сен-18 07:51 

> то чтобы это сильно горит, но в D столько удобных вещей,
> что отсутствие данной просто удивляет.

DIP оформлен? что ответили? :)


"Вышел компилятор языка D 2.082"
Отправлено Zunek , 07-Сен-18 09:55 
Где-то я читал что это было сделано специально, ибо UFCS для методов может внести "неясность" ТМ. Но добрые люди показали как-то трюк (уже забыл как он выглядит, нужно будет Discord пнуть еще раз) который через хитрую схему позволяет UFCS для них, но это было весьма не так удобно. Может действительно DIP всунуть, или попробовать компилятор помучить...