The OpenNET Project / Index page

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



"Выпуск компилятора языка D 2.110"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск компилятора языка D 2.110"  +/
Сообщение от opennews (ok), 10-Мрт-25, 16:32 
Опубликован релиз DMD 2.110, эталонного компилятора для языка D.  Код компилятора распространяется под свободной лицензией BSL (Boost Software License). Поддерживаются системы Linux, Windows, macOS и FreeBSD...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=62854

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Выпуск компилятора языка D 2.110"  –6 +/
Сообщение от Ivan_83 (ok), 10-Мрт-25, 16:32 
> При запуске с опцией "-preview=fixImmutableConv" запрещено копирование переменных с типом "const void[]" в переменные с типом "void[]", так как такое копирование в последствии может привести к использованию вне контекста "const".

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

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

Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (5), 10-Мрт-25, 16:57 
Или не использовать опцию -preview=fixImmutableConv.
Ответить | Правка | Наверх | Cообщить модератору

93. "Выпуск компилятора языка D 2.110"  +/
Сообщение от 12yoexpert (ok), 11-Мрт-25, 10:50 
каким местом результирующий массив должен быть immutable?
Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск компилятора языка D 2.110"  +6 +/
Сообщение от Аноним (16), 10-Мрт-25, 17:55 
> Опять придётся через memcpy() обходить дурные хотелки компелятора :)

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

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

18. "Выпуск компилятора языка D 2.110"  –4 +/
Сообщение от Ivan_83 (ok), 10-Мрт-25, 18:13 
Вот именно, мешают своими типами код писать :)
Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск компилятора языка D 2.110"  –3 +/
Сообщение от ng (ok), 11-Мрт-25, 09:32 
Тут важно различать программистов и кодеров.

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

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

:)

Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от 12yoexpert (ok), 11-Мрт-25, 10:51 
> Тут важно различать программистов и кодеров

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

Ответить | Правка | Наверх | Cообщить модератору

102. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (102), 11-Мрт-25, 11:30 
А можно мне для себя, как отличить программиста от кодера? Хочу понять, кем являюсь я.
Ответить | Правка | К родителю #84 | Наверх | Cообщить модератору

122. "Выпуск компилятора языка D 2.110"  +/
Сообщение от ng (ok), 11-Мрт-25, 13:50 
Всё, на самом деле, просто.

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

:)

Ответить | Правка | Наверх | Cообщить модератору

137. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (137), 11-Мрт-25, 15:34 
А если скриптует?
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск компилятора языка D 2.110"  –7 +/
Сообщение от Аноним (-), 10-Мрт-25, 16:36 
>Опубликован релиз DMD 2.110, эталонного компилятора для языка D.

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск компилятора языка D 2.110"  +8 +/
Сообщение от funny.falcon (?), 10-Мрт-25, 17:58 
> Господа это единственный компилятор не основанный на LLVM.

Go, Ocaml, Haskel, FreePascal…

Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (19), 10-Мрт-25, 18:16 
Спасибо тебе, дорогой
Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (19), 10-Мрт-25, 18:17 
А раст то на llvm или нет ?!?
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск компилятора языка D 2.110"  +4 +/
Сообщение от Аноним (22), 10-Мрт-25, 18:28 
Да
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Ан Оним (?), 10-Мрт-25, 19:30 
FPC with an LLVM code generator backend is available on the git main branch
https://wiki.freepascal.org/LLVM
Ответить | Правка | К родителю #17 | Наверх | Cообщить модератору

35. "Выпуск компилятора языка D 2.110"  +2 +/
Сообщение от Аноним (22), 10-Мрт-25, 20:02 
Зачем, если есть без LLVM?
Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Анонем (?), 10-Мрт-25, 20:50 
> Will the FPC team, somewhere in the future, adopt the LLVM as the backend on all platforms?
> No, for various reasons
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

55. "Выпуск компилятора языка D 2.110"  +2 +/
Сообщение от Bottle (?), 10-Мрт-25, 22:14 
Ознакомься с Pascal-P5, который соответствует ISO стандарту языка.
Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

45. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от Аноним (-), 10-Мрт-25, 20:30 
> Господа это единственный компилятор не основанный на LLVM.

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

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

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

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

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

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

47. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (47), 10-Мрт-25, 20:42 
Для скорости есть LDC/GDC (с LLVM и GCC бэкендами)
Ответить | Правка | Наверх | Cообщить модератору

112. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (137), 11-Мрт-25, 12:33 
>Господа это единственный компилятор не основанный на LLVM.

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

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

