Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

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



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

"Национальные комитеты ISO отклонили принятие стандарта C++26"  +/–
Сообщение от opennews (?), 04-Ноя-26, 15:54 
Голосование национальных комитетов ISO (NB, National Bodies)...

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

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

Оглавление

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

1. Сообщение от Ваня фанат СПО из подмосковья (?), 04-Ноя-26, 15:54   +7 +/–
> а сторонники не хотят обесценивать многолетнюю работу.

применимо ко всему C++ в целом

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

3. Сообщение от Аноним (3), 04-Ноя-26, 16:00   +4 +/–
Contract violation handler позволяет:

1. std::terminate

2. std::abort

3. Terminate execution immediately.

Зачем оно надо в таком виде? В частности, при невозможости в рантайме залогировать и проигнорировать нарушение контракта?

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

4. Сообщение от Анонимemail (4), 04-Ноя-26, 16:02   +17 +/–
Язык слишком простой и понятный, нужно его ещё больше раздуть, так держать комитерасты :)
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #105

6. Сообщение от Страуснетруп (?), 04-Ноя-26, 16:11   +7 +/–
Хоть кто-то в комитете осмелился остановить это безумие в виде современных плюсов, молодцы!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #59

7. Сообщение от Аноним (7), 04-Ноя-26, 16:16   +1 +/–
> Национальные комитеты ISO отклонили принятие стандарта C++26

может наконец-то раст стандартизируют.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #61, #62, #91, #104

8. Сообщение от Аноним (8), 04-Ноя-26, 16:17   +1 +/–
Контракты та ещё шляпа. В чём проблема исключить их из стандарта и перенести в TR?
В целом, в cpp многовато не слишком нужных вещей, которые явно добавлены т.к. "надо же развивать язык".
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #23

9. Сообщение от Аноним (11), 04-Ноя-26, 16:17   –1 +/–
Кому надо это контрактное ненужно пусть используют другие языки.
Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от Аноним (8), 04-Ноя-26, 16:20   +1 +/–
Последняя существенная фишка добавленная в cpp - это лямбды в cpp11. Остальные нововведения такое себе.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #12, #13, #27, #53

11. Сообщение от Аноним (11), 04-Ноя-26, 16:20   +12 +/–
Растики не то что отклонить стандарт не смогут они даже коммитет собарть не смогут. Потому что этому прищемили права, у того месячные хотя он мужик на самом деле, третий ненавидит коммитеты и вообще за анархию. И всё решения принмает какой-то вася который фичи клепает по KPI 10 фич в неделю иначе лишат донатов и финансирования.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #15, #19

12. Сообщение от Medved (??), 04-Ноя-26, 16:26   +1 +/–
Рефлексия в с++26, модули в с++20
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #48, #94

13. Сообщение от Аноним (13), 04-Ноя-26, 16:26   +1 +/–
ну ващето, constexpr и consteval тоже полезно. а ещё variadic template удобно использовать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10

14. Сообщение от Пишу с толчка (?), 04-Ноя-26, 16:28   +8 +/–
Будучи студентом, так и не понял смысла в плюсах. Какой-то Си переделанный с кучей всего ненужного!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #18

15. Сообщение от Пишу с толчка (?), 04-Ноя-26, 16:31   +7 +/–
Точно подмечено!
Проблема раста не в самом языке, а в его сообществе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #22, #25

17. Сообщение от Сэм Альтман (?), 04-Ноя-26, 16:33   +/–
Все правильно мы обучаем наши нейросети контентом до 2023 года, иначе получаем коллапс моделей. Нам не выгодно новое...
Ответить | Правка | Наверх | Cообщить модератору

18. Сообщение от Аноним (18), 04-Ноя-26, 16:34   –1 +/–
Ну поэтому ты и пишешь, откуда пишешь)

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

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

19. Сообщение от Аноним (19), 04-Ноя-26, 16:35   +2 +/–
А зачем им комитет?
Что бы было как в плюсах "мы три года утверждали какую-ту фигню и будем обсуждать еще 3 года, если не получится - то еще 3... Ули нам торопиться".

> И всё решения принмает какой-то вася который фичи клепает по KPI 10 фич в неделю иначе лишат донатов и финансирования.

О господи, да что ты такое несешь?! (с)

Кажется, про то как в расте утверждают RFC, ты знаешь по рассказам пацанов за гаражами.

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

20. Сообщение от fidoman (ok), 04-Ноя-26, 16:37   –2 +/–
Плюсану, при наличии эксепшнов нафига эта сишная хмарь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

22. Сообщение от Аноним (22), 04-Ноя-26, 16:39   –3 +/–
> Точно подмечено!

Молодец, отлично подлизнул!

> Проблема раста не в самом языке, а в его сообществе.

А у раста есть проблемы?

Второй язык добавленный в ядро (и не хваленый С++)
Используется как крупнейшими разработчиками софта (гугл, майкрософт, амазон) и железа (нвидия и амд), так и крупными компаниями (клоудфларя, каноникл).
Ну и васянами, конечно.
Миллионы строк когда работающие у сотен миллионов пользователей.

