The OpenNET Project / Index page

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

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

06.04.2025 07:29

Опубликован релиз DMD 2.111, эталонного компилятора для языка D. Код компилятора распространяется под свободной лицензией BSL (Boost Software License). Поддерживаются системы Linux, Windows, macOS и FreeBSD.

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

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

  • Добавлена функция профилирования времени сборки, включаемая через флаг "-ftime-trace" в компиляторе DMD. Компилятор LDC уже обладал этой функцией. Видео с руководством по использовании time-trace.
  • Флаг компилятора "-i" теперь корректно обрабатывает и файлы на языке Си.
  • В шаблонные миксины добавлена возможность использования синтаксиса присваивания:
    
        mixin MyMixinTemplate!(Args) myName; // старый стиль
        mixin myName = MyMixinTemplate!(Args); // новый стиль
    
  • Для методов "extern(Objective-C)" теперь автоматически генерируются селекторы, даже если не указан аттрибут "@selector":
    
       extern(Objective-C) 
       extern class NSObject {
           static NSObject alloc(); // Generates as "alloc"
           NSObject init(); // Generates as "init"
       }
    
       extern(Objective-C)
       class Fox : NSObject {
           bool fluffy;
    
           @property bool isFluffy() => fluffy; // "isFluffy"
           @property void isFluffy(bool value) { fluffy = value; } // "setFluffy:"
    
           void yip(int a) @selector("bark:") { // "bark:"
               // ...
           }
       
           void doSomething(int a, int b, int c) { // "doSomething:b:c:"
               // ...
           }
       }
    
  • Добавлено placement-выражение "new" для инициализации указанным значением (без GC).
    
       struct S
       {
           float d;
           int i;
           char c;
       }
      ... 
       S s;
       S* p = new (s) S(3.14, 42, 'X'); // place new object into s
    
  • Новое ключевое слово "__rvalue", позволяющее реализовать move-семантику. Использовано для добавления библиотечных примитивов "move" и "forward".
  • Добавлен флаг "-preview=safer", при использовании которого все проверки применяемые в коде "@safe" включаются для всего кода, при этом трудно исправимые части (такие как вызов функций "@system") будут всё ещё разрешены в режиме Safer D.
  • Улучшена поддержка классов данных "ref" и "auto ref", которые теперь могут применяться к локальным, глобальных и статическим переменным. Параметры "auto ref" должны определяться только вместе.
  • Включён вывод ошибок для некоторых возможностей, имеющих статус устаревших. Среди них замена "delete" на "destroy", "проваливания" в многозначных "case", самоинициализация переменных.
  • Укороченный синтаксис для определения методов теперь можно использовать и в конструкторах:
    
       struct Number 
       {
           int x;
    
           void vf(int);
           this(int x) => vf(x);
           this(float x) => this(cast(int) x);
       }
    
  • В runtime добавлены Windows-байндинги к BCrypt.
  • В стандартной библиотеке реализован импорт ODBC 4.0 и расширены методы работы с Unicode, версия которого была увеличена до 16.
  • Новый API для "std.sumtype", где появились три функции "has!T", "get!T" и "tryGet!T".
  • В пакетном менеджере dub исправлена ошибка с "cImportPaths".

Дополнительно можно отметить разработку ряда крупных проектов на языке D:

В области разработки игр (GameDev) развиваются несколько движков: HipremeEngine - кросс-платформенный движок, который помимо основных десктопных систем Windows/Linux/macOS поддерживает iOS/Android/Xbox/WebAssembly/PS Vita. Другой проект - Dagon, продолжает развитие 3D-движка с обширными возможностями графики.

В области графических библиотек, помимо OpenGL, развивается поддержку таких библиотек как SDL (включая 3 и 2 версии) и Sokol. Работа с графическими изображениями (decoding/encoding) развивается в пакете gamut, который умеет работать со множеством форматов. Есть поддержка как классических изображений PNG, JPEG и BMP, так и более современных JPEG-XL, QOI и QOIX.

Для построения графических пользовательских интерфейсов (GUI) сформирована новая экосистема библиотек gID, предоставляющая обвязки к многим библиотекам, основанным на GObject, включая полную поддержку GTK 3/4, Arrow/Parquet и Adw. Примеры и список входящих библиотек можно найти в репозитории. Также набирает популярность декларативный фреймворк Fluid, который подходит для применения в играх.

