LINUX.ORG.RU

Dlang - нужно ли?

 , ,


3

8

Компрады, вопрос - Dlang, применяется кем-то и нужен ли? Какие есть аргументы его пользования в проектах? Какие киллер-фичи подтолкнули на его пользование? Чем он лучше/хуже C++/Rust/Golang/Crystal/Nim?

Особенно интересно в разрезе вебни)

Ответ на: комментарий от Deleted

Мне тут аж 4 человека написало, что то, что я хочу, делается средствами IDE/редактора.

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

Вот я прямо сейчас читаю код проекта на C# с целью позаимствовать его логику в проект на C++. (Оба проекта под GPL3, если что.) И там именно такая ситуация - куча классов с кучей интересных методов. Мне, чтобы его по-человечески читать, надо целый монодевелоп ставить?

hobbit ★★★★★
()

«Мне с C++ тепло от его негасимой любви».

Владимир

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

Я думаю хватит и geany, у меня со всеми плагинами и тэгами запущенный занимает 27 мб. Я думаю скомпилированный меньше.

Ну или Visual Code...

Deleted
()

не знаю, нужно или нет, но для него есть нормальная нативная иде - visual-d. Только под винду, правда. А у всяких распиаренных растов и хаскеллей так этого и не появилось

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

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

Но ведь если там просто анализ данных, математика, прототипирование, исследования, то не проще ли просто использовать Python/Pandas/SciPy/NumPy/iPython или Julia, R? Вот эти вещи как раз и делались чтобы что-то исследовать, а потом внедрять в продакшн код

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

Напомните возраст дедушки D. Это, конечно, достижение, уже заиметь целую одну нативную среду разработки аж по виндовс.

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

Но ведь если там просто анализ данных, математика, прототипирование, исследования, то не проще ли просто использовать Python/Pandas/SciPy/NumPy/iPython или Julia, R? Вот эти вещи как раз и делались чтобы что-то исследовать, а потом внедрять в продакшн код

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

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

Смотря что за математика. Если у вас формулы свои, но в целом это комбинация стандартной математики - какое-то умножение матриц, регрессии, то во всех пакетах это будет натив, у NumPy - lapack на фортране. Julia вообще нативная сразу, тот же LLVM что и в clang

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от Virtuos86

Сарказм конечно же не уместен. Очевидно, что вы необъективны - вы так ловко сформулировали предложение, что у неподготовленного человека создается впечатление что D за долгое время кое-как смог заиметь только одну IDE и то только под оффтопик. Конечно же это неправда. Во-первых, D это не java, где IDE смертельно необходима. Во-вторых под D уже давным давно есть ряд IDE, хоть и с разным уровнем. И, кстати, тот же Visual D является очень качественным плагином к Visual Studio, и написан он на D.

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

Сарказм конечно же не уместен.

Напротив, очень уместен. Но направлен скорее в адрес анонимуса, который всерьез гордится наличием среды разработки для D и ставит это в пример притянутым за уши другим ЯП. Появление качественного специализированного IDE зависит либо от востребованности языка, либо от случая. Почему-то мне кажется, что D не про первый вариант. Тем паче сейчас всё больше на ниве IDE-строительства подвизается JetBrains, и с «нативом» они не связываются.

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

Смотря что за математика. Если у вас формулы свои, но в целом это комбинация стандартной математики - какое-то умножение матриц, регрессии, то во всех пакетах это будет натив, у NumPy - lapack на фортране. Julia вообще нативная сразу, тот же LLVM что и в clang

Как по мне так фишка Питона в удобстве и батарейках, плата за это быстродействие. Для моего случая батареек у Питона нет, D не менее, если не более, удобен чем Питон и быстродействие у D как у С/С++. Так зачем использовать Питон?

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

Появление качественного специализированного IDE зависит либо от востребованности языка, либо от случая.

Необходимость в специализированной IDE может говорить больше о недостатках языка

Почему-то мне кажется, что D не про первый вариант.