У раста проблем нет.


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

23. Сообщение от Вечный странник (?), 04-Ноя-26, 16:40   +1 +/–
Контракты - довольно логичный ход для увеличения безопасности C++.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #55

24. Сообщение от Ivan_83 (ok), 04-Ноя-26, 16:40   +1 +/–
Длмя меня значительная (по колличеству) часть ПО написана на С.
На крестах только монструозные проекты типа компеляторов, браузеров и игор.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #38, #82

25. Сообщение от Ivan_83 (ok), 04-Ноя-26, 16:42   –1 +/–
Там и язык и сообщество стоят друг друга.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

26. Сообщение от Вечный странник (?), 04-Ноя-26, 16:42   +3 +/–
Вы - доказательство проблем раста)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #41, #93

27. Сообщение от Ivan_83 (ok), 04-Ноя-26, 16:43   +/–
Забавно как тут народ расписался в том что пишет на диалектах С :)
Одни одно подмножество юзают а другие другое...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #31, #32

28. Сообщение от вах (ok), 04-Ноя-26, 16:46   –1 +/–
Переусложнения ради переусложнений!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #34

29. Сообщение от Вадим Жуковemail (?), 04-Ноя-26, 16:47   +/–
Есть evaluation semantic: ignore, observe, enforce, quick-enforce.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #51

31. Сообщение от Вадим Жуковemail (?), 04-Ноя-26, 16:49   +/–
Забавно когда с умным видом говорят про C, имея в виду C++. (нет)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27

32. Сообщение от Аноним (32), 04-Ноя-26, 16:52   +/–
> Забавно как тут народ расписался в том что пишет на диалектах С

"Диалект" это твои фантазии.

> Одни одно подмножество юзают а другие другое...

Люди используют разные версии стандарт и разные фичи.
Но о чем говорить с человеком, который ставит в пример убогий недо-язык, в который bool добавляли 50+ лет, а строкового типа до сих пор нет 🤣?


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

33. Сообщение от Вечный странник (?), 04-Ноя-26, 16:54   +/–
Честно, выглядит как попытка уничтожить C++ изнутри, навести раздор в рядах разработчиков для перевода всех на "безопасные" языки по типу Rust. И тут проблема не в таких языках, тот же Rust очень даже хороший язык - проблема в комьюнити Rust.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #49, #50, #54, #56

34. Сообщение от Вечный странник (?), 04-Ноя-26, 16:57   +/–
Правильно, нужно писать на brainfuck!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #37

35. Сообщение от Аноним (11), 04-Ноя-26, 16:58   –2 +/–
Например чтобы раст можно было использовать в реально полезных задачах, а не в ripgrep.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #44

36. Сообщение от Аноним (36), 04-Ноя-26, 16:58   –1 +/–
>Используется как крупнейшими разработчиками софта (гугл, майкрософт, амазон) и железа (нвидия и амд), так и крупными компаниями (клоудфларя, каноникл).

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

>Миллионы строк когда работающие у сотен миллионов пользователей.

У раста миллионы строк работающие у миллионов пользователей, это правда. Однако у С и С++ миллиарды строк работающие у миллиардов пользователей.

>У раста проблем нет.

Больного никак стабилизировать не могут.

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

37. Сообщение от Аноним (11), 04-Ноя-26, 17:00   +2 +/–
Это уже про упростить чтобы переусложнить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

38. Сообщение от Аноним (38), 04-Ноя-26, 17:00   +2 +/–
> Длмя меня значительная (по колличеству) часть ПО написана на С.

Твое мнение никого не волнует. Условный тумба-юмба живущий в джунглях тоже не использует ПО ни на С, ни на С++)
Есть статистика использования и распространенность ПО.

> На крестах только монструозные проекты типа компеляторов, браузеров и игор.

И что бы ты делал без компиляторов?
Как бы ты компилировали ядро линукса, ненужнобздю и так далее?
СИдел бы и смотрел на крутой СИшный код, бгг)?


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

41. Сообщение от Аноним (41), 04-Ноя-26, 17:11   +1 +/–
Но я не пишу на расте, мне плюсов хватает ¯\_(ツ)_/¯
А вот СИшников не люблю за их узколобость.

Хотя немного приятно, что ГЦЦ они без с++ собрать не смогут))

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

42. Сообщение от Аноним (42), 04-Ноя-26, 17:11   +/–
А зачем на Си строки обрабатывать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #46

43. Сообщение от Bottle (?), 04-Ноя-26, 17:12   +1 +/–
А я понимаю, почему нацкомы отклоняют запрос. Комитетчики уже подложили крупную свинью со своей спецификацией модулей, а тут поверх всего этого ещё фич навалили.
Что это за стандарт такой на 2000 страниц с перекрёстными ссылками, который внедрить не может никто?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #52

