The OpenNET Project / Index page

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

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

10.03.2025 16:22

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

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

Среди изменений в новом выпуске:

  • При запуске с опцией "-preview=fixImmutableConv" запрещено копирование переменных с типом "const void[]" в переменные с типом "void[]", так как такое копирование в последствии может привести к использованию вне контекста "const".
  • Данные, загруженные через выражение "import", теперь обрабатываются как бинарные строки (hex string) и могут быть неявно преобразованы в массивы значений с типами, отличными от "char".
  • Добавлен типаж isCOMClass ("__traits(isCOMClass, Type)") для определения в процессе компиляции, что тип является COM-классом.
  • Значения с типом "bool", отличные от 0 и 1, теперь обрабатываются как небезопасные (не могут использоваться в коде с признаком "@safe").
  • В пакетном менеджере dub обеспечена проверка присутствия файлов "dub.selections.json" в родительских каталогах.


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


Обсуждение (155) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Ivan_83 (ok), 16:32, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    > При запуске с опцией "-preview=fixImmutableConv" запрещено копирование переменных с типом "const void[]" в переменные с типом "void[]", так как такое копирование в последствии может привести к использованию вне контекста "const".

    Опять придётся через memcpy() обходить дурные хотелки компелятора :)

    static inline void *
    deconst_ptr(const void *prt) {
        void *ret;
        memcpy(&ret, &ptr, sizeof(void*));
        return (ret);
    }

     
     
  • 2.5, Аноним (5), 16:57, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Или не использовать опцию -preview=fixImmutableConv.
     
     
  • 3.93, 12yoexpert (ok), 10:50, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    каким местом результирующий массив должен быть immutable?
     
  • 2.16, Аноним (16), 17:55, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Опять придётся через memcpy() обходить дурные хотелки компелятора :)

    Г*кодерам нет покоя...

     
     
  • 3.18, Ivan_83 (ok), 18:13, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Вот именно, мешают своими типами код писать :)
     
     
  • 4.84, ng (ok), 09:32, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Тут важно различать программистов и кодеров.

    Когда первые с лёгкостью программы _пишут_, вторые неистово _кодят_.

    Это закреплено в статье 1261 ГК РФ, где программа приравнивается к литературному произведению.

    :)

     
     
  • 5.94, 12yoexpert (ok), 10:51, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Тут важно различать программистов и кодеров

    это важно только маленьким детям, которые любят это повторять

     
  • 5.102, Аноним (102), 11:30, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А можно мне для себя, как отличить программиста от кодера? Хочу понять, кем являюсь я.
     
     
  • 6.122, ng (ok), 13:50, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Всё, на самом деле, просто.

    Если пишет он программу, значит это программист; ну, а если кодит код, значит это кодер.

    :)

     
     
  • 7.137, Аноним (137), 15:34, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А если скриптует?
     

  • 1.2, Аноним (-), 16:36, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    >Опубликован релиз DMD 2.110, эталонного компилятора для языка D.

    Господа это единственный компилятор не основанный на LLVM.

    >Код компилятора распространяется под свободной лицензией BSL (Boost Software License).

    Не копилефт. Это разрешиловка-пермиссивка.

    >Поддерживаются системы Linux, Windows, macOS и FreeBSD.

    Windows в этом списке лишний.

     
     
  • 2.17, funny.falcon (?), 17:58, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Господа это единственный компилятор не основанный на LLVM.

    Go, Ocaml, Haskel, FreePascal…

     
     
  • 3.19, Аноним (19), 18:16, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Спасибо тебе, дорогой
     
     
  • 4.20, Аноним (19), 18:17, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А раст то на llvm или нет ?!?
     
     
  • 5.22, Аноним (22), 18:28, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Да
     
  • 3.28, Ан Оним (?), 19:30, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    FPC with an LLVM code generator backend is available on the git main branch
    https://wiki.freepascal.org/LLVM
     
     
  • 4.35, Аноним (22), 20:02, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Зачем, если есть без LLVM?
     
  • 4.48, Анонем (?), 20:50, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Will the FPC team, somewhere in the future, adopt the LLVM as the backend on all platforms?
    > No, for various reasons
     
  • 4.55, Bottle (?), 22:14, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ознакомься с Pascal-P5, который соответствует ISO стандарту языка.
     
  • 2.45, Аноним (-), 20:30, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Господа это единственный компилятор не основанный на LLVM.

    Если бы он еще умел оптимизировать хотя бы в половину как LLVM - цены бы ему не было.

    > Не копилефт. Это разрешиловка-пермиссивка.

    Ну так поэтому и написано "под свободной лицензией"

    > Windows в этом списке лишний.

    Без винды оно вообще бы загнулось из-за ненужности.

     
     
  • 3.47, Аноним (47), 20:42, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для скорости есть LDC/GDC (с LLVM и GCC бэкендами)
     
  • 2.112, Аноним (137), 12:33, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Господа это единственный компилятор не основанный на LLVM.

    Как бы, gdc тоже на нём не основан.

     

  • 1.6, Аноним (6), 16:59, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Здесь должна быть дискуссия почему D должен был не допустить такое явление как Раст! Именно Раст заполонил умы опеннетовцев, а должен был D!
     
     
  • 2.8, Аноним (8), 17:10, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Потому что у D не было достаточной поддержки со стороны корпораций.
    Не очень убедительно пиарились.
    Да и у Раст пока позиции крайне слабые. Хайп пройдёт и забудут.
     
     
  • 3.9, Аноним (8), 17:14, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Некоторые маститые кодеры попробовали Раст, и вот что говорят: долго компилируются большие проекты, тащится куча зависимостей, многие вещи слишком сложно выразить на Расте (тогда как на плюсах это делается элементарно).
     
     
  • 4.13, Аноним (16), 17:53, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > многие вещи слишком сложно выразить на Расте (тогда как на плюсах это делается элементарно).

    Ох, лол. Прямо многие? Хоть одну "маститые кодеры" могут привести в пример?

     
     
  • 5.21, Аноним (8), 18:18, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Говорили, что из-за требования постоянно угождать боров чекеру. Ломается производительность труда. Нужно изворачиваться, чтоб даже простые вещи реализовать.

    Но это не моё мнение.

     
     
  • 6.78, анон (?), 08:08, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А это и есть фатальный недостаток Rust-а т.к. код сразу пишется в продакшн (производство)
     
  • 6.90, Аноним (90), 10:36, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Что ещё говорят маститые кодеры (какой масти, кстати?)? Что-нибудь про удой кур известно стало?
     
  • 5.95, 12yoexpert (ok), 10:55, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    гугли статью на хабре, как разработчик игр пытался на расте писать. в итоге его выбесило, что компилятор мешает работать, что язык - нелогичная каша, собранная по сусекам, и что фундаметальные баги висят по 10 лет и всем пофиг
     
     
  • 6.115, Аноним (-), 12:52, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если ты про нытье этих неудачников Leaving Rust gamedev after 3 years loglog ga... большой текст свёрнут, показать
     
  • 5.103, yet another anonymous (?), 11:34, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ох, лол. Прямо многие? Хоть одну "маститые кодеры" могут привести в пример?

    Реализовать, скажем, двунаправленный список.

     
  • 4.14, BeLord (ok), 17:54, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Они бы привели примеры этих многих вещей, а то есть умельцы которые технологическими линиями на Перле управляют, а есть кто приложение из 5 окон делает бегемотом-)))
     
     
  • 5.39, Аноним (39), 20:14, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Видели мы код этих "умельцев" на перле…
     
     
  • 6.105, Аноним (137), 11:39, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да вообще код на Перле...
     
  • 5.104, Аноним (137), 11:38, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Бегемот - что за ЯП такой?
     
  • 3.10, Аноним (10), 17:20, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что D в сравнении с плюсами в итоге не давал значимых преимуществ и при этом был нужен полутора анонимусам. Плюс разные стдлиб и несовместимые, но поддерживаемые DMD1 и DMD2 окончательно убили смысл в D вкладывать усилия.
     
     
  • 4.80, анон (?), 08:14, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У них не было GUI библиотеки что ограничвало распространение. У Rust есть Slint, у C/C++ есть Qt, wxWidgets, MFC и пр., даже у Pascal есть, и у Go есть Fyne, Gio. А у D ничего не было.
     
  • 4.81, Аноним (81), 08:32, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    D был хуже чем C++ т.к. в нем был GC, так что он встал куда-та на уровень с Go.
     
     
  • 5.106, Аноним (137), 11:42, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для кроваво-ынтерпрайзного софта GC в преимущество.
     
  • 3.15, Аноним (15), 17:55, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Насчёт хайпа и забудут не уверен, стратегия раста - заразить как можно больше проэктов, пока хайп не прошёл. Вокруг Ди тоже хайп какой-никакой был, но на нём не было написано ничего важного, и он действительно помер после хайпа, тихо и незаметно.
     
     
  • 4.23, Аноним (23), 18:32, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > стратегия раста - заразить как можно больше проэктов, пока хайп не прошёл

    Ё-моё, вы посмотрите, "стратегия раста". Оказывается оно живое, у него ещё и какая-то стратегия есть. А ничего что тот раст о котором вы говорите это не раст, а ведущие разработчики этих самых проектов (да-да те самые пр которых выше аноним врём что они де жалуются на долгую компиляцию, зависимости и невыразительность), которые понимают что за языком будущее (на самом деле уже настоящее)?

     
     
  • 5.36, laindono (ok), 20:04, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > они де жалуются на долгую компиляцию

    Два ядра, два гига, посередине SATA (у мажоров, у остальных IDE).

    У меня Рязань 2700, 32 гига рамочки и SSD в M.2. Не особо свежая сборка даже 5 лет назад.

    Небольшая поделка на Bevy, требующая ~500 зависимостей:

        Total lines: 18269497
        (17515535 code, 274975 comments, 478987 blank lines)

    Холодный релизный билд:

        Finished 'release' profile [optimized] target(s) in 3m 42s

    Горячий релизный билд:

        Finished 'release' profile [optimized] target(s) in 11.86s

    И я не закрывал два инстанса Firefox и VScode, чтоб получить циферки получше. И проц/память не разогнанны ибо мне лень.

     
     
  • 6.40, Аноним (39), 20:19, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А что оно делает? У меня простенький привет мир (построчный разбор строк, фильтрация, форматирование вывода), тупо переписал простенький скрипт с питона (с ворохом сишных батареек) на раст, вышло по 50 гб на дебаг и релиз либы, сборка какое-то совершенно неприличное время.
     
     
  • 7.107, Аноним (137), 11:45, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Минусующие предлагают вам не верить своим глазам.
     
  • 6.43, Ivan_83 (ok), 20:26, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Смешно же.

    Чтоб ты понимал у нас на работе продукт за 3-4 минуты собирается, при прогретых кешах.
    А продукт тот включает сборку ISO загрузочного, в процессе оно разворачивает в chroot фрибсд с кучей портов, потом там внутри компеляет фрирдп+ещё С кода раз в 10 больше, потом вот это всё пакует в архивы, подписывает пгп, пакует в исо и выгружает по сети на нфс.
    И где то минута там тратится потому что один кусок проекта достаточно большой и собирается он в один поток.

    Тачка там не особо сильно быстрее твоей, ну проц 5950х да оперативы примерно столько же, естессно там браузер никто не запускает при этом, там просто ещё какие то виртуалки крутятся :)


    Так что раст отстой.

     
     
  • 7.54, laindono (ok), 22:11, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > при прогретых кешах

    Что кеши кешируют? У меня кешированная сборка занимает десяток секунд.

    > Тачка там не особо сильно быстрее твоей, ну проц 5950х

    Проц примерно вдвое быстрее.

    > ещё С кода раз в 10 больше

    Процедурный код на два порядка проще компилировать.

    > И где то минута там тратится потому что один кусок проекта достаточно большой и собирается он в один поток.

    Рекоменду пофиксить.

    Но опять же, сравниваем несравнимое.

     
     
  • 8.70, Ivan_83 (ok), 03:27, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Почти всё собранная ос, исходники портов, собранные порты, ccache Да всё как... текст свёрнут, показать
     
     
  • 9.74, laindono (ok), 04:24, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Холодная сборка за 3-4 минуты превращает 18 миллионов строк уже скачанного расто... текст свёрнут, показать
     
  • 5.41, Ivan_83 (ok), 20:20, 10/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.46, Аноним (-), 20:40, 10/03/2025 Скрыто ботом-модератором     [к модератору]
  • –3 +/
     
  • 5.44, Аноним (15), 20:28, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >"стратегия раста"
    >оно живое, у него ещё и какая-то стратегия есть

    Раст - это не только язык, но и сообщество, и политическая система. Раст всеобъемлющь.

    >ведущие разработчики этих самых проектов
    >понимают что за языком будущее (на самом деле уже настоящее)

    Всё верно, так и есть. Может быть не настоящее, но будущее - точно. Разработчиков с хорошей подготовкой и самодисциплиной на всех не хватит, а код писать надо. Да и мода теперь всё оутсорсить в Индию или Вьетнам какой-нибудь работникам после трехмесячных курсов.

     
     
  • 6.61, Аноним (61), 23:37, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Когда ж да всех вас дойдет, что политизированность ещп никогда ни к чему хорошему не приводила! Раст это эпидемия, от которой надо лечить. Кучка фанатиков, лезущих в чужие монастыри, навязывающие свои хотелки всем подряд. Где политика, там и войны, уже видно как все мировое ит сотбщество разделилось на два лагеря. Кому это нужно, хз, корпам? Это ничем хорошим в итоге не кончится. Профуканное поколение.
     
     
  • 7.123, Аноним (-), 13:57, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как и отсутствие п0литизированности Вон отличный пример HUBR сначала внип0лит... большой текст свёрнут, показать
     
  • 5.51, Аноним (51), 21:18, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное, если бы у раста не было такой стратегии, то и людей бегающих по репозиториям и требующих срочно переписать всё или хотя бы частями на раст не было?
     
     
  • 6.64, Аноним (23), 00:32, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Только никто по репозиториями не бегает и не требует, свои репозитории переписывают сами авторы. Но да, этой движухи не было бы не будь rust революцией, а будь он посредственностью как какой-нибудь очередной D.
     
     
  • 7.69, Аноним (51), 01:39, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >свои репозитории переписывают сами авторы

    Торвальдс свой проект тоже сам переписывает?

     
     
  • 8.119, Аноним (-), 13:11, 11/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 9.124, Аноним (51), 14:05, 11/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 10.130, Аноним (-), 14:49, 11/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.56, Bottle (?), 22:16, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    D для скриптинга использовали Remedy, те финны, которые Alan Wake и Control сделали.
     
  • 2.26, Аноним (26), 18:36, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я не стал его юзать из-за сборщика мусора. он как бы был опциональным всегда, но по факту все было завязано на него и ты не мог вроде даже стандартную либу использовать без сборщика мусора.
     
     
  • 3.38, fuggy (ok), 20:13, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот и получается. Возможная замена для Rust. А по факту нужно отключать сборщик мусора и использовать malloc/free без которого возвращаемся к тому что с чего начали. Или читать 10 страница мануала про все режимы работы.
     
  • 3.52, Аноним (39), 21:18, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    2 версия поворот не туда, но чего ещё ожидать от любителей додиеза.
     
     
  • 4.108, Аноним (137), 11:52, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Можете использовать его подмножество BetterC, как замену Сишки, но с более красивым синтаксисом. Совсем без GC.
     

     ....большая нить свёрнута, показать (42)

  • 1.11, Tita_M (ok), 17:32, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Вопрос к тем кто следит за этим языком: добавили ли в него поддержку борроу чекера уже или ещё нет?
    А то читал несколько лет назад, что рассматривают такую возможность.
     
     
  • 2.25, Аноним (23), 18:35, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для борроу чекера нужно вводить в синтаксис языка лайфтаймы, а значит ломать совместимость. Никакой из копроязыков на это не пойдёт, добавление борроу чекера останется на уровне балаболии.
     
     
  • 3.42, Аноним (42), 20:22, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Для борроу чекера нужно вводить в синтаксис языка лайфтаймы

    А для написания комментариев нужно вводить тест на слабоумие?

     
  • 2.99, Аноним (47), 11:06, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Пока что добавили очень простую штуку только и она экспериментальная так и осталась https://dlang.org/spec/ob.html
     

  • 1.12, blevakagmail.com (?), 17:47, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Годнота. Круче сишарпа. Жаль не майки
     
     
  • 2.24, Аноним (22), 18:34, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А где же их Verona?
     
  • 2.33, Аноним (5), 19:57, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Круче сишарпа.

    В огороде бузина, в Киеве дядька.

     
  • 2.60, Аноним (60), 23:24, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    в сад
     
  • 2.66, 12yoexpert (ok), 01:22, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    с каких пор D это не майки? майки же его и закопали, взяв на работу Александреску
     
     
  • 3.100, Аноним (47), 11:07, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Он в Нвидиа ушел
    Майки там ни при чем
     
     
  • 4.163, 12yoexpert (ok), 20:58, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    перепутал майков с фейсбуком. нвидиа тут ни при чём.
     

  • 1.27, зомбированный (?), 18:56, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А этот компилятор умеет в порты звонить и собирать под ХР ??? Вообще, мне нужен С подобный современный компилятор, который умеет в порты звонить и собирать под ХР!!!
     
     
  • 2.29, Ан Оним (?), 19:37, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Lazarus/FreePascal умеет. Делал такую программу для работы с параллельным портом
     
     
  • 3.30, зомбированный (?), 19:43, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    так Lazarus на Pascalе, а я спрашивал С подобный
     
     
  • 4.31, Ан Оним (?), 19:53, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так Free Pascal и есть С-подобный, в нём есть все С-шные типы данных и способ вызова, из FP можно вызывать С-шные dll'ки для работы с портами.
     
     
  • 5.34, Аноним (22), 20:00, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Синтаксис у него несиподобный.
     
  • 5.49, _kp (ok), 20:51, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Ну, верни указатель в функции на Паскале. Ни как? А вот такие там тараканы. И так там везде.  :(
     
     
  • 6.50, Аноним (50), 21:14, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Синоним типа сделай (а-ля type PChar = ^Char;) и массивы в функции передаются и указатели возвращаются.
     
     
  • 7.59, _kp (ok), 23:18, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да Вы затейник Всю проверку типов поделить на их приведение к PChar Там пре... большой текст свёрнут, показать
     
     
  • 8.132, Аноним (132), 15:13, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Паскаль не забыт, он развивается Вот современный Паскаль https www remobject... текст свёрнут, показать
     
  • 8.135, Аноним (135), 15:29, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы вообще не поняли, что вам написали Речь не о приведении всех типов к PChar, ... текст свёрнут, показать
     
  • 8.138, Аноним (135), 15:36, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что вы там могли на нем писать, если даже не знаете, как вернуть указатель из фу... текст свёрнут, показать
     
     
  • 9.145, _kp (ok), 16:32, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще то, я и переписал, и закончил работу Но исходник стал толще и хуже чит... текст свёрнут, показать
     
  • 6.125, Аноним (135), 14:07, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну, верни указатель в функции на Паскале. Ни как?

    В чем проблема?

    type
      TFn = function(): String;

    function Foo: String;

    function Bar: TFn;
    begin
      Result := @Foo;
    end;

     
     
  • 7.126, _kp (ok), 14:27, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Речь про указатели на объекты и структуры.
    Про аналог костыля ***void с приведением чего угодно к PChar упомянуто, и про недостатки игнорирования типов при этом.

    Про возврат указателя через var параметры тоже сказано, и про недостатки способа.

    Причем здесь ваш пример с обычной строкой? ;)
    Вы точно читаете?

     
     
  • 8.128, Аноним (128), 14:41, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В FPC используйте TYPEDADDRESS ON и для указания указателя на конкретный ти... текст свёрнут, показать
     
  • 8.131, Аноним (135), 15:12, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы писали верни указатель в функции Я думал, была опечатка в и речь идет о ... текст свёрнут, показать
     
  • 8.136, Аноним (135), 15:32, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какие еще костыли с игнорированием типов и void То был пример использования с... текст свёрнут, показать
     
  • 6.133, Аноним (132), 15:16, 11/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.32, Аноним (5), 19:56, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё пять лет назад минимум семёрка нужна была.
     
  • 2.37, Аноним (47), 20:10, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Убрали поддержку XP достаточно давно
    Но можно скачать старую версию компилятора попробовать
     
     
  • 3.65, Аноним (-), 01:06, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы в музее работаете что-ли?
     
     
  • 4.151, Аноним (151), 18:14, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    У нас в универе хр стоит
     
  • 2.58, зомбированный (?), 22:48, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    На самом деле я этот вопрос задал, чтобы проверить квалификацию системного программирования здешней публики. Ответ очень простой - есть ультра современная IDE, которая умеет свистеть в порты и компилировать как в ХР так и даже в Win3.1 - это безусловный лидер в мультиплатформенном программировании - Embarcadero RAD Studio 12.2
    у меня проги скомпилированные на 7ке в RAD Studio 12.2 отлично запускаются на ХР/98 (в проекте указываешь минимальную версию ОС и всё!)
     
     
  • 3.62, Аноним (62), 23:48, 10/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Реклама - информация, распространенная любым способом, в любой форме и с использованием любых средств, адресованная неопределенному кругу лиц и направленная на привлечение внимания к объекту рекламирования, формирование или поддержание интереса к нему и его продвижение на рынке (Приказ ФАС России от 14.11.2023 N 821/23)


    > отлично запускаются на ХР/98

    киллер фича в 2025 году

     
     
  • 4.67, зомбированный (?), 01:34, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что ты хочешь сказать этим приказом - так ваобще любую информацию можно назвать рекламой в том числе прогноз погоды на завтра или любую другую абсурдную информацию
    С другой стороны, человека распространяющего информацию, но который НИКАКОЙ выгоды не получает от этого ни прямой, ни косвенной, ни моральной, ну ВАОБЩЕ НИКАКОЙ то такой чел не является рекламодателем, а следовательно ИНФОРМАЦИЯ НЕ ЯВЛЯЕТСЯ РЕКЛАМОЙ, а констатацией факта.
    Реклмой можно назвать распространение информации только если есть материальная выгода (прямо или косвенно). В случае другой мотивации - применяются другие термины...
     
     
  • 5.75, Аноним (75), 04:25, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > констатацией факта

    Это ваша фантазия, а не констатация факта. Говорю, как человек, который прямо сейчас пилит клиент для телеграм под Windows 3.11 и перелопативший 1001 способ как это сделать и пришедший к выводу, что лучшее решение это нативный delphi первой версии в эмуляторе.

     
     
  • 6.76, Аноним (76), 07:48, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >клиент для телеграм под Windows 3.11

    Ух ты, актуальненько. Владельцы 80386 возрадуются.

     
  • 3.63, _kp (ok), 00:28, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/

    > Embarcadero RAD Studio 12.2

    Новшество - похерили С++, везде, кроме Windows. ;)

     
     
  • 4.68, зомбированный (?), 01:36, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В RAD Studio 12.2 C++ отлично работает под Android, iOS, так что не только под Windows
     
     
  • 5.98, _kp (ok), 11:04, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В RAD Studio 12.2 C++ _отлично_ работает под Android, iOS, так что
    > не только под Windows

    Если Вас не смущает официальное заявление что в  последнем C++Builder похерена поддержка всего, кроме     windows, а 64х битных кроссплатформенных компиляторов и вовсе не было, то Вам точно виднее. Хоть разработчикам напишите, а то мужики то незнают.

    Сферический С++ в ваккуме и так есть под любые платформы, в том числе и ещё непридуманные, а с библиотеками не под всё.
    В всвязи с кончиной Builder'а и подкинули работку переписывать с Builder на Delphi.

    Вернемся к обсуждаемому языку D.
    Язык, как бы не был хорош, или безопасен, без полноценного IDE, с конструкторами форм, останется нишевым. На этом взлетели Delphi и C#. Delphi во времена актуальности отличался очень высокой скоростью компиляции. И то и другое  для меня это когда то послужило мотивом на переход на Delphi, несмотря на органическую неприязнь к Паскалю уже тогда. То есть, язык не влиял на выбор среды разработки, а сама IDE его сделала популярным.

    Ныне живые Embarcadero и Lazarus, не смотря на непопулярный Паскаль, имеют и IDE и кроссплатформенность. Не будь её, про них бы забыли.

    В плане популяризации новых языков, нужно параллельно делать IDE.
    Будь что то типа Lazarus, но с D или даже  Rust под ккпотом, то пользовались бы и не жужжали.

     
     
  • 6.101, Аноним (47), 11:11, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    При этом один крупный D shop переехал на него как раз с Паскаля
    И их продукты это GUI приложения, там правда основная фишка коненчо в вычислениях которое приложение делает. Правда на чем сам GUI написан не знаю)
     
  • 3.73, Аноним (75), 04:19, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > и даже в Win3.1

    Простите, но вы написали глупость.

     
     
  • 4.121, зомбированный (?), 13:45, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    да ладна?
    https://ibb.co/qMMbK27s
     
     
  • 5.127, Аноним (5), 14:39, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это под Win32s, что ли? Ой, нет, лучше не надо.
     
     
  • 6.129, Аноним (5), 14:42, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А, ну OS Version осталась 6.0,всё понятно.
     
     
  • 7.134, зомбированный (?), 15:20, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну так я могу и OS Version понизить до 1.0 - тoгда ещё лучше будет работать на win 3.1
     
     
  • 8.165, Аноним (165), 21:13, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А вы вообще понимаете назначение этого списка Впрочем, можете переключить на вс... текст свёрнут, показать
     
  • 5.164, Аноним (165), 21:07, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это не то, совсем не то. Там можете хоть 0 указать. Важно то, где OS version, а там 6.0. Т.е. начиная от Vista.
     
  • 3.79, n00by (ok), 08:12, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как оно свистит, когда запись в порт выполняется привилегированной командой?
     
     
  • 4.85, зомбированный (?), 09:41, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ясный пень через драйвер портов PortTalk, а для этого нужно, чтобы компилятор поддерживал команды inport/outport
     
     
  • 5.88, Аноним (5), 09:50, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Команды в ассемблере, а это библиотечные функции. Если их нет, их можно написать.
     
     
  • 6.110, _kp (ok), 12:10, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>Команды в ассемблере..

    Оно не обойдет ограничения OS на доступ к портам.

    >> это библиотечные функции. Если их нет, их можно написать.

    Нет. Можно "просто написать" драйвер, причем для каждой ОС и её вариантов свой драйвер, и работать через него.
    А в остальном, всё хорошо как никогда.

     
     
  • 7.113, Аноним (5), 12:39, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и каким боком это относится к компилятору? Как получить доступ к железу — это не его проблема. А писать в порты можно на любом языке, хоть при помощи инлайн-ассемблера.
     
  • 2.72, Аноним (75), 04:18, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А этот компилятор умеет в порты звонить и собирать под ХР ???

    Что мешает кодить под XP на том, что выходило во времена официальной поддержки XP?

     
     
  • 3.109, зомбированный (?), 12:06, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    то что выходило во времена официальной поддержки XP - не работало с портами, последняя версия Visual Studio умеющая свистеть в порты - 6.0. Но она кстати и под 7кой отлично работает и свистит в порты, но как бы не комфортно на ней...
     
     
  • 4.114, Аноним (5), 12:44, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    __asm очень сложно использовать, да.
     
     
  • 5.140, Аноним (137), 15:40, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем? Даже в Borland C++ для DOS были функции, которые читали из порта, писали в порт.
     
     
  • 6.144, зомбированный (?), 16:28, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    так он говорит про компиляторы у которых нет таких функций
     
     
  • 7.148, Аноним (5), 16:46, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати https://learn.microsoft.com/ru-ru/cpp/c-runtime-library/outp-outpw-outpd?view=
    То есть выпилили аж в 2015.
     
     
  • 8.149, Аноним (5), 16:48, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Но повторюсь 8212 код там тривиален text 00000000 public __... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (49)

  • 1.57, Аноним (47), 22:23, 10/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    На удивление один из самых быстрых языков - и даже ГЦ не мешает ему в этом
    По многим бенчмаркам в топе находится

    https://github.com/attractivechaos/plb2 - C, Rust и D практически похожую производительность показывают

    https://github.com/jinyus/related_post_gen - а тут вообще всех уделал

    Что творится?!

     
     
  • 2.71, _ (??), 04:11, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Что творится?!

    Обычные овнотесты. К реальности не имеющие...

     
     
  • 3.97, Аноним (47), 11:03, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А что имеет к реальности отношение?)
     
     
  • 4.166, _ (??), 21:32, 11/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.92, 12yoexpert (ok), 10:48, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    по первой ссылке чувак рассуждает о выносе переменных из внутренних циклов во внешние для эфемерной оптимизации этих вложенных циклов, но при этом не знает, в каком порядке эти циклы должны быть друг в друга вложены. дальше можно не читатьч, человек понятия не имеет об оптимизации кода
     
     
  • 3.96, Аноним (47), 11:03, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там это в целом неважно ведь
    все делают одинаковый алгоритм, а уж оптимальный он сам или нет..
     

  • 1.77, Аноним (128), 07:49, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Автор допустил ровно одну маленькую ошибку — сделал сборщик мусора встроенным по умолчанию.
    А так это такой C++ на стероидах с человеческим синтаксисом классического сисярпа.
     
     
  • 2.82, Аноним (82), 09:06, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    что именно там человеческого, хочешь так сделай, хочешь сяк, заранее заложили бомбу под код-стайл
     
  • 2.111, _kp (ok), 12:18, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > сборщик мусора встроенным по
    > умолчанию.

    Вы думаете, если дергать освобождение памяти  вручную на каждый чих, то будет быстрее? ;)

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


     
     
  • 3.143, Аноним (23), 16:16, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Вы думаете, если дергать освобождение памяти  вручную на каждый чих, то будет быстрее? ;)

    Что значит "каждый чих"? А с GC не на каждый чих? Ничего что с GC деаллокаций меньше не станет, их будет ровно столько же, никакого выигрыша от батчевания не происходит, а оверхед на хождение по графам всегда появляется, и всегда больше потребление памяти, и всегда просадки производительности в непредсказуемые моменты, как бы там не изголялись чтобы избежать stop-the-world. Поэтому да, блин, будет быстрее.

    Скорее наоборот, есть специфические кейсы где деаллокацию выгодно отложить. Но точно не до хрен знает когда как с GC, а до заранее известного момента.

     
     
  • 4.158, Аноним (22), 19:35, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там же в критических секциях сборку мусора можно запретить.
     

  • 1.87, abu (?), 09:47, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    D нравится, правда, в его дебри сильно не лезу. Пишу на нем мелкие тулзы и игровой пет-проект.
     
  • 1.116, Ганс Грубер (?), 13:06, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Жаль, нет гуя.
     
     
  • 2.141, Аноним (137), 15:41, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Qt-биндинги есть.
     
     
  • 3.154, Ганс Грубер (?), 18:48, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Биндинги это фигня. Да и если я правильно понимаю, для Qt6 их нет, а он вышел 5 лет назад.
     
     
  • 4.156, Аноним (22), 19:29, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    D может работать с обычными классами C++. Я так понял, что кроме шаблонов, Qt moc. Поэтому, наверное, можно использовать C++ную GUI-библиотеку не на шаблонах. FLTK ?
     
  • 4.159, Аноним (159), 19:48, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Биндинги это фигня.

    А что значит с гуем, но не биндинги? Пару примеров можно?

     
     
  • 5.161, Ганс Грубер (?), 20:23, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Пример - это как Qt, но изначально написанный на D и сдизайненный под него, а не под "дергаем через костыли крестовый код".
     

  • 1.139, Аноним (139), 15:39, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чего нет у D - армии фанатов в соцсетях и рекомендаций мануала по D вместе с чулками.

    Потому и не взлетел.

     
     
  • 2.142, Аноним (-), 16:07, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А еще у него нет внятного позиционирования.
    Типа замена С++. Или С. Нипанятна.
    В нем есть GC. Но можно отключить. Правда придется разбираться с кучей не очень явных проблем.

    Он вроде безопасный... но есть SafeD и Better C.
    Который из них лучше? Зачему нужно два? Неужели нельзя сделать один раз, но хорошо?
    Почему BetterС если D замена С++.. никто не знает.

    Вот поэтому и не взлетел)


     
     
  • 3.147, Аноним (42), 16:38, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сборку мусора отключить нельзя, её можно только приостановить

    Better C - это про написание dll на D которые потом можно подключить в C с минимальными проблеммами.
    SafeD - это набор "рекомендаций" для безопасно разработки.

     
     
  • 4.150, Аноним (-), 16:53, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > SafeD - это набор "рекомендаций" для безопасно разработки.

    Я бы не назвал это просто рекомендациями.
    Как минимум там добавили @safe и @trusted.
    Плюс лайфтамы в спецификацию.


     
  • 3.153, Ганс Грубер (?), 18:21, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Better C это про замену сишки, подмножество ди с фичами, которые не требуют его рантайма.
     
  • 3.157, Аноним (22), 19:31, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    SafeD и Better C - это, как бы, противоположности в смысле безопасности.
     
     
  • 4.167, Facemaker (?), 21:41, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >SafeD и Better C - это, как бы, противоположности в смысле безопасности

    Короче, никто ничего не понимает — запутали, намудрили... А программисты люди простые, им подавай ясность и определённость. Например, если целый тип беззнаковый и 16-битный, то и называться он должен 'u16'. А не 'ushort'. Куда шорт, относительно чего шорт...

     
     
  • 5.168, анончик (?), 21:49, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А если на архитектуре он не 16битный? Плодить u18, u6, u36?
     

  • 1.146, Соль земли (?), 16:35, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    На нём написан неплохой эмульятор терминала Tilix.
     
     
  • 2.160, Facemaker (?), 19:51, 11/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >эмулятор терминала Tilix

    Да, отличная программа, пользуюсь постоянно.

     

  • 1.155, Аноним (151), 18:56, 11/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    C/C++ пытается быть похожим на раст)
     

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



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

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