The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск компилятора языка D 2.085

04.03.2019 07:03

Разработчики языка программирования D представили релиз основного эталонного компилятора DMD 2.085.0, который поддерживает системы GNU/Linux, Windows, macOS и FreeBSD. Код компилятора распространяется под свободной лицензией BSL (Boost Software License).

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

В новой версии DMD:

  • Добавлена поддержка взаимодействия с кодом Objective-C, позволяющая организовать обращение к классам, переменным и супервызовам, определённым в библиотеках на языке Objective-C. Классы Objective-C теперь могут быть определены напрямую как классы D, без промежуточных прослоек (достаточно просто указать класс как extern(Objective-C) и использовать атрибут @selector для обращения к методам);
  • Внесены улучшения в сборщик мусора. В состав DRuntime добавлен новый сборщик мусора, реализующий более быстрый режим выборочного (в зависимости от типов) сканирования содержимого кучи для выявления актуальных указателей или ссылок, указывающих на объекты в куче. Активация производится при помощи опции "--DRT-gcopt=gc:precise").

    Кроме того, реализованы опции для управления поведением сборщика мусора при завершении приложения. Предложены три варианта: "collect" для инициирования полноценной сборки мусора при завершении приложения (поведение по умолчанию), "none" для завершения без чистки и "finalize" для завершения всех активных объектов без их анализа. Для выбора режима предложена опция "-DRT-gcopt=cleanup:режим". Дополнительно добавлены программные интерфейсы для доступа к статистике сборщика мусора и реализована возможность подключения к runtime собственных сборщиков мусора;

  • Улучшена совместимость со стандартной библиотекой C++. Добавлен новый DRuntime-модуль core.stdcpp.new_, предоставляющий доступ к C++ операторам new и delete, что позволяет программам на D использовать память, выделенную под кучу для C++. Кроме того, представлен модуль core.stdcpp.allocator позволяющий использовать C++ класс std::allocator с привязкой к типам контейнера STL;
  • Прекращена поддержка 32-разрядных версий macOS;