44. Сообщение от Аноним (41), 04-Ноя-26, 17:13   +2 +/–
Например андроид.
Или клаудфларя.
Или Rusticl который заменил Clover.
И таких важных программ десятки.

ps а чем тебе "ripgrep" не угодил?

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

45. Сообщение от vibecoder (?), 04-Ноя-26, 17:14   +/–
> У раста проблем нет.

Есть у его комьюнити. Из-за токсичности и вы тому пример.

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

46. Сообщение от Аноним (46), 04-Ноя-26, 17:16   +1 +/–
Действительно, зачем в софте обрабатывать строки 🤔
Ну разве что хеллоуворлд.. хотя нет, там тоже строка есть.

А вот в стд строковый тип нужен чтобы не писать одни и те же велосипеды кадый раз.
Чтобы была поддержка Unicode (не самая лучшая, но лучше чем в СИшке).

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

47. Сообщение от Аноним (47), 04-Ноя-26, 17:19   –1 +/–
Увы.. (хотя нет, не увы, а "к счастью") ты не разработчик гугла, майкрософта, MESA или ядра линукс.
А они сами выбирают раст и добавляют в свои проекты.

> У раста миллионы строк работающие у миллионов пользователей, это правда. Однако у С и С++ миллиарды строк работающие у миллиардов пользователей.

Работающих все хуже и хуже.
Поток дыреней найденных в ядре, как-то не прекращается.
А исправлять по 1-2 тысячи CVE - занятие, думаю, не очень приятное.

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

48. Сообщение от Инопланетянин (?), 04-Ноя-26, 17:24   +/–
> модули в с++20

В открытых проектах модулей не встречал. Кто ими пользуется?

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

49. Сообщение от Аноним (49), 04-Ноя-26, 17:25   +1 +/–
> Честно, выглядит как попытка уничтожить C++ изнутри, навести раздор в рядах разработчиков для перевода всех на "безопасные" языки по типу Rust.

Ну... вообще-то предложенные contracts c pre/post были реализованы в ADA (кстати тоже  "безопасный" язык, согласно докладу АНБ) еще в 2012 версии.
То что плюсовики хотели просто слямзить - логично.

Но ты немного прав по поводу попыток сделать С++ безопаснее.
Проблема в том, что комитет расколося на два лагеря: одни хотели  ̶с̶п̶u̶з̶ позаимствовать идею Borrow Checkerʼа из раста.
А другие (сторонники Страуструпа) - внедрить Profiles.
Договориться они не смогли((

> И тут проблема не в таких языках, тот же Rust очень даже хороший язык

Хороший? Ну пиши на нем.

> проблема в комьюнити

А в чем проблема?
Комьюнити приходит к тебе домой и в окна заглядывает? Или звонит посреди ночи и угрожающе дышит в трубку?

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

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

50. Сообщение от Павел (??), 04-Ноя-26, 17:28   +/–
Заговорщики они везде, да, как же иначе
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33

51. Сообщение от Аноним (3), 04-Ноя-26, 17:29   +/–
это ж всё compile-time? А исходно про рантайм-решения решение спрашивали
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29

52. Сообщение от Аноним (52), 04-Ноя-26, 17:34   +/–
Стандартизация подложила свинью еще в ANSI C, и это стало очевидно к середине нулевых, когда компиляторы стали собирать и оптимизировать код не как написано, а не пойми как.

И проблема C и C++ не в том, что они небезопасны по памяти, а в том, что они небезопасны по стандартк и компилятору: по факту нельзя ожидать, что код соберется и будет работать как написано или хотя бы логично

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

53. Сообщение от Инопланетянин (?), 04-Ноя-26, 17:37   +/–
11 move semantic, constexpr, auto, smart pointers, range-based for, lambdas, threads
17 variadic templates, variant, optional, structured bindings, filesystem
20 concepts, ranges, span, print/format, coroutines, location
23 consteval, expected, stacktrace

+ в последних версиях можно писать атрибуты [[likely]]/[[unlikely]], [[ununsed]], [[fallthrough]] и др не прибегая к макросам и интринсикам.  

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

54. Сообщение от Аноним (54), 04-Ноя-26, 17:37   +/–
> Честно, выглядит как попытка уничтожить C++ изнутри

так и есть

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

55. Сообщение от Аноним (55), 04-Ноя-26, 17:42   +2 +/–
Контракты - довольно логичный ход для увеличения C++.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23

56. Сообщение от Инопланетянин (?), 04-Ноя-26, 17:42   +1 +/–
> Честно, выглядит как попытка уничтожить C++ изнутри, навести раздор в рядах разработчиков для перевода всех на "безопасные" языки по типу Rust.

Скандалы, интриги, расследования...

На Бьёрна Страуструпа было совершено покушение. Во время задержания малолетний преступник выкрикивал что-то про безопасность памяти и бороу чекер. В настойщий момент с Страуструпом все хорошо и он уже работает над новым стандартом.

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

57. Сообщение от Ivan_83 (ok), 04-Ноя-26, 17:43   +/–
Ни bool ни строк нет в процессоре, это абстракция, в случае С её в язык не тянут и не отращивают.
Никто тебе не запрещает сделать свои собственные строки по мотивам любого языка или концепции которые тебе нравятся.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #71, #78

58. Сообщение от Ананоним (?), 04-Ноя-26, 17:46   +/–
Неужели там нашёлся кто-то с разумом? Хаха! Если бы приняли, во каша бы получилась, а не язык.
Ответить | Правка | Наверх | Cообщить модератору

59. Сообщение от Аноним (59), 04-Ноя-26, 17:46   +1 +/–
Ты хоть новость читал? Национальные коммитеты запороли по причине того что стандарте он представлен примитивно. Они хотели большей сложности.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #6

60. Сообщение от Ivan_83 (ok), 04-Ноя-26, 17:46   +/–
Так вот статистика на моём личном компе не в пользу крестов :)
Я посчитал и date, ls, echo всякие :)