6. "Выпуск компилятора языка D 2.110"  +8 +/
Сообщение от Аноним (6), 10-Мрт-25, 16:59 
Здесь должна быть дискуссия почему D должен был не допустить такое явление как Раст! Именно Раст заполонил умы опеннетовцев, а должен был D!
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск компилятора языка D 2.110"  +11 +/
Сообщение от Аноним (8), 10-Мрт-25, 17:10 
Потому что у D не было достаточной поддержки со стороны корпораций.
Не очень убедительно пиарились.
Да и у Раст пока позиции крайне слабые. Хайп пройдёт и забудут.
Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск компилятора языка D 2.110"  +2 +/
Сообщение от Аноним (8), 10-Мрт-25, 17:14 
Некоторые маститые кодеры попробовали Раст, и вот что говорят: долго компилируются большие проекты, тащится куча зависимостей, многие вещи слишком сложно выразить на Расте (тогда как на плюсах это делается элементарно).
Ответить | Правка | Наверх | Cообщить модератору

13. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (16), 10-Мрт-25, 17:53 
> многие вещи слишком сложно выразить на Расте (тогда как на плюсах это делается элементарно).

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

Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск компилятора языка D 2.110"  +2 +/
Сообщение от Аноним (8), 10-Мрт-25, 18:18 
Говорили, что из-за требования постоянно угождать боров чекеру. Ломается производительность труда. Нужно изворачиваться, чтоб даже простые вещи реализовать.

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

Ответить | Правка | Наверх | Cообщить модератору

78. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от анон (?), 11-Мрт-25, 08:08 
А это и есть фатальный недостаток Rust-а т.к. код сразу пишется в продакшн (производство)
Ответить | Правка | Наверх | Cообщить модератору

90. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от Аноним (90), 11-Мрт-25, 10:36 
Что ещё говорят маститые кодеры (какой масти, кстати?)? Что-нибудь про удой кур известно стало?
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

95. "Выпуск компилятора языка D 2.110"  +/
Сообщение от 12yoexpert (ok), 11-Мрт-25, 10:55 
гугли статью на хабре, как разработчик игр пытался на расте писать. в итоге его выбесило, что компилятор мешает работать, что язык - нелогичная каша, собранная по сусекам, и что фундаметальные баги висят по 10 лет и всем пофиг
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

115. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (-), 11-Мрт-25, 12:52 
Если ты про нытье этих неудачников:
Leaving Rust gamedev after 3 years
loglog.games/blog/leaving-rust-gamedev/
то неудивительно)

Достаточно вчитаться в статью и подумать "а что же за проблемы привели к такой ситуации?".

This post isn't a scientific evaluation or an A/B study. It's my personal opinion after trying to make Rust gamedev work for us, a small indie developer (2 people), trying to make enough money to fund our development with it. 

Т.е 2 нищука без финансовой подушки решили делать игры.

I'm looking at things from the perspective of "I want to make a game in 3-12 months maximum and release it so that people can play it and I can make some money from it.". 

Хотели наовнячить код побыстячку и сразу заработать бабосиков.
Логично что оно не вышло.
Надо было брать юнити или какой-то годот.

Я бы сказал, что на расте надо писать сам движок...
Но нафига играм какая-то надежность?

Ответить | Правка | Наверх | Cообщить модератору

103. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от yet another anonymous (?), 11-Мрт-25, 11:34 
> Ох, лол. Прямо многие? Хоть одну "маститые кодеры" могут привести в пример?

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

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

14. "Выпуск компилятора языка D 2.110"  +/
Сообщение от BeLord (ok), 10-Мрт-25, 17:54 
Они бы привели примеры этих многих вещей, а то есть умельцы которые технологическими линиями на Перле управляют, а есть кто приложение из 5 окон делает бегемотом-)))
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

39. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Аноним (39), 10-Мрт-25, 20:14 
Видели мы код этих "умельцев" на перле…
Ответить | Правка | Наверх | Cообщить модератору

105. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (137), 11-Мрт-25, 11:39 
Да вообще код на Перле...
Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (137), 11-Мрт-25, 11:38 
Бегемот - что за ЯП такой?
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

10. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (10), 10-Мрт-25, 17:20 
Потому что D в сравнении с плюсами в итоге не давал значимых преимуществ и при этом был нужен полутора анонимусам. Плюс разные стдлиб и несовместимые, но поддерживаемые DMD1 и DMD2 окончательно убили смысл в D вкладывать усилия.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

80. "Выпуск компилятора языка D 2.110"  +/
Сообщение от анон (?), 11-Мрт-25, 08:14 
У них не было GUI библиотеки что ограничвало распространение. У Rust есть Slint, у C/C++ есть Qt, wxWidgets, MFC и пр., даже у Pascal есть, и у Go есть Fyne, Gio. А у D ничего не было.
Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от Аноним (81), 11-Мрт-25, 08:32 
D был хуже чем C++ т.к. в нем был GC, так что он встал куда-та на уровень с Go.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

106. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (137), 11-Мрт-25, 11:42 
Для кроваво-ынтерпрайзного софта GC в преимущество.
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Аноним (15), 10-Мрт-25, 17:55 
Насчёт хайпа и забудут не уверен, стратегия раста - заразить как можно больше проэктов, пока хайп не прошёл. Вокруг Ди тоже хайп какой-никакой был, но на нём не было написано ничего важного, и он действительно помер после хайпа, тихо и незаметно.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

23. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (23), 10-Мрт-25, 18:32 
> стратегия раста - заразить как можно больше проэктов, пока хайп не прошёл

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

Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск компилятора языка D 2.110"  +/
Сообщение от laindono (ok), 10-Мрт-25, 20:04 
> они де жалуются на долгую компиляцию

Два ядра, два гига, посередине 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, чтоб получить циферки получше. И проц/память не разогнанны ибо мне лень.

Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от Аноним (39), 10-Мрт-25, 20:19 
А что оно делает? У меня простенький привет мир (построчный разбор строк, фильтрация, форматирование вывода), тупо переписал простенький скрипт с питона (с ворохом сишных батареек) на раст, вышло по 50 гб на дебаг и релиз либы, сборка какое-то совершенно неприличное время.
Ответить | Правка | Наверх | Cообщить модератору

107. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (137), 11-Мрт-25, 11:45 
Минусующие предлагают вам не верить своим глазам.
Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от Ivan_83 (ok), 10-Мрт-25, 20:26 
Смешно же.

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

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


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

Ответить | Правка | К родителю #36 | Наверх | Cообщить модератору

54. "Выпуск компилятора языка D 2.110"  +/
Сообщение от laindono (ok), 10-Мрт-25, 22:11 
> при прогретых кешах

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Ivan_83 (ok), 11-Мрт-25, 03:27 
> Что кеши кешируют?

Почти всё :)
собранная ос, исходники портов, собранные порты, ccache.


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

Да всё как на той картинке с квадратными колёсами - некогда :)
Если честно то и не оч мешает.

Ответить | Правка | Наверх | Cообщить модератору

74. "Выпуск компилятора языка D 2.110"  +/
Сообщение от laindono (ok), 11-Мрт-25, 04:24 
> собранная ос, исходники портов, собранные порты, ccache.

Холодная сборка за 3-4 минуты превращает 18 миллионов строк уже скачанного растокода в бинарник. Горячая сборка на десяток секунд использует встроенный аналог ccache.

Из забавного. Дебажная сборка собирается вдвое дольше. Возможно из-за особенностей того, как я это всё настроил и, возможно, из-за более дорогой линковки. Да и просто в IO упирается. Дебажный бинарник на 1.1 гигабайт как никак. Для сравнения релизный бинарник на ~100 мегабайт и вдвое меньше, если пытаться как-то оптимизировать это (strip/lto и прочие ништяки).

> Если честно то и не оч мешает.

Тут согласен.

Ответить | Правка | Наверх | Cообщить модератору

41. Скрыто модератором  +/
Сообщение от Ivan_83 (ok), 10-Мрт-25, 20:20 
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

46. Скрыто модератором  –3 +/
Сообщение от Аноним (-), 10-Мрт-25, 20:40 
Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (15), 10-Мрт-25, 20:28 
>"стратегия раста"
>оно живое, у него ещё и какая-то стратегия есть

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

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

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

Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

61. "Выпуск компилятора языка D 2.110"  +5 +/
Сообщение от Аноним (61), 10-Мрт-25, 23:37 
Когда ж да всех вас дойдет, что политизированность ещп никогда ни к чему хорошему не приводила! Раст это эпидемия, от которой надо лечить. Кучка фанатиков, лезущих в чужие монастыри, навязывающие свои хотелки всем подряд. Где политика, там и войны, уже видно как все мировое ит сотбщество разделилось на два лагеря. Кому это нужно, хз, корпам? Это ничем хорошим в итоге не кончится. Профуканное поколение.
Ответить | Правка | Наверх | Cообщить модератору

123. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Аноним (-), 11-Мрт-25, 13:57 
> олитизированность ещп никогда ни к чему хорошему не приводила!

Как и отсутствие п0литизированности)
Вон отличный пример HUBR: сначала "внип0литики", а потом "пуньк-среньк как рел0цироваться в аргентину, после того как я нагадил в аvtозаке".

> Раст это эпидемия, от которой надо лечить.

Или лекарство. Так сказать прививка от овонокодинга к которому привыкли СИшники и прочие любители дрявых ЯП.

>  Кучка фанатиков, лезущих в чужие монастыри, навязывающие свои хотелки всем подряд.

И в какие проекты они лезут?
В ядре Линус не против, а Грег вообще двумя руками за.
ТОР переписала та же команда, тк устала от сишного овна.
Андроид - гугл запарился править одни и те же ошибки по памяти, и решил "достаточно".

> все мировое ит сотбщество разделилось на два лагеря

На тех кому "у нас тут double free и RCE из-зи int overflow? нуaxyли нам пофиг"
и тех "код должен быть корректным! не нужно овнячить void*** и портить память!"
Естественно война неизбежна.

>  Кому это нужно, хз, корпам?

Мне например.
Я, как пользователь, не хочу чтобы мой комп ломали нажав backspace 28 раз, потому что какой-то yмствeнно-oтctалый СИшник накосячил с буфером.
И корпы тоже не хотят оплачивать исправление багов по несколько раз.