Востребованность языка тут вторична. Тут первична востребованность IDE - для D IDE не так востребована как в случае с Java например. Поэтому

сейчас всё больше на ниве IDE-строительства подвизается JetBrains, и с «нативом» они не связываются

Зачем им бросать хорошо освоенную нишу, которая приносит им деньги?

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

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

Не совсем понятно, почему для D IDE менее актуальна. Можете объяснить? Для него и нормально функционирующих плагинов для умного дополнения нет. Все на наколеночном уровне. Они собирались запилить со студнем за лето language server, получилось? Одна из причин, почему в D огромная дыра вместо тулмнга и библиотек, это, как раз таки отсутствие нормалтных инструментов для написания кода.

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

Не совсем понятно, почему для D IDE менее актуальна. Можете

объяснить?

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

Для него и нормально функционирующих плагинов для умного дополнения нет.

Ну как это нет? А я чем тогда пользуюсь? Для D есть несколько инструментов, разработка которых ведется сообществом, как то dfmt (форматирование), dsanner (линтер) и др. Language Server разрабатывается несколькими разработчиками, для того же vscode есть плагин. Нет, если сравнивать с коммерческими продуктами разница есть, конечно. Но нужно не забывать что D является продуктом исключительно сообщества, и то, что он достиг текущего положения без корпоративной поддержки говорит о многом в его пользу. Так что никаких огромных дыр вместо инструментов и библиотек нет.

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

Насколько D пригоден для написания всяких повседневных приложений типа плеера, органайзера, вот этого всего? Что у него с gui, можно его прикрутить к фреймворкам?

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

Вот ситуация с гуями это действительно реальный минус для D, на мой взгляд. Какого-то безоговорочного лидера типа Qt в плюсах у D нет. Свой гуй есть - dlangui, люди пишут на нем, был проект как раз органайзера (исходники закрыты) и его автор утверждал, что dlangui вполне няшная штука и пригоден для использования. Но для моего случая dlangui не подошел и поэтому я не скажу по сути ничего, так то штука довольно развитая. Есть еще качественные биндинги к Gtk - GtkD, есть введение https://gtkdcoding.com С биндингами к Qt все сложно, были еще попытки привязки к QML - определенные успехи были, но что сейчас в итоге я не знаю.

Но в целом я особо не ориентируюсь в этой области. Для своих проектов я использую imgui, как dearimgui, так и nuklear, есть еще порт nanogui, есть гуи специфичные для винды еще.

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

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

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

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

Ты пацанам советуешь пользоваться лабораторками для повседневного кодинга? Написал бы уже, «Пишите велосипеды», а не скидывал это.

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

Да ты мой хороший! Вот прям пришел в топик и сразу все разрулил! Прямо все по местам расставил! Ну прям чОткий такой! Иди беги к остальным пацанчикам, расскажи какой ты чОткий, надо же чтобы они заценили!

Библиотек для D не так много как для плюсов, сишечки, питона и т.д. Ну так они пишутся. Если бы взял и написал вместо того чтобы кричать - был бы толк. А так сиди и молчи - нет нужных _тебе_ библиотек и не хочешь их писать - выбирай другой язык, делов-то. Инструмент нужно выбирать под задачу. Но нет необходимости сообщать всем остальным об этом. Поверь, это никому не интересно, у всех есть свои задачи. И задачи у всех разные. То что тебе не подходит, не значит что не подойдет другим.

yetanother ★★
()

Dlang это единственная альтернатива С, С++, Pascal, причем судя по описаниям он задумывался с целью избавиться от недостатков этих языков

Для него даже есть веб фреймворки, что делает D альтернативой Go, причем более производительной, если комменты не врут https://habr.com/ru/post/303590/

Если смотреть в общем D весьма перспективен для тех, кому нужна вся мощь С++ но без проблем доставшихся в наследство

С++ сейчас активно допиливают, но зачем, если есть D ?

ism ★★★
()

От человека ставящего Go и Rust в одно предложение разит некомпетентностью

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