> И что бы ты делал без компиляторов?

Странный вопрос.
Технически без компиляторов на крестах можно обойтись более примитивными компиляторами на С.

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

61. Сообщение от Инопланетянин (?), 04-Ноя-26, 17:48   +/–
> может наконец-то раст стандартизируют.

Им же переадали страндарт языка, который написали ferocenne для себя. Куда они его дели не знаю. Да и не нужно им это.

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

62. Сообщение от Аноним (59), 04-Ноя-26, 17:48   +/–
>может наконец-то раст стандартизируют.

Прежде чем писать глупости надо задать 1 простой вопрос. Сообществу разработчиков самого Раста международная стандартизация нужна? Ответ очевиден: "Нет".

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

63. Сообщение от Аноним (63), 04-Ноя-26, 17:48   +/–
>разработчик гугла, майкрософта, MESA или ядра линукс.
>А они сами выбирают раст и добавляют в свои проекты.

В какие проекты они добавляют раст и какая его доля в процентах в этих проектах?

>Работающих все хуже и хуже.
>Поток дыреней найденных в ядре, как-то не прекращается.

То ли дело раст, сейчас они всем покажут как надо. Ой, нет, не покажут, у них у самих сотня дыр в uutils, а паритет с coreutils кажется все менее достижимым.

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

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

64. Сообщение от БоссАнонимов (?), 04-Ноя-26, 17:50   –1 +/–
Новых открытых проектов на С++ не встречал
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

65. Сообщение от Аноним (65), 04-Ноя-26, 17:50   +1 +/–
> Стандартизация подложила свинью еще в ANSI C

Угу, Деннис Ритчи писал про "стандарт":

"The fundamental problem is that it is not possible to write real programs using the X3J11 definition of C. The committee has created an unreal language that no one can or will actually use."

> И проблема C и C++ не в том, что они небезопасны по памяти, а в том, что они небезопасны по стандартк и компилятору

Разве первое не следствие второго?
Если у тебя есть некий код, который может по разному скомпиляться в зависимости от вендора компилятора и даже от версии и результат в виде программы может работать по разному...
То о каком стандарте может идти речь?

Особенно с учетом того, что так называемый "стандарт" не обязывает реализовывать все фичи.
Но компилятор будет все равно называться "компилятор С или C++".
Хотя в UB и ID поведение может быть просто противоположное.

Как бы на это посмотрели нормальные инженеры, если бы был стандарт на болт метрический с шестигранной головкой DIN 931, но если вам сильно хочется, то можете сделать десятигранник и без резьбы))?

У ADA был классный подход: хочешь называться компилятор языка ADA?
Отлично! Вот тебе 1000+ тестов. Один завалил - идешь лесом.

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

66. Сообщение от Аноним (66), 04-Ноя-26, 17:50   +/–
За исключением багов компилятора, код всегда собирается как написано. Написано в стандарте. А не как хочется в новолуние левой пятке очередного Васяна. А то, что Васян ленив и не хочет читать стандарт - это проблема Васяна, а не языка.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #75, #100

67. Сообщение от Инопланетянин (?), 04-Ноя-26, 17:50   +/–
Почему нельзя было только контракты отклонить в новой версии стандарта? Просто их перенести, а все остальное релизнуть.  
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #74

68. Сообщение от Инопланетянин (?), 04-Ноя-26, 17:53   +1 +/–
Полиция провела обыск в доме преступника и обнаружила его увлечение аниме, установленный арч линукс, а также большое кол-во женского белья, хотя по словам соседей девушки у преступника не было.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #85

69. Сообщение от Аноним (69), 04-Ноя-26, 17:53   +/–
> Так вот статистика на моём личном компе не в пользу крестов :)

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

> Я посчитал и date, ls, echo всякие :)

Ну т.е мелкие СИшные утилитки. Молодец, можешь взять пирожок на полочке.

> Технически без компиляторов на крестах можно обойтись более примитивными компиляторами на С.