> Это ничем хорошим в итоге не кончится. Профуканное поколение.

Хахаха, да конечно профуканное, это тебе не баги в ХОрге делать, которые по 30 лет живут.

Ответить | Правка | Наверх | Cообщить модератору

51. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (51), 10-Мрт-25, 21:18 
Наверное, если бы у раста не было такой стратегии, то и людей бегающих по репозиториям и требующих срочно переписать всё или хотя бы частями на раст не было?
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

64. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (23), 11-Мрт-25, 00:32 
Только никто по репозиториями не бегает и не требует, свои репозитории переписывают сами авторы. Но да, этой движухи не было бы не будь rust революцией, а будь он посредственностью как какой-нибудь очередной D.
Ответить | Правка | Наверх | Cообщить модератору

69. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (51), 11-Мрт-25, 01:39 
>свои репозитории переписывают сами авторы

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

Ответить | Правка | Наверх | Cообщить модератору

119. Скрыто модератором  +/
Сообщение от Аноним (-), 11-Мрт-25, 13:11 
Ответить | Правка | Наверх | Cообщить модератору

124. Скрыто модератором  +/
Сообщение от Аноним (51), 11-Мрт-25, 14:05 
Ответить | Правка | Наверх | Cообщить модератору

130. Скрыто модератором  +/
Сообщение от Аноним (-), 11-Мрт-25, 14:49 
Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Bottle (?), 10-Мрт-25, 22:16 
D для скриптинга использовали Remedy, те финны, которые Alan Wake и Control сделали.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

26. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Аноним (26), 10-Мрт-25, 18:36 
я не стал его юзать из-за сборщика мусора. он как бы был опциональным всегда, но по факту все было завязано на него и ты не мог вроде даже стандартную либу использовать без сборщика мусора.
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

38. "Выпуск компилятора языка D 2.110"  +/
Сообщение от fuggy (ok), 10-Мрт-25, 20:13 
Вот и получается. Возможная замена для Rust. А по факту нужно отключать сборщик мусора и использовать malloc/free без которого возвращаемся к тому что с чего начали. Или читать 10 страница мануала про все режимы работы.
Ответить | Правка | Наверх | Cообщить модератору

52. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (39), 10-Мрт-25, 21:18 
2 версия поворот не туда, но чего ещё ожидать от любителей додиеза.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

108. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Аноним (137), 11-Мрт-25, 11:52 
Можете использовать его подмножество BetterC, как замену Сишки, но с более красивым синтаксисом. Совсем без GC.
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск компилятора языка D 2.110"  –3 +/
Сообщение от Tita_M (ok), 10-Мрт-25, 17:32 
Вопрос к тем кто следит за этим языком: добавили ли в него поддержку борроу чекера уже или ещё нет?
А то читал несколько лет назад, что рассматривают такую возможность.
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (23), 10-Мрт-25, 18:35 
Для борроу чекера нужно вводить в синтаксис языка лайфтаймы, а значит ломать совместимость. Никакой из копроязыков на это не пойдёт, добавление борроу чекера останется на уровне балаболии.
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (42), 10-Мрт-25, 20:22 
>> Для борроу чекера нужно вводить в синтаксис языка лайфтаймы

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

Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (47), 11-Мрт-25, 11:06 
Пока что добавили очень простую штуку только и она экспериментальная так и осталась https://dlang.org/spec/ob.html
Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

12. "Выпуск компилятора языка D 2.110"  +2 +/
Сообщение от blevakagmail.comemail (?), 10-Мрт-25, 17:47 
Годнота. Круче сишарпа. Жаль не майки
Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (22), 10-Мрт-25, 18:34 
А где же их Verona?
Ответить | Правка | Наверх | Cообщить модератору

33. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от Аноним (5), 10-Мрт-25, 19:57 
> Круче сишарпа.

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

Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

60. "Выпуск компилятора языка D 2.110"  +3 +/
Сообщение от Аноним (60), 10-Мрт-25, 23:24 
в сад
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

66. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от 12yoexpert (ok), 11-Мрт-25, 01:22 
с каких пор D это не майки? майки же его и закопали, взяв на работу Александреску
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

100. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (47), 11-Мрт-25, 11:07 
Он в Нвидиа ушел
Майки там ни при чем
Ответить | Правка | Наверх | Cообщить модератору

