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

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



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

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

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

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

Оглавление

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

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

применимо ко всему 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   +15 +/–
Язык слишком простой и понятный, нужно его ещё больше раздуть, так держать комитерасты :)
Ответить | Правка | Наверх | Cообщить модератору

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

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

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

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

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

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

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

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

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

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   +5 +/–
Точно подмечено!
Проблема раста не в самом языке, а в его сообществе.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #22, #25

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

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

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

Ответить | Правка | Наверх | 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   –1 +/–
Плюсану, при наличии эксепшнов нафига эта сишная хмарь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3

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

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

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

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

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

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


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

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   –2 +/–
Там и язык и сообщество стоят друг друга.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15

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

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

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   +/–
Это уже про упростить чтобы переусложнить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

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

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

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

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


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

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

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

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

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

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

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

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

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

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   +/–
> Честно, выглядит как попытка уничтожить 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

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   +1 +/–
Контракты - довольно логичный ход для увеличения 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   +/–
Ты хоть новость читал? Национальные коммитеты запороли по причине того что стандарте он представлен примитивно. Они хотели большей сложности.
Ответить | Правка | Наверх | 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

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

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

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   +/–
> код всегда собирается как написано.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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




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