Ага, а дрова рубить каменным топором.
Но примитивными компиляторами пользоваться грустно. Они ни в оптимизацию, ни в скорость не умеют.

А вот нормальные компиляторы без С++ невозможны. Доказано GCC и Clangʼом.

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

70. Сообщение от Аноним (70), 04-Ноя-26, 17:57   –1 +/–
Заканчивай свой старый боян. В языке уровня чистого Си строковый тип не нужен. Работая со строками сишники юзают готовые библиотеки, или сами пишут идиомы. буквально десять строк. Пойми со строками в сишке пролблем нет.

Твоя проблема в том, что ты не умеешь программировать на уровне Си. И если ты требуешь строковый тип то ты скорей всего паскальщик.

>Чтобы была поддержка Unicode (не самая лучшая, но лучше чем в СИшке).

Ты хоть сам то понял о чём написал. В Стандартной библиотеке есть функции по работе с любыми типами символов, в том числе и Юникода.

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

71. Сообщение от Аноним (73), 04-Ноя-26, 17:57   +/–
> Ни bool ни строк нет в процессоре, это абстракция, в случае С её в язык не тянут и не отращивают.

Твоя экспертность поражает насмерть!
В C23, в тот самый стандарт, добавили Boolean type and values <stdbool.h>
Правда до этого доходили десятки лет.

А ты говоришь "не тянут и не отращивают"))

> Никто тебе не запрещает сделать свои собственные строки по мотивам любого языка или концепции которые тебе нравятся.

И получим парад кривых велосипедов.

ps вангую отмазки вида "мне хватает с89"

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

72. Сообщение от Инопланетянин (?), 04-Ноя-26, 17:59   +/–
> Зачем оно надо в таком виде? В частности, при невозможости в рантайме залогировать и проигнорировать нарушение контракта?

Какой смысл? Это считай у тебя assert (который не в debug) нарушен. Что ОЧЕНЬ пошло не так.

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

73. Сообщение от Аноним (73), 04-Ноя-26, 18:05   +/–
> В языке уровня чистого Си строковый тип не нужен.

Что значит "уровня СИ"? Это типа такой же дырявый?

> И если ты требуешь строковый тип то ты скорей всего паскальщик.

В С++ по какой-то причине такой тип есть.
В СИшке чтобы узнать сколько в строке (даже ASCII) символов надо пробегаться по ней до null-terminated символа. Каждый раз.

В нормальных языках типа плюсов или паскаля - ты просто обращаешься к size/length/...

> Ты хоть сам то понял о чём написал.

К сожалению да.

> В Стандартной библиотеке есть функции по работе с любыми типами символов, в том числе и Юникода.

Посчитать кол-во символов в строке. Особенно если там есть диакритические знаки.
Для разных платформ. Если там встречаются составные символы...

Это весьма сложная задача.
И вместо того чтобы плодить кучу вариантов либ, оно может жить прям в СТД.
С максимальными оптимизациями и проверкой на корректность.

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

74. Сообщение от Аноним (41), 04-Ноя-26, 18:08   +/–
Как ты себе это представлешь?
Стандарт С++29 в котором сказано "а вот отсюда и ближайшие 100 страниц не читайте"?

Пусть комитет удаляет контракты из текста стандарта и тогда его утвердят.
Собственно от них это и хотят)

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

75. Сообщение от Аноним (41), 04-Ноя-26, 18:10   +1 +/–
> код всегда собирается как написано.

А если в коде UB?

> Написано в стандарте.

Стандарт прямо говорит "а фиг его знает что произойдет".

> не как хочется в новолуние левой пятке очередного Васяна.

Зачем ты так про разработчиков компилятора?

> А то, что Васян ленив и не хочет читать стандарт - это проблема Васяна, а не языка.

Не, если в "стандарте" написано "мы не знаем как сложить два числа, пусть будет UB и компилятор сам решит", то это говорит о "качестве" так называемого стандарта))

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

76. Сообщение от Аноним (76), 04-Ноя-26, 18:14   +/–
> Пойми со строками в сишке пролблем нет.

Ну да: нет строк - нет проблем, бгг. 👍

Только чего то уже более полувека за пределы буферов вылазят. 🤔 То самое знаменитое "программирование уровня Си", лол.

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

77. Сообщение от Аноним (77), 04-Ноя-26, 18:17   +/–
Вброшу конспирологию: стандарт тормознуло функциональное лобби. Контракты это легкий способ написать надежные и верефецируемые программы без изучения функциональщины и всей связанной с ней математической зауми. Заучкам в свитерах просто обидно, что есть более практичный способ достичь цели которую декларируют фп-языки. Популяризацию контрактов нельзя терпеть ни в каком виде,  поэтому дернули стоп-кран.

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

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

78. Сообщение от Аноним (76), 04-Ноя-26, 18:17   +/–
> Ни bool ни строк нет в процессоре, это абстракция, в случае С её в язык не тянут и не отращивают.

