LINUX.ORG.RU

Язык D включен в коллекцию компиляторов GNU (gcc 9)

 


3

7

GCC 9.1 будет первым стабильным релизом с поддержкой GDC.

Его выход ожидается приблизительно в конце первого квартала 2019 г.

Код для поддержки GDC включает библиотеку libphobos (D run-time library) и фреймворк для тестов D2.

Поддержка D потребовала внесения изменений в приблизительно 1 миллион строк кода.

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



Проверено: jollheef ()
Ответ на: комментарий от RazrFalcon

У rust есть сторонняя реализация: https://github.com/thepowersgang/mrustc

Да уж:

mrustc works by compiling assumed-valid rust code (i.e. without borrow checking) into a high-level assembly

эта реализация такая реализация...

И ни стандарта, ни спецификации - нет. Поэтому «а вторая невозможна без первой» - бред.

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

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

Так это вы тут 5 страниц топите за D, а не я.

Так я же не уговариваю никого использовать D. Я просто говорю о том, что D более чем годный язык, но не больше. На чем писать каждый выбирает сам исходя из своих нужд.

В сообществе D хайпа нет от слова совсем. Я считаю для себя очень полезным высокий уровень профессионализма в сообществе, я там многое почерпнул в целом о языках. Один факт того, что есть три компилятора уже говорит о многом. Да, по мере роста популярности языка начинают на форуме проскакивать фигуры которые пишут что я за D сейчас всех порву, давайте то, давайте это. Это заканчивается тем, что никто не откликается на его юношеские максималистические призывы и тогда любовь меняется на ненависть - тот же кто восхвалял D начинает писать что дескать вы тут все неудачники, да кому вы нужны и т.д. Забавно смотреть на это. Сразу видно что неважна для человека суть, не за этим он приходил.

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

Её пишет один человек как хобби. Чего ещё вы ожидали? При этом вы утверждаете что это «невозможно».

Сторонние реализации - это худшее, что может случится с Rust.

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

Один факт того, что есть три компилятора уже говорит о многом.

Ни о чём хорошем.

Так я же не уговариваю никого использовать D.

Самообман - это прекрасно.

Я попросил вас указать преимущества D перед Rust. А вы начали отнекиваться.

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

Я попросил вас указать преимущества D перед Rust. А вы начали отнекиваться.

Это называется продай мне язык. А зачем мне его продавать? Время я потрачу, денег не получу. С учетом того, что вы знакомы с D, это тем более выглядит неразумно.

Ну а если есть вопросы по существу - тогда задавайте, отвечу.

З.Ы. Вопрос чем А лучше Б имеет смысл только в случае конкретизации критериев сравнения.

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

Осилил в конце концов Common Lisp

причём тут это?

«Писал на нём все наколенные поделки»

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

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

Lisp неперспективен, не является заменой для C/C++ и вообще не нужен.

Из языков функционального программирования успешными оказались только имеющие узкую область применения. Авторы видели задачу, которую надо решить новым языком и сообразили, что для этого хорошо подходят методы функционального программирования. В результате получились языки, хорошие для своей области применения (XLST, Erlang, R). Lisp - язык функционального программирования общего назначения, поэтому думаю без шансов начать конкурировать с обычными языками.

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

Спецификация - описание по которому можно реализовать сторонний компилятор. Если у языка нет сторонних реализаций, то это уже говорит о том, что он мало кому нужен.

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

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

Начнём с того, что:

  1. Язык налагает требования на реализации. Соответсвенно, если он требует от реализаций слишком многого, то реализации неизбежно будут страдать по качеству.
  2. Практичные приземлённые люди оценивают язык по тому, что он может дать им прямо сейчас, а не в призрачном будущем неизвестно когда. Поэтому оценивают язык по существующим общедоступным реализациям, а не по бумажным спецификациям. Тем более что у Ди было достаточно много времени чтобы реализоваться, и если он так и не успел получить удовлятворяющую реализацию (сборщика мусора), то шансов, что она вообще когда-нибудь будет, очень мало.
anonymous ()
Ответ на: комментарий от yetanother

Один факт того, что есть три компилятора уже говорит о многом.