163. "Выпуск компилятора языка D 2.110"  +/
Сообщение от 12yoexpert (ok), 11-Мрт-25, 20:58 
перепутал майков с фейсбуком. нвидиа тут ни при чём.
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от зомбированный (?), 10-Мрт-25, 18:56 
А этот компилятор умеет в порты звонить и собирать под ХР ??? Вообще, мне нужен С подобный современный компилятор, который умеет в порты звонить и собирать под ХР!!!
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск компилятора языка D 2.110"  +4 +/
Сообщение от Ан Оним (?), 10-Мрт-25, 19:37 
Lazarus/FreePascal умеет. Делал такую программу для работы с параллельным портом
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от зомбированный (?), 10-Мрт-25, 19:43 
так Lazarus на Pascalе, а я спрашивал С подобный
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Ан Оним (?), 10-Мрт-25, 19:53 
Так Free Pascal и есть С-подобный, в нём есть все С-шные типы данных и способ вызова, из FP можно вызывать С-шные dll'ки для работы с портами.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск компилятора языка D 2.110"  –3 +/
Сообщение от Аноним (22), 10-Мрт-25, 20:00 
Синтаксис у него несиподобный.
Ответить | Правка | Наверх | Cообщить модератору

49. "Выпуск компилятора языка D 2.110"  –4 +/
Сообщение от _kp (ok), 10-Мрт-25, 20:51 
Ну, верни указатель в функции на Паскале. Ни как? А вот такие там тараканы. И так там везде.  :(
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

50. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Аноним (50), 10-Мрт-25, 21:14 
Синоним типа сделай (а-ля type PChar = ^Char;) и массивы в функции передаются и указатели возвращаются.
Ответить | Правка | Наверх | Cообщить модератору

59. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от _kp (ok), 10-Мрт-25, 23:18 
Да Вы затейник. Всю проверку типов поделить на их приведение к PChar. ;)
Там предлагается через var возвращать.
Так решаемо, но не всегда, и начинается раздутие исходника, и тому подобные идеологические палки в колеса.
Попросили недавно дописать ПО на Delphi, точнее кусок кода с С++ переписать на него, типа ты же раньше писал на нем... Сделал, но поматерился и поржал от души.

А уж про словесное недержание в синтаксисе опускаем, это так всем понятно. И не begin'измы, а просто  раздутие исходника дубовыми конструкциями.

Конечно, в Паскале есть хорошие стороны, и нечаянно налажать сложнее, и тривиален для изучения. Но язык мало изменился с тех времен когда я на нем писал, и морально устарел.

По сути о Паскале бы и забыли уже, если б Lazarus и Embarcadero не были кроссплатформенными. Но это не заслуга языка, а заслуги IDE и библиотек.

Ответить | Правка | Наверх | Cообщить модератору

132. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (132), 11-Мрт-25, 15:13 
Паскаль не забыт, он развивается. Вот современный Паскаль:
https://www.remobjects.com/elements/oxygene/language.aspx
Ответить | Правка | Наверх | Cообщить модератору

135. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (135), 11-Мрт-25, 15:29 
> Да Вы затейник. Всю проверку типов поделить на их приведение к PChar. ;)

Вы вообще не поняли, что вам написали. Речь не о приведении всех типов к PChar, а о том, чтобы сделать синоним (как сишный typedef) определенного типа на указатель. Это нужно чисто синтаксически, чтобы вернуть указатель из функции.

В общем, вы бы сперва в базовых аспектах Паскаля разобрались, прежде чем с него покровы срывать.

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

138. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (135), 11-Мрт-25, 15:36 
> Но язык мало изменился с тех времен когда я на нем писал, и морально устарел.

Что вы там могли на нем писать, если даже не знаете, как вернуть указатель из функции? Hello world?

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

145. "Выпуск компилятора языка D 2.110"  +/
Сообщение от _kp (ok), 11-Мрт-25, 16:32 
Вообще то,  я и переписал, и закончил работу.
Но исходник стал толще и хуже читаемым.  И не из за каких то атрибутов или конструкций безопасности, а именно из за дубовости языка.

Если любопытно, это был рендеринг отображения на дисплее контроллера, перенесенный  под  SDL, затем перенесенный на CBuilder, а после того как в Embarcader C++ перестал быть кроссплатформенным, попросили переписать на Delphi. В итоге вместо дорогой панели можно использовать дешевый Андроид планшет, или запустить эмулятор на компе.
Всякую фигню по стольку раз не переписывают. ;)

Ответить | Правка | Наверх | Cообщить модератору

125. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (135), 11-Мрт-25, 14:07 
> Ну, верни указатель в функции на Паскале. Ни как?

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

type
  TFn = function(): String;

function Foo: String;

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

Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

126. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от _kp (ok), 11-Мрт-25, 14:27 
Речь про указатели на объекты и структуры.
Про аналог костыля ***void с приведением чего угодно к PChar упомянуто, и про недостатки игнорирования типов при этом.

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

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

Ответить | Правка | Наверх | Cообщить модератору

128. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (128), 11-Мрт-25, 14:41 
В FPC используйте {$TYPEDADDRESS ON} и ^ для указания указателя на конкретный тип.
Ответить | Правка | Наверх | Cообщить модератору

131. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (135), 11-Мрт-25, 15:12 
> Причем здесь ваш пример с обычной строкой? ;)
> Вы точно читаете?

Вы писали "верни указатель в функции". Я думал, была опечатка "в" и речь идет о возвращении указателя "на" функцию.

> Речь про указатели на объекты и структуры.

Указатель на что угодно возвращается так же, как и в моем примере. Или что вы имели в виду? Я не совсем понял, что вы такое невыполнимое обнаружили на Паскале.

Ответить | Правка | К родителю #126 | Наверх | Cообщить модератору

136. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (135), 11-Мрт-25, 15:32 
> Про аналог костыля ***void с приведением чего угодно к PChar упомянуто, и про недостатки игнорирования типов при этом.

Какие еще костыли с игнорированием типов и void**? То был пример использования синонима (как typedef в C) "указатель на Char". Вы аналогично вольны сделать синоним указателя на любой объект/структуру.

Ответить | Правка | К родителю #126 | Наверх | Cообщить модератору

133. Скрыто модератором  +/
Сообщение от Аноним (132), 11-Мрт-25, 15:16 
Ответить | Правка | К родителю #49 | Наверх | Cообщить модератору

32. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (5), 10-Мрт-25, 19:56 
Ещё пять лет назад минимум семёрка нужна была.
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

37. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (47), 10-Мрт-25, 20:10 
Убрали поддержку XP достаточно давно
Но можно скачать старую версию компилятора попробовать
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

65. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от Аноним (-), 11-Мрт-25, 01:06 
Вы в музее работаете что-ли?
Ответить | Правка | Наверх | Cообщить модератору

151. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Аноним (151), 11-Мрт-25, 18:14 
У нас в универе хр стоит
Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от зомбированный (?), 10-Мрт-25, 22:48 
На самом деле я этот вопрос задал, чтобы проверить квалификацию системного программирования здешней публики. Ответ очень простой - есть ультра современная IDE, которая умеет свистеть в порты и компилировать как в ХР так и даже в Win3.1 - это безусловный лидер в мультиплатформенном программировании - Embarcadero RAD Studio 12.2
у меня проги скомпилированные на 7ке в RAD Studio 12.2 отлично запускаются на ХР/98 (в проекте указываешь минимальную версию ОС и всё!)
Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

62. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от Аноним (62), 10-Мрт-25, 23:48 
Реклама - информация, распространенная любым способом, в любой форме и с использованием любых средств, адресованная неопределенному кругу лиц и направленная на привлечение внимания к объекту рекламирования, формирование или поддержание интереса к нему и его продвижение на рынке (Приказ ФАС России от 14.11.2023 N 821/23)


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

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

Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от зомбированный (?), 11-Мрт-25, 01:34 
Что ты хочешь сказать этим приказом - так ваобще любую информацию можно назвать рекламой в том числе прогноз погоды на завтра или любую другую абсурдную информацию
С другой стороны, человека распространяющего информацию, но который НИКАКОЙ выгоды не получает от этого ни прямой, ни косвенной, ни моральной, ну ВАОБЩЕ НИКАКОЙ то такой чел не является рекламодателем, а следовательно ИНФОРМАЦИЯ НЕ ЯВЛЯЕТСЯ РЕКЛАМОЙ, а констатацией факта.
Реклмой можно назвать распространение информации только если есть материальная выгода (прямо или косвенно). В случае другой мотивации - применяются другие термины...
Ответить | Правка | Наверх | Cообщить модератору

75. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от Аноним (75), 11-Мрт-25, 04:25 
> констатацией факта

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

Ответить | Правка | Наверх | Cообщить модератору

76. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (76), 11-Мрт-25, 07:48 
>клиент для телеграм под Windows 3.11

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

Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от _kp (ok), 11-Мрт-25, 00:28 

> Embarcadero RAD Studio 12.2

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

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

68. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от зомбированный (?), 11-Мрт-25, 01:36 
В RAD Studio 12.2 C++ отлично работает под Android, iOS, так что не только под Windows
Ответить | Правка | Наверх | Cообщить модератору

98. "Выпуск компилятора языка D 2.110"  +/
Сообщение от _kp (ok), 11-Мрт-25, 11:04 
> В 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 под ккпотом, то пользовались бы и не жужжали.

Ответить | Правка | Наверх | Cообщить модератору

101. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (47), 11-Мрт-25, 11:11 
При этом один крупный D shop переехал на него как раз с Паскаля
И их продукты это GUI приложения, там правда основная фишка коненчо в вычислениях которое приложение делает. Правда на чем сам GUI написан не знаю)
Ответить | Правка | Наверх | Cообщить модератору

73. "Выпуск компилятора языка D 2.110"  +2 +/
Сообщение от Аноним (75), 11-Мрт-25, 04:19 
> и даже в Win3.1

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

Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

121. "Выпуск компилятора языка D 2.110"  +/
Сообщение от зомбированный (?), 11-Мрт-25, 13:45 
да ладна?
https://ibb.co/qMMbK27s
Ответить | Правка | Наверх | Cообщить модератору

127. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (5), 11-Мрт-25, 14:39 
Это под Win32s, что ли? Ой, нет, лучше не надо.
Ответить | Правка | Наверх | Cообщить модератору

129. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (5), 11-Мрт-25, 14:42 
А, ну OS Version осталась 6.0,всё понятно.
Ответить | Правка | Наверх | Cообщить модератору

134. "Выпуск компилятора языка D 2.110"  +/
Сообщение от зомбированный (?), 11-Мрт-25, 15:20 
ну так я могу и OS Version понизить до 1.0 - тoгда ещё лучше будет работать на win 3.1
Ответить | Правка | Наверх | Cообщить модератору

165. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (165), 11-Мрт-25, 21:13 
А вы вообще понимаете назначение этого списка? Впрочем, можете переключить на всё что угодно.
Ответить | Правка | Наверх | Cообщить модератору

164. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (165), 11-Мрт-25, 21:07 
Это не то, совсем не то. Там можете хоть 0 указать. Важно то, где OS version, а там 6.0. Т.е. начиная от Vista.
Ответить | Правка | К родителю #121 | Наверх | Cообщить модератору

79. "Выпуск компилятора языка D 2.110"  +/
Сообщение от n00by (ok), 11-Мрт-25, 08:12 
Как оно свистит, когда запись в порт выполняется привилегированной командой?
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

85. "Выпуск компилятора языка D 2.110"  +/
Сообщение от зомбированный (?), 11-Мрт-25, 09:41 
ясный пень через драйвер портов PortTalk, а для этого нужно, чтобы компилятор поддерживал команды inport/outport
Ответить | Правка | Наверх | Cообщить модератору

88. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (5), 11-Мрт-25, 09:50 
Команды в ассемблере, а это библиотечные функции. Если их нет, их можно написать.
Ответить | Правка | Наверх | Cообщить модератору

110. "Выпуск компилятора языка D 2.110"  +/
Сообщение от _kp (ok), 11-Мрт-25, 12:10 
>>Команды в ассемблере..

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

113. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (5), 11-Мрт-25, 12:39 
Ну и каким боком это относится к компилятору? Как получить доступ к железу — это не его проблема. А писать в порты можно на любом языке, хоть при помощи инлайн-ассемблера.
Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (75), 11-Мрт-25, 04:18 
> А этот компилятор умеет в порты звонить и собирать под ХР ???

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

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

109. "Выпуск компилятора языка D 2.110"  +/
Сообщение от зомбированный (?), 11-Мрт-25, 12:06 
то что выходило во времена официальной поддержки XP - не работало с портами, последняя версия Visual Studio умеющая свистеть в порты - 6.0. Но она кстати и под 7кой отлично работает и свистит в порты, но как бы не комфортно на ней...
Ответить | Правка | Наверх | Cообщить модератору

114. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (5), 11-Мрт-25, 12:44 
__asm очень сложно использовать, да.
Ответить | Правка | Наверх | Cообщить модератору

140. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (137), 11-Мрт-25, 15:40 
Зачем? Даже в Borland C++ для DOS были функции, которые читали из порта, писали в порт.
Ответить | Правка | Наверх | Cообщить модератору

144. "Выпуск компилятора языка D 2.110"  +/
Сообщение от зомбированный (?), 11-Мрт-25, 16:28 
так он говорит про компиляторы у которых нет таких функций
Ответить | Правка | Наверх | Cообщить модератору

148. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (5), 11-Мрт-25, 16:46 
Кстати https://learn.microsoft.com/ru-ru/cpp/c-runtime-library/outp...
То есть выпилили аж в 2015.
Ответить | Правка | Наверх | Cообщить модератору

149. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (5), 11-Мрт-25, 16:48 
Но повторюсь — код там тривиален:
.text:00000000                 public __inp
.text:00000000 __inp           proc near
.text:00000000
.text:00000000 arg_0           = word ptr  4
.text:00000000
.text:00000000                 xor     eax, eax
.text:00000002                 mov     dx, [esp+arg_0]
.text:00000007                 in      al, dx
.text:00000008                 retn
.text:00000008 __inp           endp
Ответить | Правка | Наверх | Cообщить модератору

57. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (47), 10-Мрт-25, 22:23 
На удивление один из самых быстрых языков - и даже ГЦ не мешает ему в этом
По многим бенчмаркам в топе находится

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск компилятора языка D 2.110"  +/
Сообщение от _ (??), 11-Мрт-25, 04:11 
>Что творится?!

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

Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (47), 11-Мрт-25, 11:03 
А что имеет к реальности отношение?)
Ответить | Правка | Наверх | Cообщить модератору

92. "Выпуск компилятора языка D 2.110"  +/
Сообщение от 12yoexpert (ok), 11-Мрт-25, 10:48 
по первой ссылке чувак рассуждает о выносе переменных из внутренних циклов во внешние для эфемерной оптимизации этих вложенных циклов, но при этом не знает, в каком порядке эти циклы должны быть друг в друга вложены. дальше можно не читатьч, человек понятия не имеет об оптимизации кода
Ответить | Правка | К родителю #57 | Наверх | Cообщить модератору

96. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (47), 11-Мрт-25, 11:03 
Там это в целом неважно ведь
все делают одинаковый алгоритм, а уж оптимальный он сам или нет..
Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск компилятора языка D 2.110"  +9 +/
Сообщение от Аноним (128), 11-Мрт-25, 07:49 
Автор допустил ровно одну маленькую ошибку — сделал сборщик мусора встроенным по умолчанию.
А так это такой C++ на стероидах с человеческим синтаксисом классического сисярпа.
Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (82), 11-Мрт-25, 09:06 
что именно там человеческого, хочешь так сделай, хочешь сяк, заранее заложили бомбу под код-стайл
Ответить | Правка | Наверх | Cообщить модератору

111. "Выпуск компилятора языка D 2.110"  +/
Сообщение от _kp (ok), 11-Мрт-25, 12:18 
> сборщик мусора встроенным по
> умолчанию.

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

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


Ответить | Правка | К родителю #77 | Наверх | Cообщить модератору

143. "Выпуск компилятора языка D 2.110"  –2 +/
Сообщение от Аноним (23), 11-Мрт-25, 16:16 
> Вы думаете, если дергать освобождение памяти  вручную на каждый чих, то будет быстрее? ;)

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

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

Ответить | Правка | Наверх | Cообщить модератору

158. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (22), 11-Мрт-25, 19:35 
Там же в критических секциях сборку мусора можно запретить.
Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск компилятора языка D 2.110"  +1 +/
Сообщение от abu (?), 11-Мрт-25, 09:47 
D нравится, правда, в его дебри сильно не лезу. Пишу на нем мелкие тулзы и игровой пет-проект.
Ответить | Правка | Наверх | Cообщить модератору

116. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Ганс Грубер (?), 11-Мрт-25, 13:06 
Жаль, нет гуя.
Ответить | Правка | Наверх | Cообщить модератору

141. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (137), 11-Мрт-25, 15:41 
Qt-биндинги есть.
Ответить | Правка | Наверх | Cообщить модератору

154. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Ганс Грубер (?), 11-Мрт-25, 18:48 
Биндинги это фигня. Да и если я правильно понимаю, для Qt6 их нет, а он вышел 5 лет назад.
Ответить | Правка | Наверх | Cообщить модератору

156. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (22), 11-Мрт-25, 19:29 
D может работать с обычными классами C++. Я так понял, что кроме шаблонов, Qt moc. Поэтому, наверное, можно использовать C++ную GUI-библиотеку не на шаблонах. FLTK ?
Ответить | Правка | Наверх | Cообщить модератору

159. "Выпуск компилятора языка D 2.110"  –1 +/
Сообщение от Аноним (159), 11-Мрт-25, 19:48 
> Биндинги это фигня.

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

Ответить | Правка | К родителю #154 | Наверх | Cообщить модератору

161. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Ганс Грубер (?), 11-Мрт-25, 20:23 
Пример - это как Qt, но изначально написанный на D и сдизайненный под него, а не под "дергаем через костыли крестовый код".
Ответить | Правка | Наверх | Cообщить модератору

139. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (139), 11-Мрт-25, 15:39 
Чего нет у D - армии фанатов в соцсетях и рекомендаций мануала по D вместе с чулками.

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

Ответить | Правка | Наверх | Cообщить модератору

142. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (-), 11-Мрт-25, 16:07 
А еще у него нет внятного позиционирования.
Типа замена С++. Или С. Нипанятна.
В нем есть GC. Но можно отключить. Правда придется разбираться с кучей не очень явных проблем.

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

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


Ответить | Правка | Наверх | Cообщить модератору

147. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (42), 11-Мрт-25, 16:38 
Сборку мусора отключить нельзя, её можно только приостановить

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

Ответить | Правка | Наверх | Cообщить модератору

150. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (-), 11-Мрт-25, 16:53 
> SafeD - это набор "рекомендаций" для безопасно разработки.

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


Ответить | Правка | Наверх | Cообщить модератору

153. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Ганс Грубер (?), 11-Мрт-25, 18:21 
Better C это про замену сишки, подмножество ди с фичами, которые не требуют его рантайма.
Ответить | Правка | К родителю #142 | Наверх | Cообщить модератору

157. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (22), 11-Мрт-25, 19:31 
SafeD и Better C - это, как бы, противоположности в смысле безопасности.
Ответить | Правка | К родителю #142 | Наверх | Cообщить модератору

146. "Выпуск компилятора языка D 2.110"  +2 +/
Сообщение от Соль земли (?), 11-Мрт-25, 16:35 
На нём написан неплохой эмульятор терминала Tilix.
Ответить | Правка | Наверх | Cообщить модератору

160. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Facemakeremail (?), 11-Мрт-25, 19:51 
>эмулятор терминала Tilix

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

Ответить | Правка | Наверх | Cообщить модератору

155. "Выпуск компилятора языка D 2.110"  +/
Сообщение от Аноним (151), 11-Мрт-25, 18:56 
C/C++ пытается быть похожим на раст)
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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