1.1, Аноним_ка (?), 10:47, 18/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>Кроме того, выпущено обновление основного эталонного компилятора DMD 2.081.0.
Да уже 2.081.1 выпущено какбе.
Я вот этого ток не понял
>Constructor/destructor mangling matches C++
>Compatible D style operators now mangle as C++ operators
Это то о чем я думаю, и теперь не надо делать врапперы с костыльным createInstance?
| |
|
2.15, Аноним (15), 11:56, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
И чего бы им это mangle изначально было не сделать совместимым с C++?
| |
|
3.82, Аноним (82), 23:38, 18/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Например, потому, что есть минимум две взаимонесовместимые схемы mangling-а -- GCC и MSVC. И это не считая периодических изменений, вызванных необходимостью адаптировать эти схемы под фичи новых стандартов языка.
| |
|
|
1.2, Володя (??), 10:49, 18/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Кто-то тут использует D? не вижу смысла в этом языке, есть С/С++, Go, Rust
| |
|
2.4, Аноним (4), 10:57, 18/07/2018 [^] [^^] [^^^] [ответить]
| +6 +/– |
В D такой же смысл, как и в Rust, тем более он появился раньше
| |
|
3.6, . (?), 10:59, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
> В D такой же смысл, как и в Rust, тем более он
то есть, никакого.
> появился раньше
тем более, ага.
| |
|
4.78, Anonim (??), 21:09, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
>> В D такой же смысл, как и в Rust, тем более он
> то есть, никакого.
синтаксис, если будут вопросы - то делаем выводы по таковому из java, C#, etc...
| |
|
|
2.5, Аноним (5), 10:59, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
не вижу смысла в плюсах, когда есть няшная сишка для низкоуровневых (и не очень) дел, не-гиперпереусложненные D/Vala для "си с классами", ну и Java для высокоуровневого надежного энтерпрайз-кода.
| |
|
3.51, Аноним (4), 14:41, 18/07/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Няшная сишка, риали?
Да одно сравнение char* vs std::string / QString показывает всю антиняшность "простого" языка C :)
| |
|
4.54, Аноним (54), 14:57, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
А кто-то мешает использовать либы под си? Я вот glib в своих поделках использую.
| |
4.59, Аноним (59), 16:02, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Дак сравни char* vs std::string::c_str(). Что ты указатель сравниваешь с объектом?
| |
|
5.63, Аноним (-), 17:13, 18/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
> std::string::c_str()
Это всего лишь один из 'view' для строки, причем read only
> char*
это может быть что угодно. Обычно считается, что это null-terminated строка, но находятся уникумы, что используют это вместо uint8_t*.
| |
|
6.64, нах (?), 17:40, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
> но находятся уникумы, что используют это вместо uint8_t*
например, сами разработчики языка, которые никакого ^^^ не изобретали.
зато работали на машине, где процессор работал не с байтами, а со "словами", непременно выравненными, а для байтов был отдельный набор команд. Поэтому им понадобился int и char, совершенно не отражающие того факта, что первое для цифр а второе для букв. bcpl обходился типом "byte".
| |
|
|
4.69, Аноним (69), 18:26, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Точнее, (char * + size_t) vs std::string. Терминированная 0-м строка - давно уже архаизм, хотя и используется повсеместно.
| |
|
5.88, нах (?), 10:30, 19/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Терминированная 0-м строка
является фичей почти всех существующих процессоров - если даже не в виде команд, работающих непосредственно с такой строкой, то хотя бы в особенностях инструкций jz/jnz, использующих результат предыдущей операции БЕЗ необходимости отдельно сравнивать его с чем либо.
когда язык C только писали, второе уже было.
как только вы изобретете процессор, работающий с паскалевскими строками столь же эффективно - можно будет считать эту фичу "архаизмом".
| |
|
6.90, Аноним (90), 11:54, 19/07/2018 [^] [^^] [^^^] [ответить] | +1 +/– | Т е в вашей вселенной дешевле каждый раз искать конец строки проходом, вместо о... большой текст свёрнут, показать | |
|
7.95, нах (?), 16:24, 20/07/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
в нашей вселенной не нужно вообще искать конец null-terminated строки - именно для этого она null-terminated.
Есть задача с этой строкой что-то сделать, и не уехать за ее край. И вот второе - со времен dec pdp11 - не требует никакой отдельной операции. Просто команда процессора сама перестает выполняться, доперебирав символы до этого нуля.
а процессоры, поддерживающие паскалевские строки, у нас неизвестны.
| |
|
8.96, Аноним (90), 19:10, 20/07/2018 [^] [^^] [^^^] [ответить] | +/– | Все может быть У вас там может и релок дешевый и хип не фрагментируется, так чт... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
3.66, Crazy Alex (ok), 18:12, 18/07/2018 [^] [^^] [^^^] [ответить]
| +4 +/– |
Существенно меньшая. Особенно в метапрограммировании. Плюсы, конечно, с тех времён полдправили (кое-что стащив, и правильно) и дальше правят, но тяжёлая наследственность даёт о себе знать.
| |
|
|
3.13, Аноним (13), 11:53, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
В D уже завезли работающие без сборки мусора стандартные библиотеки?
| |
|
|
|
6.81, Аноним_ка (?), 22:54, 18/07/2018 [^] [^^] [^^^] [ответить]
| +5 +/– |
Нихрена не голый си. В си есть шаблоны? Вложенные функции, структуры, делегаты и лямбды? Члены стуктур, конструкторы, деструкторы и перегрузка операторов? Модули? Слайсы и проверка границ? scope(exit)? (специально хелловорлды не на сишке а на ди опенглные писал ибо вызывать все эти glfwTerminate - замучаешься, а scope(exit) - спасение, как его только на крестах не костылят). Фишки компилятора? Возможность дергать код на c++?
| |
|
7.87, Аноним (76), 01:57, 19/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Да про фичи языка понятно, вот только предлагаемая либа без сборщика мусора - это либа голого C. Засунем шаблоны и лямбды в printf, ага. Сравниваем что есть в плюсах в стандартной либе, причем тоже всякой без сборки мусора. Вообще не понимаю, почему бы не сделать стандартную либу D в двух вариантах.
| |
|
|
|
|
|
|
1.11, MarCo (?), 11:49, 18/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
DLang вполне юзабельный язык. Хорошо продумана идеология и синтаксис. Программы по производительности не уступают C++, за то скорость компиляции существенно выше. Единственное, что из-за сборщика мусора программы получаются жирнее.
| |
|
2.74, burjui (ok), 19:40, 18/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Скорость компиляции была выше, когда в Phobos было мало шаблонов и CTFE. Импортируйте std.regex и посмотрите, как увеличится время компиляции. И это при использовании DMD, который быстрее всех генерит "так себе" код. Захотите производительность на уровне C++ или выше - придётся использовать LDC, и компиляция будет как у C++.
| |
|
|
4.93, burjui (ok), 16:52, 19/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Когда допилят и включат в стабильный выпуск, тогда и поговорим.
| |
4.94, burjui (ok), 16:56, 19/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
У кого-то после чтения моих комментариев могло сложиться впечатление, что я недолюбливаю D. В каком-то смысле, да. Он мне нравится, и я его использую уже лет 10, но в нём по-прежнему есть косяки, и глупо их отрицать.
| |
|
|
|
1.19, Аноним (19), 12:19, 18/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
я разработкой на php или javascript быстрее и больше денег заработаю, чем на D
| |
|
|
3.24, Аноним (19), 13:00, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
а причём тут проституткой или менеджером?
обсуждение идёт языка программирования D, много ли вакансий на этот язык?
сами-то разработчики языка D чем деньги зарабатывают?
| |
|
4.26, Аноним (19), 13:01, 18/07/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
неужели разработчики языка D зарабатывают деньги проституцией или менеджментом?
| |
|
5.50, Аноним (50), 14:40, 18/07/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
> неужели разработчики языка D зарабатывают деньги проституцией или менеджментом?
Наглая ложь, менеджментом они не занимаются.
| |
|
4.71, Аноним (76), 19:26, 18/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не все меряется вакансиями. Если на каком-то языке удобно написать большое приложение, и таких наберется штук 10, и они все взлетят - то и язык, считай, взлетел, независимо от вакансий. А если нет - то и с вакансиями не нать. Вон, на COBOL есть вакансии, не желаете прособеседоваться?
| |
|
5.73, Аноним (19), 19:34, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
но если у этого языка ломают обратную совместимость, то это тупиковый выбор этого языка
| |
|
6.83, Александр (??), 23:49, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Когда-то она всё равно должна ломаться. У C++ и PHP из-за обратной совместимости много странностей породилось.
| |
|
|
|
|
|
1.25, Аноним (25), 13:01, 18/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Отличный язык, правда, как тут уже отметили, работу с ним не найти, но для пет-проектов или фриланса подойдёт вполне, сообщество бы ещё побольше, а то приходится половину нужных библиотек самому писать
| |
|
2.27, Аноним (19), 13:02, 18/07/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
а что отличного в этом языке D?
современный C++ намного лучше, чем D
| |
|
3.28, немезидеЦ (?), 13:10, 18/07/2018 [^] [^^] [^^^] [ответить]
| +7 +/– |
увы, хуже.
Усложненное использование(порой много написать надо для простых вещей), многокилометровые трейсы с в случае глюков с шаблонами, множество тянущегося из глубины времен(хотя чуть чуть стали избавляться).
Даже чистый "C", лучше C++ - по крайней мере для системных целей.
| |
|
4.30, Аноним (19), 13:12, 18/07/2018 [^] [^^] [^^^] [ответить]
| –3 +/– |
что-то я сомневаюсь, что чистый C лучше C++, потому что в современном C++ уже давно есть умные указатели
| |
|
5.85, Александр (??), 23:55, 18/07/2018 [^] [^^] [^^^] [ответить]
| –1 +/– |
Речь об архитектуре языка. В C в принципе не нужны всякие умные указатели. Для него это отжирающий ресы мусор. Его суть в простоте, а отсюда возможность писать компиляторы за месяц на любой тапок. А кому нужна безопасная работа с памятью, добро пожаловать в Rust, а в крайнем случае использовать библиотеки.
| |
|
4.67, Crazy Alex (ok), 18:15, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Согласен, до пассажа насчёт "чистого С" - кроме чего-то совсем уж низкоуровневого чистый С - это многословие и морока с обработкой ошибок.
| |
|
3.31, Аноним (25), 13:13, 18/07/2018 [^] [^^] [^^^] [ответить]
| +1 +/– |
Он не лучше C++, если ты совладаешь с плюсами, то лучше взять их, но если тебе надо написать какое-нибудь приложение, какой-нибудь веб-сервис, то можно взять D, он прост, он по производительности близок к C и C++, у него есть пакетный менеджер, он быстро компилируется, не нужно заботиться об GC и по мелочи.
| |
|
4.32, Аноним (19), 13:18, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
какой-нибудь веб-сервис я могу на Swift, Rust, go написать, и на C++ тоже можно написать.
| |
|
5.34, Аноним (25), 13:21, 18/07/2018 [^] [^^] [^^^] [ответить]
| +4 +/– |
Так кто тебе мешает? Язык нужно брать по удобности и возможностям, из всех перечисленных, этим языком оказался D, его и пользую
| |
|
6.38, Аноним (19), 13:27, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
>>> Язык нужно брать по удобности и возможностям
есть сомнения, что на C++ больше либ написано и есть обратная совместимость.
и я думаю, что на D никто не будет писать либы из-за того, что они сломают обратную совместимость.
| |
|
7.41, Аноним (25), 13:37, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Да, либ на крестах больше, но можно написать биндинги, если это что-то типа Qt или более навороченное, что сложно или долго переписать на dlang. C BC у D вроде бы всё в порядке, но многое очень часто летит в deprecated
| |
|
|
|
|
3.84, Александр (??), 23:50, 18/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
>современный C++ намного лучше, чем D
Когда к старости разберёшься во всех его особенностях и закоулках.
| |
|
4.89, нах (?), 10:33, 19/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
> Когда к старости разберёшься во всех его особенностях и закоулках.
у тебя нет столько времени - осилил кое-как 11? марш разбираться в c++12!
| |
|
|
|
1.47, J.L. (?), 14:32, 18/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> LDC, развиваемый на базе наработок проекта LLVM
> Поддержка кросс-компиляции в WebAssembly интегрирована в тестовую версию LDC
подскажите, разве WebAssembly не бекэнд LLVM? зачем какие-то телодвижения в LDC, который фронтенд LLVM чтоб собрать в бекэнд-WebAssembly?
что конкретно реализовали?
| |
1.56, Аноним (56), 15:22, 18/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А кто-нибудь сравнивал производительность D и плюсов? Слышал, что ассоциативные массивы в D ощутимо медленнее чем мапы в C++ несколько лет назад
| |
|
2.65, yet another anonymous (?), 18:06, 18/07/2018 [^] [^^] [^^^] [ответить]
| –4 +/– |
Во-первых, о термине "производительность" следует договориться.
Во-вторых, ассоциативные массивы в D --- часть языка, а map<> в C++ --- реализация средствами языка. И, как бы, нет ограниченности единственной реализацией, а можно иметь разные, под разные гарантии, особенности применения и т.п. Т.е. C++ --- мультипарадигменный язык, позволяющий варьировать концепцию разработки, а D --- нет. И поэтому как "системный" язык D никуда не годится, а только как банка с синтаксическим сахаром.
| |
|
3.68, Crazy Alex (ok), 18:18, 18/07/2018 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ассоциативные массивы в D часть языка исключительно синтаксически, насколько я помню альтернативные реализации прекрасно впиливаются. И, что характерно, использовать свою мапу с любыми нравящимися гарантиями ровно как и в плюсах никто не запрещал.
| |
|
|
1.80, Аноним (80), 22:29, 18/07/2018 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Идем на официальную вики по ссылке, качаем официальный пререлиз с офсайта, делаем как написано в этой свежей, не старой статье и...
-d: error: unknown argument: --no-warn-search-mismatch
Error: linking with LLD failed
Еще кому-то надо объяснять, почему D все никак не взлетит? Мне - нет.
| |
|
|
3.98, Урри (?), 14:34, 23/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Сделал как в статье, то же что у автора выше:
скачал и распаковал билд,
my-pc:~/tmp/wasm$ export PATH=$PATH:/opt/ldc2-1.11.0-beta2-linux-x86_64/bin
my-pc:~/tmp/wasm$ ldc2 -mtriple=wasm32-unknown-unknown-wasm -betterC -link-internally wasm.d
lld: error: unknown argument: --no-warn-search-mismatch
Error: linking with LLD failed
| |
|
4.99, Урри (?), 16:04, 23/07/2018 [^] [^^] [^^^] [ответить]
| +/– |
Попробовал воспользоваться штатным инсталлятором (https://dlang.org/install.html), все скачалось и установилось.
Ошибка та же.
me@my-pc:~/dlang/ldc-1.11.0-beta2$ . activate
(ldc-1.11.0-beta2)me@my-pc:~/dlang/ldc-1.11.0-beta2$ ldc2 -mtriple=wasm32-unknown-unknown-wasm -betterC -link-internally wasm.d
lld: error: unknown argument: --no-warn-search-mismatch
Error: linking with LLD failed
Гoвно этот ваш d-lang, если элементарные вещи из коробки не работают. Время только тратить...
| |
|
|
|
|