Три компилятора есть на localhost и ни одного на production платформе. Да, это говорит о многом.

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

Видно, что этот анонимус - практически приземлённый человек. Но не понял, с чего это он решил, что Garbage Collector не работает. На сайте D утверждается, что работает.

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

Насколько при этом Go, Kotlin/Native или D будет проигрывать в чистой производительности C++ или Rust-е мало кого интересует. Т.к. в скорости разработки все равно будет существенный выигрыш.

Я изначально писал именно про максимальную скорость рантайма плюсов, перечитай плиз мой пост Язык D включен в коллекцию компиляторов GNU (gcc 9) на который ты встрял со своим kotlin, и продожай спорить с голосами в своей голове. А на будущее просто всегда держи в уме: занимаясь художественной резьбой по цитатам, первым кого ты обманешь, будешь ты сам.

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

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

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

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

Есть много факторов которые могут помешать языку реализоваться. У оберона, например, есть отличный сборщик мусора и где он?

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

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

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

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

Поскольку речь шла о рефлексии в C++, то речь шла о compile-time рефлексии, как в D, а не о run-time рефлексии, как в Java. И, соответственно, каких-то накладных расходов на рантайм плюсов накладывать не должна.

А раз вы к этому еще и Java приплели, то и получите упоминание Kotlin/Native: вроде как Java уже есть, GC и рефлексия в наличии, но трансляцию в нативный код делают. Значит людям нужно больше, чем вы можете уразуметь и выразить как свое веское мнение.

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

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

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

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

А прямо щас D подходит чтобы про него трындеть или пилить хобби-проекты в одну харю и считать себя илитой.

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

раст уже мейнстрим, как безопасность и секурность

Не хватало ещё фанатство. Rust - наиболее очевидный соперник для D и сейчас популярнее. Но к основным языкам пока не относится.

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

Вообще, скорость компилятора - не самоцель. Цель - сэкономить время разработчика, помочь ему работать с максимальной эффективностью.

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

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

В общем, для меня решение выглядит сомнительным. Такие вещи можно и нужно уносить на уровень синтаксиса.

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

Мейнстрим где? Назови известные проекты на нём (мозилловские не считаются). Не конторы, где его используют неизвестно как, а именно проекты.

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

Вообще, скорость компилятора - не самоцель. Цель - сэкономить время разработчика, помочь ему работать с максимальной эффективностью.

Правильно

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

Правильно

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

Не соглашусь. Это тот же самый код, который бы нужно было поддерживать и в компиляторе. Все ровно то же самое. Только ты можешь эту тулзу запустить когда тебе нужно. Когда у тебя есть время на это. И в этой тулзе можно сделать такие проверки, которые в компилятор включать не будешь.

В общем, для меня решение выглядит сомнительным. Такие вещи можно и нужно уносить на уровень синтаксиса.

Да нормальное решение. Я бы тоже хотел, чтобы был язык, в котором был бы у меня только два оператора:

  • выполнитьЗаказ(клиент);
  • получитьЗП();

Но на практике таких языков нет. Поэтому все в синтаксис ты не затащишь и нужен определенный компромисс.

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

Не хватало ещё фанатство. Rust - наиболее очевидный соперник для D и сейчас популярнее. Но к основным языкам пока не относится.

с чего это вдруг ? Касперский использует Rust для борьбы с вирусами и троянскими вирусами

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

Мейнстрим где? Назови известные проекты на нём (мозилловские не считаются). Не конторы, где его используют неизвестно как, а именно проекты.

а почему это мозилловские не считаются? мозилла быстрая и не падает. ну еще касперский антивирус.

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

Мозилла быстрая

Это даже не смешно.

Не считаются, потому, что это часть их собственной инфраструктуры.

У Касперского и хаскел используется. Кто из них популярнееа том числе с их проекте?

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

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

Ты сам всё сказал. Научись уже в проектирование. Есть такое понятие, как интерфейс класса (его публичные методы и свойства).

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

и вообще не нужен

Пример Clojure это оспаривает.

Lisp - язык функционального программирования

Какой из них? На том же CL лиспятников хлебом не корми, дай заюзать CLOS.

Hertz ★★★★★ ()