В области веб-разработки на RISC-V архитектуре продемонстрирована работа фреймворка Serverino. Этот минималистичный и производительный веб-фреймворк без других зависимостей может работать на очень слабых машинах, включая некоторые встраиваемые системы с небольшим объёмом памяти.

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

  1. Главная ссылка к новости (https://dlang.org/changelog/2....)
  2. OpenNews: Выпуск компилятора языка D 2.110
  3. OpenNews: Официальный компилятор языка D переведён в разряд свободного ПО
  4. OpenNews: Для языка D представлен runtime для программирования микроконтроллеров
  5. OpenNews: Поддержка языка D включена в состав GCC
  6. OpenNews: В компилятор LDC языка D добавлена поддержка WebAssembly
Автор новости: D_dev
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63029-dlang
Ключевые слова: dlang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (91) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 07:46, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А где С--?
     
     
  • 2.11, Аноним (11), 08:39, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    С-- уже давно существует
     
     
  • 3.16, Аноним (1), 09:27, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Мана-мана.
    Дык, и я об этом.
     
  • 2.54, Аноним (54), 16:33, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Сдох 20 лет назад.
     

  • 1.2, User (??), 07:47, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну, т.е. за всё время так ничего реально используемого и не написали. И не "переписали".
     
  • 1.7, Карлос Сношайтилис (ok), 08:31, 06/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Новое ключевое слово "__rvalue", позволяющее реализовать move-семантику
    > Добавлено placement-выражение "new" для инициализации указанным значением (без GC)

    Решили изобрести С++ заново?

     
     
  • 2.9, Аноним (-), 08:33, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Точнее увидев как плох C++ решили сделать заново хороший ООП язык с си подобным синтаксисом. Кого ужасает C++ переходите на D.
     
     
  • 3.10, анон (?), 08:38, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Когда-то заинтересовался D, но тогда у D не было своей GUI библиотеки и похоже нет и поныне так что осталось на уровне интереса.
     
     
  • 4.12, abu (?), 08:49, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В 2015 году уже были упоминания про gtkd и как писать там гуй. Или вы про другое?
     
     
  • 5.20, анонд (?), 09:44, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это было еще ранее в 2012-13 годах
     
  • 4.18, bdrbt (ok), 09:33, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну у go и раста тоже с гуём всё плохо - либо биндинги к gtk/qt, либо "на-те-канвас в нём и рисуй", но тем не менее...
     
     
  • 5.21, анонд (?), 09:49, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У Go есть нативный Fyne, а у Rust есть Slint
    Я не видел библиотек именно на самом D, тем более под Linux, а не Windows
    Использовать биндинги... Ну, проще уж писать на C++ или C в таком случае.
     
     
  • 6.23, n00by (ok), 10:46, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кажется, автор HTMLayout что-то писал на D в нулевых. Сейчас сходу не нашёл, только биндинги к HTMLayout, так что могу и ошибаться. Но если писал, то показательно, к сожалению для языка.
     
     
  • 7.78, Nuzhny007 (?), 10:08, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот тут он на кывте отписывался: https://rsdn.org/forum/philosophy/1152810.all
    Было 20 лет назад
     
     
  • 8.88, n00by (ok), 14:17, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю Да, там и читал Harmonia GUI framework for D Теперь вспомнил ... текст свёрнут, показать
     
  • 6.25, 12yoexpert (ok), 10:57, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    у раста есть только биндинги к qt от kdab. не бывает никаких slint, это всё для маленьких детей
     
     
  • 7.33, Прохожий (??), 13:16, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    egui, iced, tauri, slint, dioxus desktop и другие, названия которых уже забыл. И всё перечисленное - это не биндинги к QT.
     
     
  • 8.101, Аноним (-), 19:11, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Qt, не QT Пиши правильно ... текст свёрнут, показать
     
  • 6.29, Hck3r (?), 11:10, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Dlangui из нативного.
    Были еще несколько нативных библиотек, но они до релизных версий как-то не дошли (вроде dtk от Animous)
     
  • 6.32, Аноним (32), 11:30, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    С каких это пор биндинги стали чем-то плохим?! Тушеночная невеста нас всех разоблачила.
     
     
  • 7.58, Александр (??), 18:19, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я думаю проблема в реализации биндинга и его поддержки.
     
  • 6.94, Аноним (94), 15:27, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Использовать биндинги... Ну, проще уж писать на C++ или C в таком случае.

    В огороде бузина, а у лентяев какая-то ахинея в голове. Как байндинги соотносятся с С++!?!?

    У людей есть Ди. Нужен гуй - там полно либ, включая нативные на Ди. Всё остальное - отмазки.

     
  • 5.118, Sem (??), 17:22, 10/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Уж на Go этого добра просто завались. И нативного и уникального, и Tk, и gtk, и qt и Win32 GUI API. И мультиплатформенного и не мультиплатформенного.
     
     
  • 6.121, Аноним (121), 21:14, 10/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Уж на Go этого добра просто завались. И нативного и уникального, и
    > Tk, и gtk, и qt и Win32 GUI API. И мультиплатформенного
    > и не мультиплатформенного.

    Да на Ди тоже самое

     
  • 4.83, Аноним (83), 11:53, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Когда-то заинтересовался

    Интересно, с тех пор хотя бы одну GUI утилиту на другом языке написали? А то бывает такое, что вроде бы и нужны либы, а по факту нет. Просто страх такой иррациональный.

     
     
  • 5.96, Аноним (94), 15:33, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот тебе "утилита" - целая IDE на ГУЙ-библиотеке, тоже написанной на Ди.
    https://github.com/buggins/dlangide
     
  • 4.92, Аноним (94), 15:24, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Гуйня была у Ди всегда, но увы - большинство было только "обёрткой" над чужими поделиями. Но я в жизни не поверю, что тебя остановило только это. Напиши ХОТЬ ЧТО-ТО на Ди и покажи, где ты упёрся в ГУЯх в невозможность дальше двигаться.
     
  • 3.14, n00by (ok), 09:09, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже, мастер метапрограммирования Александреску сбежал от экспертов, полагающих Си++ ООП языком.
     
     
  • 4.19, Аноним (1), 09:40, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Далеко убежал?
     
     
  • 5.22, n00by (ok), 10:40, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В поисковик беги. Там найдёшь и С--, и кто такой Александреску.
     
  • 4.26, 12yoexpert (ok), 10:58, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну и где он теперь со свими положениями? помню, его выкупил фейсбук и он исчез навсегда

    вроде бы было от него ещё полтора клона бустовых либ на плюсах

     
     
  • 5.30, Hck3r (?), 11:11, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Он в нвидиа сейчас
    Продолжает выступать на конфах вроде тоже
     
  • 5.98, Аноним (98), 15:39, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот после него фейсбук и стал Мета наверно.
     
  • 4.73, Аноним (73), 01:37, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Дело было так:
    - Андре-ей, у нас тут метапрогра-а-аммы!
    - Уже бегу
     
  • 4.80, adolfus (ok), 11:11, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Напиши компилятор с ООП-языка на ООП-языке. Или просто конечный автомат.
     
     
  • 5.99, n00by (ok), 15:46, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я написал транслятор Рефал как просто КА, так какой-то эксперт бегал тут неделю с криками "goto это плохо!"

    А эксперимент с ООП-языком что нам даст?

     
     
  • 6.124, adolfus (ok), 15:38, 11/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В ООП парадигме нет не только goto, но там нет и стека -- все переменные только в куче или в статической памяти.
     
     
  • 7.126, n00by (ok), 18:05, 11/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос был, что нам даст написание мной компилятора. Так сказать, обоснование для просьбы.
     
  • 3.57, Аноним (57), 18:18, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На что переходить, если ужасает ООП?
     
     
  • 4.59, Аноним (121), 18:21, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > На что переходить, если ужасает ООП?

    На ФП тогда наверное - F# или Ocaml

     
     
  • 5.86, Аноним (86), 12:02, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ocaml - ObjectiveCaml
     
     
  • 6.107, n00by (ok), 09:10, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Объекты там примерно как в Плюсах - где-то немножко сбоку.
     
     
  • 7.128, Аноним (128), 18:27, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Но уважающий себя плюсплюсник без объектов не обходится.
     
     
  • 8.129, n00by (ok), 10:52, 15/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Уважающий себя плюсплюсник не будет хамить Степанову и Ли ... текст свёрнут, показать
     
  • 4.93, Аноним (94), 15:25, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Смоллток. Он как бы ООП, но с _правильным_ ООП!
     
  • 4.97, n00by (ok), 15:35, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для начала, ознакомиться с возможными вариантами Более-менее систематизировано ... большой текст свёрнут, показать
     
     
  • 5.103, Аноним (57), 01:57, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не смог ты удержаться Рефал порекламировать. И даже возможно есть за что, но к сожалению, он не подходит для решения реальных задач реального мира. Палиндромами дело в реальности не ограничивается. В реальности нужно не только вычислять, но ещё и дёргать внешние сервисы через интернет. Как на Рефале прочитать файл с AWS S3 или совместимого хранилища?
     
     
  • 6.106, n00by (ok), 09:03, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там 10 (ДЕСЯТЬ) если. Если кто-то их не заметил, он никак не сможет "прочитать файл с AWS S3 или совместимого хранилища". Скорее всего, ужасают его не первые две буквы из "ООП".
     
     
  • 7.112, Аноним (57), 02:51, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо так болезненно реагировать на очевидные и неоспоримые недостатки Рефала, а именно абсолютную неприменимость для решения задач реального мира. Я вот всякие эзотерические реализации лиспов люблю, но советовать кому-то в интернете ими пользоваться точно не стал бы. Как и не стал бы делать скоропостижных выводов о том кого какие буквы пугают. Мир чуть разнообразнее, чем десять если.
     
     
  • 8.115, n00by (ok), 10:27, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если реагировать не надо, значит не реагируй Там достаточно других вариантов, з... текст свёрнут, показать
     
     
  • 9.116, Аноним (57), 19:36, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Затем же, зачем ты про него пишешь при любом удобном случае Другие варианты не ... текст свёрнут, показать
     
     
  • 10.117, n00by (ok), 10:53, 10/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Попробую ещё раз Если ты не знал о других вариантах в том числе функциональщин... текст свёрнут, показать
     
     
  • 11.119, Аноним (-), 18:58, 10/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хочешь я за него отвечу Не он зациклился на Рефале, а ты И виноват в этом не Р... текст свёрнут, показать
     
     
  • 12.120, n00by (ok), 19:31, 10/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Беда твоей гипотезы в том, что слово Рефал первый в этой ветке написал не я В... текст свёрнут, показать
     
  • 2.31, User (??), 11:26, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Новое ключевое слово "__rvalue", позволяющее реализовать move-семантику
    >> Добавлено placement-выражение "new" для инициализации указанным значением (без GC)
    > Решили изобрести С++ заново?

    Ну, оно, если склероз мне не изменяет, одно время и позиционировалось, как "c++ done right" - но, судя по всему, норот так и не понял, зачем ему ещё одна (пусть даже и лудшая) c++ при наличии первой с её накопленным объемом кода...

     
     
  • 3.36, Аноним (36), 13:36, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Тут как обычно. Сначала сделали то что делать было нельзя категорически - сборщик мусора.

    Когда большинство библиотек стало на это ориентироваться. Стали пропагандировать сборку без сборщика мусора.

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


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

     
     
  • 4.39, Аноним (121), 14:45, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Сборщик мусора это плюс языка.
    Перф когда надо - можно делать, но часто он далеко не везде нужен.
    Пакетный менеджер уже стандарт для почти всех языков - без него выглядит архаично.
     
     
  • 5.64, Аноним (64), 19:23, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >Сборщик мусора это плюс языка.

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

     
     
  • 6.66, Аноним (121), 19:54, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>Сборщик мусора это плюс языка.
    > Если без него нельзя обойтись - то это минус, жирнющий минус, в
    > некоторых случаях даже "гвоздь в крышку гроба". Нельзя костыль называть плюсом,
    > разве если ты маркетолог.

    Но обойтись без него можно - и конечно же все кто полноценно используют Ди легко это делают там где это нужно

    Другой вопрос - что поскольку уровень программистов на Ди достаточно высокий - они еще и отлично понимают как устроены оптимизации, cache-locality, auto vectorization и прочие техники и где это нужно, а где и нет.

    Но тут конечно только с опытом знания приходят - это не просто направо-налево кричать "если ГЦ - это гвоздь в крышку гроба" - там думать уметь надо ;)

     
     
  • 7.67, Аноним (36), 20:44, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > "если ГЦ - это гвоздь в крышку гроба" - там думать уметь надо ;)

    Вот именно из-за того что думать умет надо - это и есть гвоздь в крышку гроба.

    Ибо большинство до этого этапа не дойдет.

     
     
  • 8.68, Аноним (121), 21:15, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно и не думать Код будет работать - просто может быть не очень быстро... текст свёрнут, показать
     
  • 7.84, Аноним (83), 11:57, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Но обойтись без него можно - и конечно же все кто полноценно используют Ди легко это делают там где это нужно

    Попробуйте использовать стандартную библиотеку без gc.

     
     
  • 8.87, Hck3r (?), 13:34, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Надо будет в следующую новость это добавить Потому что этот тезис уже оскомину ... текст свёрнут, показать
     
     
  • 9.89, Аноним (83), 15:08, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хм, действительно Претензия снимается Так-то D хороший язык, для автоматизации... текст свёрнут, показать
     
  • 4.48, morphe (?), 15:28, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А какая альтернатива Каждому пакету пытаться пробиваться в репозитории debian r... большой текст свёрнут, показать
     
  • 4.55, User (??), 17:37, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Тут как обычно. Сначала сделали то что делать было нельзя категорически -
    > сборщик мусора.

    Ээээт же ж не "better c", который "системный", а "better cpp", который "аппликушечный" - чем там сборщик мусора-то помешал?

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

    Не, ну можно конечно на "системный" надеяться - тока в двух самых популярных системах, которые генерируют 99% выручки по пользовательскому, как минимум, софту - оного просто нет.

     
     
  • 5.75, Аноним (73), 03:30, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > а "better cpp", который "аппликушечный" - чем там сборщик мусора-то помешал?

    Тем, что C# уже есть?

     
     
  • 6.77, Аноним (121), 09:33, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Runtime to the moon
     
     
  • 7.111, Аноним (73), 00:37, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Runtime to the moon

    А как же его AoT-компиляция?

     
  • 6.81, User (??), 11:47, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> а "better cpp", который "аппликушечный" - чем там сборщик мусора-то помешал?
    > Тем, что C# уже есть?

    Не, шарпей это "better java", которая получена вот нифига не добавлением GC к C++...

     
  • 4.62, Александр (??), 18:27, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > лепить то что точно нельзя делать - СВОЙ пакетный менеджер. А потом пытаться доказать что и без него писать можно.

    Не вижу в этом проблемы. Пакетный менеджер должен быть, быть один и позиционироваться как: "must have, но если очень хочется, то и без него, но не стоит". Вообще идеально, если так же дела будут обстоять и с системой сборки. А то сейчас в C++ всё это та ещё дичь: два пакетных менеджера и добрый десяток систем сборки. Влезаешь и не знаешь, как это друг с другом связать. От этого ещё и сами пакетные менеджеры усложнены.

     
  • 3.61, Аноним (57), 18:24, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > одно время и позиционировалось, как "c++ done right"

    В эту ловушку кто только ни попадал, но даже в случае головокружительного успеха всё равно получалась всего лишь более быстрая лошадь.

     
     
  • 4.69, User (??), 21:21, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> одно время и позиционировалось, как "c++ done right"
    > В эту ловушку кто только ни попадал, но даже в случае головокружительного
    > успеха всё равно получалась всего лишь более быстрая лошадь.

    Диалектический переход количества-в-качество еще никто не отменял )))

     
     
  • 5.76, Аноним (76), 08:44, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Диалектический переход количества-в-качество еще никто не отменял )))

    Я отменяю.

     
     
  • 6.82, User (??), 11:48, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Диалектический переход количества-в-качество еще никто не отменял )))
    > Я отменяю.

    Вааау! Вот я с Гегелем и познакомился :)

     
  • 5.100, n00by (ok), 15:51, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>> одно время и позиционировалось, как "c++ done right"
    >> В эту ловушку кто только ни попадал, но даже в случае головокружительного
    >> успеха всё равно получалась всего лишь более быстрая лошадь.
    > Диалектический переход количества-в-качество еще никто не отменял )))

    Это не закон, а чушь, на которую купятся лишь незнакомые с термодинамикой друзья Энтропии.

     
     
  • 6.113, Аноним (113), 04:10, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Это не закон, а чушь, на которую купятся лишь незнакомые с термодинамикой друзья Энтропии.

    Это как раз закон, и причём именно он определяет саму сущность "термодинамики". "Мало частиц"=классическая механика, "много частиц"=термодинамика. Сами частицы те же самые, но законы качественно иные.

     
     
  • 7.114, n00by (ok), 10:25, 09/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>Это не закон, а чушь, на которую купятся лишь незнакомые с термодинамикой друзья Энтропии.
    > Это как раз закон, и причём именно он определяет саму сущность "термодинамики".
    > "Мало частиц"=классическая механика, "много частиц"=термодинамика. Сами частицы те же
    > самые, но законы качественно иные.

    Итак, эксперт готов рассказать, замкнута ли система, где работает так называемый "закон", придуманный предпринимателем Энгельсом?

     
  • 5.104, Аноним (57), 01:59, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не только не отменял, но и не наблюдал в дикой природе, а это куда важнее любых гипотез.
     

  • 1.13, анон (?), 08:50, 06/04/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     

  • 1.79, Маскулинный мужчина (?), 10:18, 07/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Вы знали, что это изобретение Андрея Александреску и Герба Саттера, которое они бросили и ушли на пенсию?
     
     
  • 2.85, Аноним (86), 11:58, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вообще-то, изобретение Уолтера Брайта. А Александреску позже присоединилися.
     
     
  • 3.110, nobody (??), 21:03, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А Саттер до сих пор возглавляет ISO C++ и ни на какую пенсию не ушёл, хотя и свалил из микрософта
     

  • 1.102, burjui (ok), 00:57, 08/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Всё, что нужно знать о D:

    С 2008 года есть такой мерзкий баг:
    https://issues.dlang.org/show_bug.cgi?id=2043

    После затяжной войны на истощение Уолтер нот соу Брайт в 2022 наконец закрыл баг, но не потому что починил код, а как дубликат этого бага:
    https://issues.dlang.org/show_bug.cgi?id=23136

    Что с ним, спросите вы? В 2024 этот баг переехал на Github:
    https://github.com/dlang/dmd/issues/18108

    ... и на этом пока всё.

     
     
  • 2.109, PnD (??), 16:19, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Это не баг — это фича"©.
    В Go только в одном из последних релизов уломали пофиксить "фичу" (что-то там достаточно фундаментальное было на таком поведении завязано). При том что ресурсов в Go как бы немного побольше вбухано.

    Немного жаль, конечно, что гугл выбрал именно го под соответствующие задачи (не иначе как из-за названия). Но, что имеем…
    * И да, D на моей памяти пытался в 200х рубить бабло на продаже компиллятора. Не осознав, что "тактика слегка поменялась".

     
  • 2.127, Аноним (128), 18:23, 12/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я из функциональщины пользуюсь только лямдами. Поэтому, для меня это ваще не проблема.
     

  • 1.122, дилетант (?), 06:24, 11/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    что-то модно, что-то вечно.
    в свое время решительно так стал изучать Ди2. Даже переписал часть C#-кода для работы с dbf. Осталась как консольная читалка полей. В целом хорош, но для малознакомого с си и вообще компиляцией из исходников не смог преодолеть психологический барьер когда надо было разбираться с ошибками компиляции. Вообще есть достойная замена  OBERON BlackBox Core
    Они правда медленно развиваются в плане поддержки x86_64. Для среды все еще требуются гтк 32 битные. Уникальность его в том что они синтаксически очень хорош. Лучше не видел (F# в чем то близок).
    Модульный. Сборки автономных приложений получаются минималистичными в отличии от того же дотнета несмотря на все старания. хотя возможно это потому что у них модули малофункциональные. Ну и опять же экосистема в зачаточном состоянии. Пока подходит только для встроек и обработки данных (ученым). Ну или уже оставаться всем на си. Чем он плох? ну или зиг. последний кстати уверенно набирает обороты
     
     
  • 2.123, n00by (ok), 10:15, 11/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Странно, что Component Pascal не взлетел, когда в России столько поклонников Вирта. Под Windows этот BlackBox Component Builder имел графическую библиотеку и вроде бы вообще всё нужное. Под Linux небось и половину не перенесли за 20 лет?
     
     
  • 3.125, Аноним (125), 15:43, 11/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так эта, есть же русский Обберон. На ём даже Русскую ОСь пишут.
     

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



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

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