Вау, а int и char в процессоре есть, оказывается!

Ваня, ты как всегда поражаешь своими познаниями.

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

79. Сообщение от маняним2 (?), 04-Ноя-26, 18:17   +/–
Контракты в полностью перекрываются более гибкими аннотациями и последующими профилями. Контракты легко эмулируются ассертами или рукопашным кодом. Кроме того у контрактов куча неустранённых условностей и ограничений. После сабельного наскока с модулями, которые до сих пор исправляют, совершенно правильно отклонили сырые и ненужные контракты.
Ответить | Правка | Наверх | Cообщить модератору

80. Сообщение от Аноним (80), 04-Ноя-26, 18:17   +1 +/–
Растерманам на заметку: у них это впереди.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #96

81. Сообщение от маняним2 (?), 04-Ноя-26, 18:19    Скрыто ботом-модератором+/–
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77

82. Сообщение от Аноним (76), 04-Ноя-26, 18:20   +/–
> Длмя меня значительная (по колличеству) часть ПО написана на С.

До? Кроме ядра и юниксовых корутилиток а-ля 70е что перечислишь?

> На крестах только монструозные проекты типа компеляторов, браузеров

Вот именно: потому что писать большой серьезный софт на сишочке - это ад и мазохизм.

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

83. Сообщение от Аноним (83), 04-Ноя-26, 18:21   +/–
Контрактное программирование в С++26 в предложенном варианте это больше assert, чем contract и на контрактное программирование только названием.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #77 Ответы: #88

84. Сообщение от Аноним (84), 04-Ноя-26, 18:21   +/–
Для этих кейсов не надо "просто завершать программу аварийно" (как предлагается), а как раз сделать "что надо". Варианты:

1. залогировать и завершиться

2. проигнорировать

3. свериться с переменной окружения `DISABLE_FETURE_CHECK` и прогнорировать контракт

4. куда-то заслать метрики

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

А для безусловного завершения всегда есть std::assert

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

85. Сообщение от Аноним (54), 04-Ноя-26, 18:24   +/–
давай по классике "отеля К", журнала ксакепа достаточно, на сиди все улики, Никитоз постарался подкинуть подарки :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

86. Сообщение от Аноним (86), 04-Ноя-26, 18:28   +/–
корутины потенциально полезная штука, но пока же до ума не довели.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53

87. Сообщение от Инопланетянин (?), 04-Ноя-26, 18:28   +/–
Вместо этих вариантов предлагают всегда безусловно завершаться. Зачем мне такая штука,
> есл и множно делать кастомные ассерты и там делать всё что
> угодно?

Тем что они КАСТОМНЫЕ и будут работать только в твоем проекте.

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

> The observe semantic will invoke the contract-violation handler; if the contract-violation

handler returns normally, program execution will continue from the point of evaluation of the
contract assertion

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

88. Сообщение от Аноним (88), 04-Ноя-26, 18:28   –1 +/–
Соглы. Контракты вообще не надо тащить в стандарт языка и оставить на откуп сторонним библиотекам. Как говорили выше: диды развивают язык ради ИБД.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83 Ответы: #90

89. Сообщение от Аноним (89), 04-Ноя-26, 18:29   +/–
>В СИшке чтобы узнать сколько в строке (даже ASCII) символов надо пробегаться по ней до null-terminated символа.

Да. А что?

>Посчитать кол-во символов в строке. Особенно если там есть диакритические знаки.

Для чего существует Юникод? Прежде чем работать со строками ты должен знать как реализоан на твоей платформе Юникод. Это резиновая кодировка - utf8, или это широкие символы с фиксированным размером для каждого сивола. От этого ты должен оталкиваться.

>Это весьма сложная задача.

Нет. Если умеешь и любишь программировать на уровне Си.

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

90. Сообщение от Инопланетянин (?), 04-Ноя-26, 18:33   +/–
> Соглы. Контракты вообще не надо тащить в стандарт языка и оставить на
> откуп сторонним библиотекам. Как говорили выше: диды развивают язык ради ИБД.

Контракты вещь полезная. В Ada есть. А вот линейную алгербу на кой притащили - вопрос.

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

91. Сообщение от Аноним (47), 04-Ноя-26, 18:33   +/–
> может наконец-то раст стандартизируют.

Зачем?! Чтобы сидели вот такие клованы-дармоеды по три года на зп коммитета, а потом не смогли ничего из себя выдавить? Разработка должна быть гибкая.
Тем более что на надежность наличие "стандрта" никак ни влияет - что для плюсов, что для сишки они есть, но написаны так, что код разными компиляторами не компиляется.

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

92. Сообщение от Ivan_83 (ok), 04-Ноя-26, 18:34   +/–
Кто хочет и может тот пишет, остальные жалуются на UB всякие.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

93. Сообщение от laindono (ok), 04-Ноя-26, 18:35   –2 +/–
Нет я. Ещё я доказательство нужности Arch Linux в домохозяйстве.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #113, #116