Кроме того, в прошлом месяце состоялся выпуск LDC 1.14.0, альтернативного компилятора для языка D, развиваемого на базе наработок проекта LLVM. В новой версии реализованы новые опции компилятора и runtime DMD 2.084.1, добавлена поддержка AddressSanitizer, переработан код компоновки при компиляции в формат WebAssembly.

  1. Главная ссылка к новости (https://dlang.org/blog/2019/03...)
  2. OpenNews: Выпуск компилятора языка D 2.084
  3. OpenNews: Доступен пакетный менеджер GNU Guix 0.16 и дистрибутив GuixSD на его основе
  4. OpenNews: Вышел компилятор языка D 2.083. Поддержка языка D включена в состав GCC
  5. OpenNews: Вышел компилятор языка D 2.082
  6. OpenNews: Официальный компилятор языка D переведён в разряд свободного ПО
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50245-dmd
Ключевые слова: dmd, dlang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (100) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:39, 04/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    Так и не понял, почему он не взлетел. Всяко интересней ржавчины.
     
     
  • 2.2, Andrey Mitrofanov (?), 11:41, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Так и не понял, почему он не взлетел. Всяко интересней ржавчины.

    Ему ж Си помешал.  Очевидно </!>

     
     
  • 3.5, Клыкастый (ok), 11:47, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Тут ещё опять же такое... Что называть "взлетел". Если все поголовно неистово бросились на D всё переписывать это как бы тоже не самое прекрасное, чего ждёшь.
     
     
  • 4.19, J.L. (?), 12:58, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Тут ещё опять же такое... Что называть "взлетел". Если все поголовно неистово
    > бросились на D всё переписывать это как бы тоже не самое
    > прекрасное, чего ждёшь.

    а почему? D даёт же возможность писать как на уровне Си и ниже там где надо, так и на уровне "лучше подумаем над алгоритмами и/или скоростью написания"

     
     
  • 5.29, Аноним (29), 14:05, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Так-то, если в C надо ниже C, никто не мешает делать в коде ассемблерные вставки.
     
     
  • 6.33, J.L. (?), 14:12, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Так-то, если в C надо ниже C, никто не мешает делать в коде ассемблерные вставки.

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

     
     
  • 7.79, Аноним (79), 12:14, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >алгоритмично и быстро писать на высоком уровне

    #include<algorithm>
    #include<the stuff you like>

    В C++ беда не со стандартной библиотекой, а с тем, что большинство компиляторов её не реализовали. То есть, если хочешь использовать стандартную библиотеку, то ты ограничен g++/clang++ + glibc++ под linux, потому что студия как обычно сильно отстаёт, в MinGW-w64 хедеры присутствуют, но при попытке просто их приинклюдить обнаружишь, что в самих хедерах ошибки.

     
  • 2.3, Аноним (3), 11:43, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    нет покровительствующей корпорации. Впрочем, как и у раста, поэтому он не такой уж и популярный (популярным он кажется исключительно в разделе комментариев опеннета)
     
     
  • 3.4, Аноним (4), 11:46, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я так понял, на расте пишут в мозилле. Ну и ещё где-то что-то по чуть-чуть. А где и что крупное пишут на D?
     
     
  • 4.7, Клыкастый (ok), 11:50, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну глянь на GH - есть движение вокруг, но не на сказать, что проекты крупные или какие-то незаменимые. Опять же один проект даже "незаменимый" не решит ничего. Помнится был единственный мне известный проект на Modula, который реально использовался активно (в среде OS/2шников). Ну да, хорошо. Но никак Modula это не помогло. Полуоси, правда, тоже, но то совсем другая история...
     
     
  • 5.69, glebiao (ok), 07:02, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >известный проект на Modula, который реально использовался активно (в среде OS/2шников)

    э... это какой?

     
     
  • 6.97, Клыкастый (ok), 14:20, 27/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >>известный проект на Modula, который реально использовался активно (в среде OS/2шников)
    > э... это какой?

    Weasel https://ecsoft2.org/weasel

    Вот и исходнички (*.DEF, *.MOD)

    ftp://ftp.pmoylan.org/Weasel/WeaselSrc_2.54.zip

    Weasel v. 2.54 (28/2/2019, Peter Moylan)  
    (сползает под стол) он ещё и развивается!? Петеру долгого здравия. Упорный гражданин.

     
     
  • 7.99, glebiao (ok), 19:23, 27/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >>>известный проект на Modula, который реально использовался активно (в среде OS/2шников)
    >> э... это какой?
    > Weasel https://ecsoft2.org/weasel

    а!!! хорошая штука, последний раз использовал в 2001

    > Вот и исходнички (*.DEF, *.MOD)

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

    > ftp://ftp.pmoylan.org/Weasel/WeaselSrc_2.54.zip
    > Weasel v. 2.54 (28/2/2019, Peter Moylan)
    > (сползает под стол) он ещё и развивается!? Петеру долгого здравия. Упорный гражданин.

    классно.


     
     
  • 8.100, Клыкастый (ok), 19:34, 27/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Я помню слегка в шоке был, когда выяснил, что совсем уже запредельная по тем вре... текст свёрнут, показать
     
  • 6.98, Клыкастый (ok), 14:23, 27/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    ..блин я ещё что-то помню по полуоси. удивительно...
     
  • 4.10, proninyaroslav (ok), 11:59, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Deno.js от создателя Node.js, часть написана на расте. Причём раньше эта часть была написана на голанге, но общественность продавила в проект раст.
     
  • 3.9, Аноним (9), 11:55, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > нет покровительствующей корпорации.

    Как раз наоборот проект развивала компания Digital Mars, очень известная в былое время (Zortech C их рук дело). Потом её скупил Symantec и получил права в том числе на код DMD. Так как они все были заядлыми проприетарщиками, код открыли только в последний момент, когда интерес к языку D у сообщества почти полностью пропал.

     
     
  • 4.41, Аноним (41), 17:16, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Семантики - те ещё днища и уб***дки, но я вот не верю, что какие-то мегатонные сорсы помогают популяризации. Вы много разбираетесь в кишках компилеров? А как написан именно Ди? Чтобы въехать в типичные проект, нужно затратить до полугода при полном погружении в разработку, 40 часов в неделю.
    К тому же, ну что вам сорсы? Писать свою реализацию goto? :) Сам язык уже стабилен, пиши - не хочу. Всё, что представляло ценность, уже внесено. Либа тоже как бы повзрослела. Но всё ещё нехватает ключевых вещей - ГУИ и СУБД.
     
     
  • 5.65, qwerty123 (??), 22:52, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > какие-то мегатонные сорсы помогают популяризации

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

    > Вы много разбираетесь в кишках компилеров?

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

     
  • 2.6, Аноним (9), 11:48, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +7 +/
    До недавнего времени компилятор был проприетарным и развивался мелкой коммерческой конторой.
    https://www.opennet.ru/opennews/art.shtml?num=46354
     
  • 2.14, Аноним (14), 12:29, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Зачем ещё один очередной язык со сборкой мусора?
     
     
  • 3.70, glebiao (ok), 07:03, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Зачем ещё один очередной язык со сборкой мусора?

    акцент на скорости разработки при достаточной надёжности. не очевидно? без сборки есть тот-же с++.

     
  • 2.15, Ilya Indigo (ok), 12:42, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Его погубил "опциональный" сборщик мусора, который многие начали использовать, и он дефакто стал обязательным.
    В ражавом его нет.
     
     
  • 3.18, Аноним (18), 12:54, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Он настолько опциональный, что без него BCL не работает.
     
  • 3.42, Аноним (41), 17:17, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Чушь не городи! Язык предназначен для написания программ. "Мусор" - последнее, о чём должен думать разработчик.
     
     
  • 4.54, Аноним (54), 19:12, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Его можно просто не творить...
     
  • 4.66, qwerty123 (??), 22:57, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Язык предназначен для написания программ.
    >"Мусор" - последнее, о чём должен думать разработчик.

    А вот и java кодеры подтянулись.
    Со своими hello world в 200 Mb.


     
     
  • 5.67, Онанёр (?), 00:25, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    (gwm ~) >> cat hello.java
    public class hello {

    public static void main(String[] args) {
    System.out.println("C++ sucks");
    }
    }
    (gwm ~) >> cat hello.c
    #include <stdio.h>

    int main() {
    printf("Java sucks!\n");
    return 0;
    }
    (gwm ~) >> javac hello.java
    (gwm ~) >> gcc -o hello.a hello.c
    (gwm ~) >> java hello
    C++ sucks
    (gwm ~) >> ./hello.a
    Java sucks!
    (gwm ~) >> ls -lh hello.class
    -rw-r--r-- 1 gwm users 413 Mar  4 23:23 hello.class
    (gwm ~) >> ls -lh hello.a
    -rwxr-xr-x 1 gwm users 17K Mar  4 23:24 hello.a

    413 байтов у неправославной джаву, против 17 килобайтов у правслоного С...

     
     
  • 6.77, Челодой моловек (?), 11:11, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    1. Используйте флаги оптимизаций при компиляции С++ (например -Os)
    2. Создайте исполняемый файл для java программы (содержит в себе jre), ведь вы для С++ программы создаете исполняемый файл
    3. Тогда уже сравните размер
     
     
  • 7.80, Аноним (79), 12:17, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    1. не -Os, а -O3 и strip -s
     
  • 7.82, J.L. (?), 12:45, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > 1. Используйте флаги оптимизаций при компиляции С++ (например -Os)

    а что, много сишных программ продолжают после "например -Os" правильно работать?

     
  • 7.87, Онанёр (?), 01:34, 06/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    1. Попробовал. Я видимо (без сарказма) делаю что-то не так, потому-что размер не меняется..
    Не судите строго, не Сишник..
    (gwm ~) >> gcc -o hello.a hello.c
    (gwm ~) >> gcc -o hello.ao3 -O3 hello.c
    (gwm ~) >> gcc -o hello.aos -Os hello.c
    (gwm ~) >> ls -lh hello.a
    -rwxr-xr-x 1 gwm users 17K Mar  6 00:31 hello.a
    (gwm ~) >> ls -lh hello.ao3
    -rwxr-xr-x 1 gwm users 17K Mar  6 00:31 hello.ao3
    (gwm ~) >> ls -lh hello.aos
    -rwxr-xr-x 1 gwm users 17K Mar  6 00:31 hello.aos
    2. Вопрос был не о размере JRE, а о размере HelloWorld'а на Java, который "весит 200 мб"
     
     
  • 8.88, анонн (?), 06:08, 06/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    code cat hello c include stdio h int main printf Java sucks n... большой текст свёрнут, показать
     
  • 6.91, qwerty123 (??), 08:40, 06/03/2019 [^] [^^] [^^^] [ответить]  
  • +/

    Запусти, плиз, в java vm нечто вроде
    while(1) {
    sleep(1);
    print("I'm dummy\n");
    }

    и посмотри размер кода и хипа в системе.

    Потом улыбнись. =)

     
  • 2.23, Аноним (23), 13:35, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >Так и не понял, почему он не взлетел.

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

     
  • 2.27, Ordu (ok), 13:52, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Они до сих пор использовали консервативный сборщик мусора, который работает по п... большой текст свёрнут, показать
     
     
  • 3.43, Аноним (41), 17:19, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я боюсь, что 99% ваших программ не нагружают GC и до половины. Зачем тогда гнать эту пургу про производительность?? Сначала напишите что-то тяжёлое, потом уже жалуйтесь на *реальную* проблему. А пока я вижу большинство комментаторов вытаскивает аргументы из носа и пытается оправдать фэйл Ди.
     
     
  • 4.53, Ordu (ok), 18:52, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Половина -- это в каком смысле Это когда 50 доставшихся ей тактов процессора п... большой текст свёрнут, показать
     
     
  • 5.72, glebiao (ok), 07:09, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    а зачем заведомо делать по приниципу назло бабушке отморожу уши никакая рекла... большой текст свёрнут, показать
     
  • 4.71, glebiao (ok), 07:05, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >аргументы из носа и пытается оправдать фэйл Ди.

    как показывает практика, если нет рекламы --- (быстро) взлетает только на пустой площадке. или не взлетает вообще.

     
     
  • 5.101, Клыкастый (ok), 19:44, 27/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > как показывает практика, если нет рекламы --- (быстро) взлетает только на пустой площадке. или не взлетает вообще.

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

    D (опять как мне кажется) сильно помешало то, что уже тут описано: пляски вокруг сырцов и позднее включение в GCC (например в генту его включили и потом выкинули. можно даже посмотреть за что)


     
  • 2.40, Аноним (41), 17:09, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я бы мог назвать десяток причин Но проблема в том, что даже их устранение не ... большой текст свёрнут, показать
     
     
  • 3.50, Аноним (50), 17:53, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Что сабж взлетел, нужна популяризация от харизматических личностей. Таких, таких как Керниган-Ритчи для С и Страуструп для С++. Ждем книгу такого же уровня.
     
  • 3.81, Аноним (79), 12:18, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Дизайнер ГУЯ отсутствует как класс.

    Это достоинство.

     
     
  • 4.89, IRASoldier (?), 07:03, 06/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, все программы должны быть консольными, а компьютерами пользоваться исключительно сертифицированные специалисты.
     
  • 3.90, IRASoldier (?), 07:12, 06/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сравнение D, Go и Rust от самого Александреску:

    https://www.quora.com/Which-language-has-the-brightest-future-in-replacement-o

     
     
  • 4.102, Клыкастый (ok), 19:58, 27/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Сравнение D, Go и Rust от самого Александреску:

    Спасибо, интересное сравнение.


     
  • 2.45, Аноним (45), 17:27, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Интереснее rust, вы серьёзно? С опциональным (на самом деле нет) gc он никому не интересен, и из фичей rust в нём нет ничего.
     
  • 2.76, zo0M (?), 10:12, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Потрудитесь раскрыть тему конкретнее, чем же это он "Всяко интересней ржавчины."?
    А то похоже на "пук в муку" от очередного анонимного иксперда.
     
  • 2.95, Junior frontend developer (?), 01:54, 09/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не поленитесь и еще раз посмотрите Rust. Называть D интереснее как минимум необразованно.
     

  • 1.8, anonjym (?), 11:50, 04/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    этот D уже лет 20 делают, но бесполезно;
    лучше бы они вложили силы в развитие C++;
     
     
  • 2.12, Andrey Mitrofanov (?), 12:12, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +10 +/
    > этот D уже лет 20 делают, но бесполезно;
    > лучше бы они вложили силы в развитие C++;

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

     
     
  • 3.16, Crazy Alex (ok), 12:51, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    не то чтобы... но усилий на его причёсывание надо чудовищное количество
     
  • 3.17, anonjym (?), 12:53, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    почему?
     
     
  • 4.20, J.L. (?), 13:04, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > почему?

    потому что Си(++) это главная ошибка современного IT-человечества
    из разряда "ну прям щас надо хоть как-то, но не на асемблере, мы же обязательно скоро сделаем нормальные инструменты"

    собсно как и JavaScript

     
     
  • 5.22, anonjym (?), 13:32, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    есть сомнения, что D - это главная ошибка
     
  • 5.44, Аноним (41), 17:25, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    С++ мёртв ещё и потому, что неуклюжий синтаксис, приемлемый _для_Си_ и в 70-ые, раздражает нас, адекватных людей из 201*ых :) Точнее, помимо кракозябр самого Си, туда ещё и классы нахлобучили. Хуже того - любой компилятор С++ полагается на какие-то эмпирические правила, ибо язык не имеет однозначной грамматики. И на этом кто-то отчаянно пишет...
     
     
  • 6.51, Аноним (50), 17:54, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С и С++ совершенны. До такой степени, что все остальное неприемлемо.
     
     
  • 7.64, Апасный Тип (?), 22:50, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    На счёт Си соглашусь, а вот СиПлюсы - нет.
     
  • 5.73, glebiao (ok), 07:11, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >потому что Си(++) это главная ошибка современного IT-человечества

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

     
  • 4.24, Аноним (23), 13:42, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Потому, что он пытается повторить "успех" языка PL/1. Который тоже был сильно распухшим.
     
     
  • 5.28, J.L. (?), 13:59, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Потому, что он пытается повторить "успех" языка PL/1. Который тоже был сильно распухшим.

    а чем D распухший?

     
     
  • 6.30, Аноним (23), 14:05, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это про нынешний C++.
     
  • 4.78, Аноним (78), 11:57, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что в С++ постоянно приходится добавлять const&
     
  • 3.21, Аноним (21), 13:07, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    До сих пор не понимаю - чего все ноют про новые стандарты? Не нравится - бери и пиши на ANSI C++.
     
     
  • 4.25, Аноним (23), 13:44, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А как прикажете, разбираться в чужом коде на C++2x ?
     
     
  • 5.32, Аноним (29), 14:08, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Иногда удобнее написать свой код, а не разбираться в чужом.
     
     
  • 6.55, Аноним (54), 19:14, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Иногда это невозможно
     
  • 3.31, Аноним (29), 14:07, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > сжимать и обратно

    получить Си!

     
     
  • 4.38, Аноним (23), 16:42, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не дожимать до некуда, чтобы получить C с классами.
     
  • 3.85, Аноним (85), 14:23, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "Cи++ уж надо не _раз_вивать, а скручивать, сворачивать, завивать, сжимать и обратно "в бутылку" упихивать."

    Очередной умник-неосилятор.

     
  • 2.46, Аноним (45), 17:27, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    С++ и так замечательно развивается, без неадекватов со "своим путём".
     

  • 1.11, Аноним (11), 12:00, 04/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >В состав DRuntime добавлен новый сборщик мусора, реализующий режим полного сканирования содержимого кучи для выявления актуальных указателей или ссылок...

    GC-precise - "вернувшийся" режим работы GC с НЕполным сканированием памяти на "фальшивые" указатели. А вот conservative режим (по умолчанию) как раз сканирует ВСЕ выделенные блоки на указатели. Так что теоретически precise работает быстрее.
    Говоря проще, если есть выделенный блок памяти new long[1_000_000], то conservative режим будет его сканировать на указатели, а precise - НЕ будет.

     
  • 1.26, Аноним (23), 13:48, 04/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Классы Objective-C теперь могут быть определены напрямую как классы D, без промежуточных прослоек

    Вот бы для классов Qt также. Жизнь бы стала просто малиной.

     
     
  • 2.84, Аноним (85), 14:21, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    C++
     

  • 1.34, анонн (?), 14:15, 04/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > поддерживает FreeBSD

    А там об этом знают?
    http://www.freshports.org/search.php?query=dmd
    > dmd1 Official compiler for the D 1.0 programming language
    > No package is available: No redistribution of non validated binaries

    |

    > dmd2 D 2.0 compiler, not officially validated for FreeBSD
    > 2.073.2 lang  
    > BROKEN: fails to build
    > IGNORE: is marked as broken: fails to build
    >

     
  • 1.35, Аноним (-), 16:15, 04/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Это Дэ ещё более бесполезное, чем ржавчина. На той хоть 2 процента огнелиса написано, а на Дэ вообще ничего.
     
     
  • 2.36, анонн (?), 16:24, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Это Дэ ещё более бесполезное, чем ржавчина. На той хоть 2 процента
    > огнелиса написано,

    Вы хоть раз в год методичку бы обновляли
    https://4e6.github.io/firefox-lang-stats/
    C++ 28.3%
    JS 25.7%
    С 14.2%
    Rust 6.8%


     
     
  • 3.37, Аноним (-), 16:30, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это какая-то пропагандистская агитка. Там даже жаба зачем-то есть, когда в реальности её нет.
     
     
  • 4.39, AnonMouse (?), 16:43, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У Firefox весь пользовательский интерфейс на JS.
     
     
  • 5.48, Аноним (-), 17:35, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    JS и Java - это совершенно разные языки. У JS с Java примерно столько же общего, сколько с Си.
     
  • 4.56, Ordu (ok), 19:37, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Это какая-то пропагандистская агитка. Там даже жаба зачем-то есть, когда в реальности
    > её нет.

    Может жаба ради всяких андроидов?

     
  • 4.57, Анонимус2 (?), 19:57, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Есть она там, как минимум часть кода под андроид написана на java
     
  • 3.47, Аноним (41), 17:28, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот почему FF такой безобразный продукт - намешали г**вна бочку, а теперь пытаются ещё и взлететь.
    ОДИН язык должен быть у проекта. Остальные три вообще ничем не оправданы.
     
     
  • 4.49, Аноним (-), 17:36, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Там ещё HTML и CSS - с ними как?
     
     
  • 5.52, Аноним (23), 18:03, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А они уже стали языками программирования?
     
     
  • 6.58, Ordu (ok), 20:56, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Здрасти посрамши. Уже лет десять как.
     
  • 6.68, cat666 (ok), 01:04, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Да, это декларативные языки программирования. Подучите матчасть.
     
  • 2.74, glebiao (ok), 07:16, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Это Дэ ещё более бесполезное, чем ржавчина. На той хоть 2 процента огнелиса написано, а на Дэ вообще ничего.

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

    нет? а зачем тогда ты обворовываешь сам себя?

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

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

     

  • 1.60, Георгий (??), 22:13, 04/03/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Плохо, что у D нет виртуальной машины.
     
     
  • 2.61, Георгий (??), 22:17, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Не для сэндбоксинга, а чтобы не компилировать программу на 100500 платформ. По аналогии с JVM. Типа, DVM.
     
  • 2.62, Георгий (??), 22:21, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Можно, конечно, вытворять вот такое вот:
    https://stackoverflow.com/questions/44550353/dlang-llvm-error-program-used-ext
     
     
  • 3.83, J.L. (?), 13:58, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Можно, конечно, вытворять вот такое вот:
    > https://stackoverflow.com/questions/44550353/dlang-llvm-error-program-used-ext

    не знал про lli, спасибо, интересно

     
  • 2.63, Георгий (??), 22:30, 04/03/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    LDC2 даже уже собранный распространяется под множество платформ. Я правда не пробовал использовать его подобным образом (lli + druntime + phobos + программа в виде ll). https://github.com/ldc-developers/ldc/releases/tag/v1.14.0
     
     
  • 3.96, Георгий (??), 15:37, 21/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >lli is not an emulator. It will not execute IR of different architectures and it can only interpret (or JIT-compile) for the host architecture.

    Блин.

     
  • 2.75, glebiao (ok), 07:17, 05/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >Плохо, что у D нет виртуальной машины.

    D с виртуальной машиной, называется C#

     
     
  • 3.92, Аноним (18), 10:13, 06/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И хотя у дотнета скорее рантайм нежели виртуалка, в общем-то да.
    От Александреску ждали улучшения крестов, а он сделал новый шарп, только по своему и как-то странно.
     
     
  • 4.93, анонононо (?), 17:41, 06/03/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Почему александреску? Автор языка Walter Bright
     
     
  • 5.94, Аноним (18), 16:27, 07/03/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Довёл до 1.0 и продолжил развивать именно Александреску. И сборщик мусора лежит на нём.
     
  • 2.86, Аноним (86), 00:07, 06/03/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Можно запускать через шебанг:
    https://tour.dlang.org/tour/ru/welcome/run-d-program-locally
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру