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.ru/opennews/art.shtml?num=62854

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

Оглавление

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

1. Сообщение от Ivan_83 (ok), 10-Мрт-25, 16:32   –8 +/
> При запуске с опцией "-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, #16

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #17, #45, #112

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

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

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

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

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

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

12. Сообщение от blevakagmail.comemail (?), 10-Мрт-25, 17:47   +3 +/
Годнота. Круче сишарпа. Жаль не майки
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #24, #33, #60, #66, #173

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #21, #95, #103

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #18

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

Go, Ocaml, Haskel, FreePascal…

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #19, #28

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #78, #90

22. Сообщение от Аноним (22), 10-Мрт-25, 18:28   +5 +/
Да
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #36, #41, #44, #51

24. Сообщение от Аноним (22), 10-Мрт-25, 18:34   +/
А где же их Verona?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

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

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

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

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

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

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

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

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

33. Сообщение от Аноним (5), 10-Мрт-25, 19:57   –1 +/
> Круче сишарпа.

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

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

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

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

36. Сообщение от 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ообщить модератору
Родитель: #23 Ответы: #40, #43

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

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

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

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

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

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

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

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

43. Сообщение от Ivan_83 (ok), 10-Мрт-25, 20:26   –1 +/
Смешно же.

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

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


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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #54

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

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

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #47

46. Сообщение от Аноним (-), 10-Мрт-25, 20:40   –3 +/
> Появилась пара форков, один мой другой того дятла.

Ну да, ну да, а ты стоишь такой весь в белом пальто.

> Потом он пошёл задолбал основного автора и тот отдал ему проект, считай апстрим sshfs.

Это лучшее что могло случиться с проектом sshfs ever!
Потому что ты уже показал и как быdloкодишь на сишечке, и как знаешь алгоритмики, и как кладешь болт на стандарты, и как вертишь на том самом безопасность. Слава омнисиии что он тебе не отдал апстирим!

Ну и писать Secure Shell FileSystem на древнем дырявом языке из прошлого столетия... так себе идея.

> Уровень того что туда втащили - примерно такой же днищенский,

Еще более днищенский чем твой? Не, ну не верю...

> А CVE вон пишут вообще люди с отрицательным IQ, как показывают новости за сегодня.

Зачем ты так про разрабов ядра линя. Люди просто устают.

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

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

48. Сообщение от Анонем (?), 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
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28

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

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

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

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

54. Сообщение от laindono (ok), 10-Мрт-25, 22:11   +/
> при прогретых кешах

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #70

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #71, #92

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #132, #135, #138

60. Сообщение от Аноним (60), 10-Мрт-25, 23:24   +2 +/
в сад
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

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


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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #67

63. Сообщение от _kp (ok), 11-Мрт-25, 00:28   +1 +/

> Embarcadero RAD Studio 12.2

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #68

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

65. Сообщение от Аноним (-), 11-Мрт-25, 01:06   +/
Вы в музее работаете что-ли?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #151

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64 Ответы: #119

70. Сообщение от Ivan_83 (ok), 11-Мрт-25, 03:27   +/
> Что кеши кешируют?

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


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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #74

71. Сообщение от _ (??), 11-Мрт-25, 04:11   +/
>Что творится?!

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57 Ответы: #97

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #109

73. Сообщение от Аноним (75), 11-Мрт-25, 04:19   +2 +/
> и даже в Win3.1

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #121

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

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

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

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

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

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

75. Сообщение от Аноним (75), 11-Мрт-25, 04:25   +1 +/
> констатацией факта

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67 Ответы: #76

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

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

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

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

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

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

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

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

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

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

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

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

:)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #94, #102

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

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

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

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

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

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

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

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

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

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

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

97. Сообщение от Аноним (47), 11-Мрт-25, 11:03   +/
А что имеет к реальности отношение?)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71

98. Сообщение от _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ообщить модератору
Родитель: #68 Ответы: #101

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

100. Сообщение от Аноним (47), 11-Мрт-25, 11:07   +/
Он в Нвидиа ушел
Майки там ни при чем
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #163

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

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

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

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

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

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

105. Сообщение от Аноним (137), 11-Мрт-25, 11:39   +/
Да вообще код на Перле...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

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

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

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

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

110. Сообщение от _kp (ok), 11-Мрт-25, 12:10   +/
>>Команды в ассемблере..

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #88 Ответы: #113

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

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

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #143

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

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

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

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

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

115. Сообщение от Аноним (-), 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ообщить модератору
Родитель: #95

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

119. Сообщение от Аноним (-), 11-Мрт-25, 13:11   +/
Да. От него, как от менеджера, требуется только разрешение.
Грег (по сути второй человек в ядре) - тоже только "за".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69 Ответы: #124

121. Сообщение от зомбированный (?), 11-Мрт-25, 13:45   +/
да ладна?
https://ibb.co/qMMbK27s
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #127, #164

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

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

:)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102 Ответы: #137

124. Сообщение от Аноним (51), 11-Мрт-25, 14:05   +/
> Да. От него, как от менеджера, требуется только разрешение.
> Грег (по сути второй человек в ядре) - тоже только "за".

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119 Ответы: #130

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

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

type
  TFn = function(): String;

function Foo: String;

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #126

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #125 Ответы: #128, #131, #136

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

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

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

130. Сообщение от Аноним (-), 11-Мрт-25, 14:49   +/
> Значит Линус, как менеджер, видит качество будущих кодописателей и готовит проект к снижению их квалификации.

Снижению?
У нынешних ядропикателей уровень уже на дне.
Линус сам говорил
"You'd think that all the basics would have been fixed long ago, but they're not. We're still dealing with basic issues such as memory management."
Т.е за 30+ лет, до сих пор не осилили.

Другой пример - Теодор "вы не заставите меня выучить раст" Тцо.
Процитирую анона из другой темы.


CVE-2022-1184 - ваще шикарная.
А теперь микрофон и все лавры передаются ox55ff с лора
"в 2013 году он закоммитил вот такую портянку github.com/torvalds/linux/commit/dc6982ff4db1f47da73b1967ef5302d6721e5b95

Через 9 лет (2022 год) тысячи глаз наконец-то рассмотрели там уязвимость CVE-2022-1184.
Которую смогли исправить только со второй попытки:
первая github.com/torvalds/linux/commit/65f8ea4cd57dbd46ea13b41dc8bac03176b04233
вторая github.com/torvalds/linux/commit/61a1d87a324ad5e3ed27c6699dfc93218fcf3201

    ext4: check if directory block is within i_size

Бгг. Видимо Теодорчик решил, что в его коде всё within, ведь "индекс проверять надо если программист решил что тут есть шанс того, что он окажется некорректным", а оказалось, что не within. Это какое-то шанс-ориентированное программирование. Сишник к успеху шёл, не получилось, не фартануло.


Вот типичный уровень писаки в ядро. Гарантии уровня "мне кажется" и "мамой клянусь".

> Впрочем, ядро всегда притягивало не самых лучших, а самых идеологичных ( пока корпорации полностью контроль не захватили), стоит только взглянуть на ядерную архитектуру, чтобы это понять.

И теперь корпам придется разбирать, что натворили эти "идеологические".


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

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

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

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

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

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

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

133. Сообщение от Аноним (132), 11-Мрт-25, 15:16   +/
Для программирования портов на FP не нужно возвращать ничего из паскалевских функций. Нужно только импортировать пару С-шных функций из специальной dll-ки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

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

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

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

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

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #145

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

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

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

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

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

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

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

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #139 Ответы: #147, #153, #157

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #111 Ответы: #158, #174

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

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

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #142 Ответы: #150

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

149. Сообщение от Аноним (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ообщить модератору
Родитель: #148

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

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


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

151. Сообщение от Аноним (151), 11-Мрт-25, 18:14   +1 +/
У нас в универе хр стоит
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

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

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

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

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

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

159. Сообщение от Аноним (159), 11-Мрт-25, 19:48   –1 +/
> Биндинги это фигня.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #154 Ответы: #161

160. Сообщение от Facemakeremail (?), 11-Мрт-25, 19:51   +/
>эмулятор терминала Tilix

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

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

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

163. Сообщение от 12yoexpert (ok), 11-Мрт-25, 20:58   –1 +/
перепутал майков с фейсбуком. нвидиа тут ни при чём.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #190

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

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

167. Сообщение от Facemakeremail (?), 11-Мрт-25, 21:41   –1 +/
>SafeD и Better C - это, как бы, противоположности в смысле безопасности

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #157 Ответы: #168

168. Сообщение от анончик (?), 11-Мрт-25, 21:49   +1 +/
А если на архитектуре он не 16битный? Плодить u18, u6, u36?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #167 Ответы: #172, #197

169. Сообщение от зомбированный (?), 11-Мрт-25, 23:14   +/
понимаете, не веришь - могу выслать скомпилированную прогу скомпиленную в RAD studio 12, которая запустится у тебя на windus 98 или 3.1
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #165

170. Сообщение от Аноним (47), 12-Мрт-25, 00:02   +/
ГУЁв полно
Qt, GTK, FLTK, Tcl/Tk, Imgui/nanogui
Нативные некоторые тоже)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116

171. Сообщение от Аноним (47), 12-Мрт-25, 00:07   +/
Есть несколько нативных, но не все сейчас продолжают поддерживаться.
Из известных и более менее живых - это dlangui

Ксати создатель и текущий мейнтенер русскоязычные

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

172. Сообщение от Аноним (173), 12-Мрт-25, 00:13   +1 +/
Это где вы видели процессор с разрядностью не кратной байту, разработанный за последние лет 40 ? Байтовая организация памями уже давно, как само собой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #168

173. Сообщение от Аноним (173), 12-Мрт-25, 00:20   +/
Если бы были майки, то было бы как ты ни пиши кроссплатформенно, а в результате получается под Винду.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

174. Сообщение от Аноним (47), 12-Мрт-25, 00:32   +/
Мне нравится когда люди не шарят, но "мнение имеют" =)
В Ди понятно когда сборка работает в отличие от Джавы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #143

175. Сообщение от Анониссимус (?), 12-Мрт-25, 01:05   +/
Тут писали анонимы про D, что там баги годами не чинятся, и вообще -- тухляк и бесперспективняк. А под этой новостью, смотрю, многие положительно отзываются. Что скажете в защиту D?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #182, #188

180. Сообщение от Вова (?), 12-Мрт-25, 01:17   +1 +/
Гуёв полно, ты просто не в теме. Но у Ди нет такого ГУЯ, который был бы написан на самом Ди с учётом всех его возможностей - ООП, шаблоны, миксины, CTFE и т.п. В любом случае, если тебе нужен был бы ГУЙ, ты его давно нашёл бы. А ныть по форумам - ну такое себе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116

182. Сообщение от Вова (?), 12-Мрт-25, 01:21   +/
Ди не надо защищать, на Ди надо писать :) Забыть весь мусор про Раст и плотно начать изучать Ди (а там ДО___Я чего надо учить!). Там возможностей - море, неосиляторы подавятся на первой же странице.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #175 Ответы: #184, #185

184. Сообщение от Анониссимус (?), 12-Мрт-25, 07:49   +/
> Ди не надо защищать, на Ди надо писать :) Забыть весь мусор
> про Раст и плотно начать изучать Ди (а там ДО___Я чего
> надо учить!). Там возможностей - море, неосиляторы подавятся на первой же
> странице.

Короче, я понял: баги не чинят, тухляк, но писать надо, а ещё хрен выучишь его, сложный собака! :D

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

185. Сообщение от Аноним (197), 12-Мрт-25, 11:20   +/
> Ди не надо защищать, на Ди надо писать :) Забыть весь мусор
> про Раст и плотно начать изучать Ди (а там ДО___Я чего
> надо учить!). Там возможностей - море, неосиляторы подавятся на первой же
> странице.

Сборщик мусора ведь ставит D примерно против Go, а не Rust?

D привлекает доведёнными до ума compile-time возможностями по сравнению с C и C++.
- творимое на шаблонах в C++ выглядит героически, но это лишь борьба с невыразительностью языка
- если бы C++ мог просто взять и выполнить любую функцию на этапе компиляции, у него бы отвалилась задни... обратная совместимость!
- если бы он мог просто взять и отрефлексировать содержимое enum'а (отдать строковый литерал), то страшно представить, что у него отвалилось бы
- Страуструп был сильно против даже static if, он такую штуку в языке видеть не хотел ("fundamentally flawed, and its adoption would be a disaster for the language"[1])
- плюсовые шаблоны не во всём лучше сишных макросов (нет простых решений, чтобы увидеть какое-нибудь промежуточное представление, как после подстановки макросов через gcc -E)
- а сишный препроцессор изначально жертвовал возможностями в пользу простоты, его предшественник из 60-х был сильнее (PL/I)
- compile-time вычисления и рефлексия не очень модны. "Явное лучше неявного" -> иди кодогенерируй на питоне; "безопасное лучше небезопасного" -> иди AST-макросы в Rust пиши, а string mixin в Dlang сжечь запретить гроб гроб кладбище CVE

[1] https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n36...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #182 Ответы: #186, #189

186. Сообщение от Аноним (197), 12-Мрт-25, 11:58   +1 +/
Вообще, там полно умных идей. Иметь возможность "нарезать" массивы и иметь алиас для последнего элемента массива полезно.
arr[-1] - питон (фича - не позднее 1995)
arr(end) - матлаб 5 (1996)
arr[$-1] - ди

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

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

187. Сообщение от Аноним (187), 12-Мрт-25, 12:39   +/
Наверное, скриптор.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137

188. Сообщение от Аноним (47), 12-Мрт-25, 12:49   +/
Баги чинятся
Активная разработка и коммунити
Со всего мира в Дискорд и есть русскоясичный чат в телеге

А анонимусов лучше не слушать а попробовать самому

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

189. Сообщение от Аноним (47), 12-Мрт-25, 12:54   +/
D скорее в корзине с C++/Rust, чем с Go
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #185 Ответы: #191

190. Сообщение от Аноним (47), 12-Мрт-25, 12:57   +/
Андрей использовал D в фейсбуке
Потом когда ушел оттуда просто занимался D
И только относительно недавно он отошел от D потому что ушел в нвидия

Ты опять не в курсе вообщеничего но зачем-то пишешь ересь
Вопрос - зачем ты это делаешь?

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

191. Сообщение от Аноним (197), 12-Мрт-25, 13:17   +/
> D скорее в корзине с C++/Rust, чем с Go

И как эту мысль увязать с наличием сборщика мусора как ключевого компонента языка (не будем про betterC-режим)?

D близок к C++ синтаксисом и совместимостью с C. Но сборщик мусора! Он означает примерно то же родство, что у Java и C++: Java вытеснила C++ в определённой сфере (а потом появился C#, который учился на ошибках Java, потом гугл под свои нужды Go сделал).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #189 Ответы: #192

192. Сообщение от Аноним (47), 12-Мрт-25, 13:27   +/
Увязать можно так
В Ди можно использовать сырые ссылки
А сборщик мусора там работает иначе чем в С# и Java
Он не вызывается когда ему вздумается
Поэтому управление памятью там более контролируемое (+native)
В каких-то кусках можно его отключать и включать позже (и это я не про betterC )
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #191 Ответы: #194

193. Сообщение от n00by (ok), 12-Мрт-25, 13:30   +/
> ясный пень через драйвер портов PortTalk, а для этого нужно, чтобы компилятор
> поддерживал команды inport/outport

Спасибо, понял. Вместо чтения Уолтера Они и создания драйвера, судим о "квалификации системного программирования".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #200

194. Сообщение от Аноним (197), 12-Мрт-25, 13:38   +/
В Go для обуздания GC предлагают arena-аллокаторы, unsafe есть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #192

197. Сообщение от Аноним (197), 12-Мрт-25, 17:47   +1 +/
То это уже не про D, где ushort подразумевает 16 бит.

По идее, для ясности можно использовать классический uint16_t из std.stdint[1], но современная запись поприятнее была бы (u16: Go, Zig, Rust).

[1] https://dlang.org/phobos/std_stdint.html

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #168 Ответы: #198

198. Сообщение от Аноним (47), 12-Мрт-25, 18:40   +/
alias u16 = ushort;

:)

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

199. Сообщение от Аноним (-), 12-Мрт-25, 18:52    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

200. Сообщение от зомбированный (?), 12-Мрт-25, 18:57   +/
Вот вы смешной, судя по вашему совету вы ни разу в порты не свистели на ПК, потому-что не нужно создавать драйвер изобретая велосипед, а бери какой хош в свободном доступе и свисти в порты - хоть в 32, хоть в 64 бита
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #193

201. Сообщение от warlock66613 (ok), 13-Мрт-25, 00:08   +/
1) D очень безидейный. Точнее, идея там такая: давайте натащим из всех языков и подходов побольше всего, чтобы и так можно было писать и сяк и наперекосяк. Оказывается, людям это не нравится. Хотя казалось бы.

2) Сборщик мусора как родовое проклятие. Попытки так или иначе от него отвязаться продолжаются, но без него всё ешё плохо.

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

202. Сообщение от Прохожий (??), 13-Мрт-25, 03:14   +/
>тупо переписал

Рекомендую к любому делу подходить с умом, всё-таки.

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


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

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




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

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