94. Сообщение от localhostadmin (ok), 04-Ноя-26, 18:39   +/–
> модули в с++20

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

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

95. Сообщение от aname (ok), 04-Ноя-26, 18:39   +/–
Крупнейшие разработчики софта имеют нейросети, следовательно, твоей логики, нейросети не имеют проблем.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

96. Сообщение от Аноним (96), 04-Ноя-26, 18:39   +/–
Нет спецификации - нет проблем, поэтому не надо драматизировать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

97. Сообщение от Аноним (84), 04-Ноя-26, 18:40   +/–
> -fcontract-evaluation-semantic=observe  

Эта штука, как я понял, включается "глобально", а не точечно.

Чем принципиально-то от assert'а отличается-то?

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

98. Сообщение от Аноним (98), 04-Ноя-26, 18:40    Скрыто ботом-модератором–1 +/–
Ответить | Правка | Наверх | Cообщить модератору

99. Сообщение от Аноним (99), 04-Ноя-26, 18:42   +/–
>убогий недо-язык

Не осилил язык уровня Си, поэтому обзываешся.

>в который bool добавляли 50+ лет

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

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

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

100. Сообщение от Аноним (100), 04-Ноя-26, 18:45   +1 +/–
Код собирается так, как бы он исполнялся на абстрактной виртуальной машине, существующей только в кошмарных снах авторов стандарта. Т.е. C/C++ де-факто непригодны дня написания современного многопоточного кода с хоть сколько-нибудь приемлемой производительностью
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

101. Сообщение от Аноним (101), 04-Ноя-26, 18:45   +/–
>Тем более что на надежность наличие "стандрта" никак ни влияет - что для плюсов, что для сишки они есть, но написаны так, что код разными компиляторами не компиляется.

Пример в студию.

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

102. Сообщение от localhostadmin (ok), 04-Ноя-26, 18:49   +/–
ну да. например int отлично входит в eax, а char в ah или al. если нужно отрицательное число, есть команда neg
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #117

103. Сообщение от Инопланетянин (?), 04-Ноя-26, 18:51   +/–
>> -fcontract-evaluation-semantic=observe
> Эта штука, как я понял, включается "глобально", а не точечно.
> Чем принципиально-то от assert'а отличается-то?

Я не смотрел. Первое что приходит:

1. Они универсальны вместо asserta, который молча в release будет вырезан.
2. Определение заголовке функции.
3. Могут использоваться для анализа сторонними утилитами для верификации? Как в Ада или AСSL.

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

104. Сообщение от Аноним (104), 04-Ноя-26, 18:56   +/–
А может не надо? Иначе получится как в плюсах, профессора кислых щей пытались в течении в течении 30 лет сделать из си с классами мультипарадигменного монстра, в итоге все пришло к тому, что из самого простого языка получился наиболее сложный язык, где надо учиться на конкретный стандарт, а 3 человека учивших его в разные года не смогут договориться как надо программировать. При том, что программы получаются ну точно такие же как на остальных языках, непонятно зачем эти игры в бисер.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

105. Сообщение от penetrator (?), 04-Ноя-26, 18:56   +/–
здравый комент

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

налепили в него стероидов, и в плюсы сча напихают

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

106. Сообщение от Аноним (109), 04-Ноя-26, 18:56   +/–
Концепты предлагали внедрить ещё в C++11, но не приняли, потому что недоработаны. Приняли только в C++20, вон сколько времени пришлось дорабатывать, фактически 20 лет.

Дизайн языка - дело сложное, надо очень осторожно добавлять новые фичи, и только такие, без которых не обойтись.

Например, когда начали разрабатывать Ada, то уже тогда хотели сделать её объектно-ориентированным, однако Жан Ишбиа отклонил, так как непонятно было как бороться с недостатками ООП.
Потребовалось 15 лет исследований чтобы появился первый стандартный объектно-ориентированный язык - Ada 95.

Так что, это бред, что стандарты надо выпускать регулярно, каждые 3 года, это пирожки надо печь регулярно.
Понадобавляли ненужного, всё так усложнили, что язык стал трещать, невозможно без ошибок сделать компилятор.

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

107. Сообщение от Аноним (107), 04-Ноя-26, 19:01   +/–
> А у раста есть проблемы?

Есть, конечно. Если бы проблем не было, любой топик в котором хоть как–то упоминается Раст не превращался бы в то, во что он превращается. Просто все бы хором перешли на «более лучший» и «более безопасТный» язык и спорить было бы не о чем.

Могу озвучить, по пунктам:

— Коммунити. Добрая половина — поехав… э–э–э, нейроразнообразные небинарные личности неопределённого гендера, другая добрая половина — торчащие на зонде LLM похапешники, питонисты, жабаскриптуны и прочие неоСИляторы. Ну и оставшееся — фанбои–евангелисты, которые сами на своём «любимом» языке не пишут ничего сложнее хелловорлдов (иначе уже бы перестали быть фанбоями), но ходят по интернетам и пихают ржавого в каждую дырку, в каждое поле с кнопкой «Отправить».

— Компилятор. Ублюдочно–тормозной и жрущий несметные гигабайты памяти. Естественно, чтобы ощутить всю глубину падения, нужно собирать что–то сложнее хелловорлда. Попробуйте на досуге скомпилить раст из исходников, возможно, наступит просветление.

— Карго. Система сборки, сломанная уже на самом базовом уровне — поскольку требует для комфортной работы подключение к интернетам и насасывает тысячи лефтпадов буквально в любой проект. О порочности такого подхода можно догадаться хотя бы наблюдая за непрекращающимися атаками на npm и pypi.

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

108. Сообщение от Аноним (104), 04-Ноя-26, 19:02   +/–
Язык скоро будет настолько сложный, что разберется только нейронка. А нормального единого менеджера пакетов или нормальной системы сборки до сих пор не видно.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #110

109. Сообщение от Аноним (109), 04-Ноя-26, 19:05   +/–
>Вброшу конспирологию: стандарт тормознуло функциональное лобби.

Разовью мысль: для чего вообще применяется функциональное программирование?
Правильно, для задач искусственного интеллекта. Эти всякие Лиспы, Скимы, Наскели, Окамлы. Это сейчас как раз модно, А С++ - как кость в горле для любителей AI-культуры.

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

110. Сообщение от Аноним (110), 04-Ноя-26, 19:07   +/–
>Язык скоро будет настолько сложный, что разберется только нейронка.

Нейронка не умеет "разбираться". А вот использовать устаревшие функции на основе того, что ей скормили всё подряд, запросто может.
> А нормального единого менеджера пакетов или нормальной системы сборки до сих пор не видно.

А вот этого даже близко не надо.

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

111. Сообщение от Аноним (111), 04-Ноя-26, 19:10   +/–
Там же Саттер уже предлагает cpp2
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106

112. Сообщение от Аноним (113), 04-Ноя-26, 19:11   +/–
Везде микропрограмки на 100 строк.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44

113. Сообщение от Аноним (113), 04-Ноя-26, 19:13   +/–
CachyOS ван лав.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93

114. Сообщение от Аноним (114), 04-Ноя-26, 19:14   +/–
> В какие проекты они добавляют раст и какая его доля в процентах в этих проектах?

В некоторый ~100%)

Microsoft перевела Rust в число языков первого уровня по причине использования в Azure. В частности:
- система sandbox-изоляции Litebox (github.com/microsoft/litebox) - Rust 92.7%
- софт для обеспечения паравиртуализации OpenHCL и монитор виртуальных машин OpenVMM
(github.com/microsoft/openvmm) - Rust 98.4%
гипервизор Hyperlight (github.com/hyperlight-dev/hyperlight) - Rust 96.6%

NVIDIA опубликовала инструментарий CUDA-oxide
github.com/NVIDIA/cuda-rust - Rust 93.1%
и делает драйвер Nova.

Claudflare использует прокcи Pingora (github.com/cloudflare/pingora) Rust 100%, которым они заменили NGINX.

Из менее распространенных, но значимых:
Arti (замена TOR от той же команды) Rust 96.6%
Rusticl в проекте MESA (судя по репе месы - всё кроме биндингов к СИ).

> То ли дело раст, сейчас они всем покажут как надо. Ой, нет, не покажут, у них у самих сотня дыр в uutils,

Ты про "найдены и исправлены"))?
Это не помешало (а может даже помогло, ибо ГНУтые утилиты аудит не проходили) стать дефолтом в убунте.

> а паритет с coreutils кажется все менее достижимым.

Как выяснилось паритет не нужен.
Поддерживать древности которые нужны горстке пользователей это просто бездарная трата ресурсов.

> Пока раст в широких массах запомнился как язык для нейрослопа, а еще главной причиной неисправности интернета и онлайн игр.

Мнение "широких масс" так же важно как и кaлoвых.
Что условный гугл, майкрософт или нвидия выпустит - тем они и будут пользоваться.

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

115. Сообщение от Аноним (83), 04-Ноя-26, 19:15   +/–
В Аде много чего другого есть, а С++ даже стека нет :-(
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90

116. Сообщение от Bottle (?), 04-Ноя-26, 19:15    Скрыто ботом-модератором+/–
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93

117. Сообщение от Аноним (76), 04-Ноя-26, 19:15   +/–
> ну да

Ну нет. На уровне CPU в принципе отсутствуют какие-либо типы.

> int отлично входит в eax

При чем тут кто куда входит, если речь шла о наличии типов на уровне CPU?

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

118. Сообщение от Аноним (118), 04-Ноя-26, 19:17   +/–
В то время айтишкой занимались единицы людей, совершенно от неё далёких. Собственно, некоторые из нас ещё застали времена тех совершенно помойных программ.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106


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

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




XSQUARE
Inferno Solutions
Hosting by Hoster.ru
Хоcтинг: