|
2.2, НяшМяш (ok), 12:22, 03/03/2025 [^] [^^] [^^^] [ответить]
| +8 +/– |
Но ведь раст не настоящий язык, почему такая реакция /s
Дидов корёжит и это хорошо. В результате выиграют все.
| |
|
3.6, Аноним (6), 12:27, 03/03/2025 [^] [^^] [^^^] [ответить]
| +8 +/– |
От этого выиграет даже раст, которой без C++ного LLVM может примерно ничего.
| |
3.12, анонд (?), 12:33, 03/03/2025 [^] [^^] [^^^] [ответить]
| –7 +/– |
Rust конкурент C т.к. в обоих языках нет ОПП в принципе. ООП черты имитируются и там, и там очень похоже.
Go норм - на нем держится инфраструктура вроде Kubernetes, Docker, Helm, Prometheus, Grafana и тд. Java в морг, но C# норм. Ruby фтопку, уж лучше Python. SWift не пробовал никогда. Довольно нишевой, для macOS/iOS.
| |
|
|
5.199, Аноним (199), 15:34, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
В каких-то Бейсиках было обращение к адресам памяти - небезопасТно.
| |
|
4.29, Аноним (29), 12:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| –5 +/– |
> Rust конкурент C т.к. в обоих языках нет ОПП в принципе.
на Rust не написать ничего подобного seL4, а ООП не нужен в принципе
| |
4.37, Аноним (37), 13:05, 03/03/2025 [^] [^^] [^^^] [ответить]
| +7 +/– |
> уж лучше Python
для системных скриптов - да. Но проблема в том, что им жестко заcpaли области программирования, для которых его применение сомнительно.
| |
|
5.440, Аноним (440), 22:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> для системных скриптов - да. Но проблема в том, что им жестко заcpaли области
> программирования, для которых его применение сомнительно.
Черта с два. Из за вечных проблем с версиями - для этого он полный отстой.
| |
5.442, Аноним (442), 22:50, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>для системных скриптов - да. Но проблема в том, что им жестко заcpaли области программирования, для которых его применение сомнительно.
А показать как надо было делать - как всегда некому. Если есть отличные альтернативы, которые действительно лучше, то почему же ими никто не пользуются в этих "областях", а мучаются с Пайтоном?
| |
|
4.46, n00by (ok), 13:13, 03/03/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Rust конкурент C т.к. в обоих языках нет ОПП в принципе. ООП
> черты имитируются и там, и там очень похоже.
В Си++ нет ООП в принципе. ООП черты имитируются. Слова "метод класса" могут оказаться последними.
| |
|
5.122, тоже Аноним (ok), 14:11, 03/03/2025 [^] [^^] [^^^] [ответить]
| +5 +/– |
C++ - мультипарадигменный язык. На нем можно писать объектно и аккуратно, как на Джаве. А можно настрогать портянку, как на С.
К сожалению, студентов учат только второму, и они вообще не понимают, что такое С++. В принципе. Но при этом считают, что они этот язык - "выучили".
| |
|
6.137, n00by (ok), 14:24, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Не понял, какая связь с моим сообщением. Намёк на то, что на Си++ можно написать паттерн синглтон?
| |
|
|
4.70, laindono (ok), 13:31, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
В rust другая вариация ООП. Нет классов. Нет наследования. И то и другое есть хорошо. Плюс ООП не является доминирующей частью rust, которая диктует, как писать весь код. Оставаясь при этом инструментом на каждый день.
| |
|
|
|
7.257, penetrator (?), 16:51, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
тебе никто не мешает использовать композицию вмест с наследованием
не нужно заменять наследование композицией, и наборот
если использовать не подходящий вариант, то можно испортить что угодно
а вот отсутствие такой возможности в принципе уже накладывает констрейнты на проектирование
| |
|
|
5.98, Аноним (98), 13:54, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>В rust другая вариация ООП.
Не нужно изобретать свою собственную терминологию.
| |
|
|
7.148, Аноним (96), 14:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
ООП для части - "поднятие солнца руками"
ООП для другой части - мы поднимаем НОЧЬЮ прожектор и глядите - он как солнце
Если чего-то сделать нельзя - это не достоинство - это недостаток. Хотя, кому я это говорю.
| |
7.235, Аноним (98), 16:20, 03/03/2025 [^] [^^] [^^^] [ответить] | +/– | Давайте хотя бы терминологию в программировании оставим в далеке от повестки Это... большой текст свёрнут, показать | |
|
|
|
4.97, Аноним (98), 13:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
>Ruby фтопку, уж лучше Python
Python тоже фтопку. Уже куча репозиториев заражена python-ом, хотя он там не нужен совсем, и в отличии от rust-а это почти никого не возмущает.
| |
|
5.165, Аноним (165), 14:45, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Потому что профессиональных, квалифицированных программистов знающих СИ, С++ становится всё меньше, а им на смену приходят вкатуны просле курсов, которые кроме Pyton не знаю ничего. Скоро всё будет на Pyton и тебе будут рассказывать что C++ не безопасен, а Pyton идеально подходит.
| |
|
6.189, Имя (?), 15:22, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Потому что полно людей, для которых ЯП и программирование в целом вторичны по отношению к их основной специальности, всякие там млщики, математики и ученые. Им нецелесообразно разбираться какая там модель памяти в языке и как нужно классы отнаследовать, чтобы код был расширяемым. Лучше потратить время на развитие основных скиллов. Те же самые люди, которые напишут код на С вообще без отступов.
Вот для них питон как раз хороший выбор и вкатывание ни при чем.
| |
6.247, Аноним (98), 16:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Потому что профессиональных, квалифицированных программистов знающих СИ, С++ становится всё меньше
Вот как раз такие проекты и подвержены заражению питоном. Взять тот же vim - зачем ему питон? Или apparmor? Да что там, даже uBlock зачем-то заразился питоном, хотя у них уже есть js, могли бы и без питона обойтись.
>и тебе будут рассказывать что C++ не безопасен
Да, кресты небезопасны. Это неоспоримый факт, как бы вы к этому не относились
| |
6.253, User (??), 16:47, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это еще что! Тут вот набИгают неспособные название - название, Карл! языка программирования выучить...
| |
|
|
|
3.226, Нуину (?), 16:04, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Дидов корёжит и это хорошо.
Судя по таким комментариям - корежит только их авторов.
| |
|
2.5, kravich (ok), 12:26, 03/03/2025 [^] [^^] [^^^] [ответить]
| +6 +/– |
>Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции, но в отличие от них работают на уровне запрета применения определённых возможностей языка
Вообще, конечно, C++ уникальный язык. Нигде больше, насколько мне известно, нет настолько выраженной ситуации, когда новые или мощные средства языка были бы проблемой на проектах, и требовали дисциплины от разработчика. И вот то, что всегда было зафиксировано в кодстилях команд, теперь в каком-то виде появляется официально в языке...
| |
|
3.36, trolleybus (?), 13:04, 03/03/2025 [^] [^^] [^^^] [ответить]
| +7 +/– |
> в кодстилях команд
Точнее "в костылях команд". Увы, при нынешнем состоянии языка это костыли.
| |
3.144, sena (ok), 14:27, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Нигде больше, насколько мне известно, нет настолько выраженной ситуации, когда новые или мощные средства языка были бы проблемой на проектах, и требовали дисциплины от разработчика.
perl
| |
|
2.102, xPhoenix (ok), 13:58, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
А что случилось? Ведь нормально же всё было. Что ни день, так новое CVE из-за неправильной работы с памятью. Где теперь хакеры харчеваться будут?
| |
|
3.152, Аноним (96), 14:32, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> А что случилось?
Тебе де сказали - требование оборонки.
Если что самолеты сделанные по требованиям оборонки никчему отстой, потому что изначально требования взяты с потолка.
| |
|
4.268, yet another anonymous (?), 17:15, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
А ребята с той оборонки (?), что эти требования сформулировали (под определённую часть цифровиков), свои стулья сохранили в нынешней обстановке?
| |
|
5.270, Аноним (-), 17:17, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А ребята с той оборонки (?), что эти требования сформулировали (под определённую
> часть цифровиков), свои стулья сохранили в нынешней обстановке?
Думаешь придут новые и скажут "а давайте писать как диды, ну чтобы китайские и корейские хакеры нас ломали полностью!"
Хотя учитывая какой там сейчас сброд, то не удивлюсь)
| |
|
6.357, yet another anonymous (?), 19:14, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> "а давайте писать как диды, ну чтобы китайские и корейские хакеры нас ломали полностью!"
Я придерживаюсь мнения, что новые веяния направлены на одновременное упрощение/унификацию внедрения и точное тагетирование объекта атаки. Это экономически целесообразнее, да и требует куда меньшей квалификации от атакующих. При современных реалиях разработки, естественно.
| |
|
5.432, maximnik0 (?), 21:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>свои стулья сохранили в нынешней обстановке?
Да,сохранили,в принципе нормально там с стандартами.Язык недавно обновлялся,но криков в отличие от раста нету.До сих пор в обороне и авиации применяется,даже у нас !!!Язык Ада называется .
| |
|
|
3.219, Нуину (?), 15:57, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Где теперь хакеры харчеваться будут?
Возьмутся наконец за раст, увидишь тогда, что нет CVE:)
| |
|
|
1.3, Аноним (3), 12:22, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Какой ужасный синтаксис теперь в С++, код с вариадиками, обвешанный if constexpr, макросами, концептами и теперь уже профилями совершенно не читаем.
| |
|
2.4, Аноним (4), 12:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
Вопрос привычки. Раст слишком уж инородный, чтобы найти применение в большинстве областей.
| |
|
3.400, Аноним (400), 20:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| +5 +/– |
Интересное кино. Плюсы с костылями - вопрос привычки, а руст значит вопрос инородности. Афигеть манёвры))
| |
|
2.8, Hck3r (?), 12:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| +6 +/– |
Пример бы такого кода на плюсах и аналог на расте для наглядности еще
| |
|
3.401, _hide_ (ok), 20:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| –4 +/– |
Нет, нельзя допускать сравнения, иначе станет понятно, что проще нанять хороших программистов, чем все переписать на Раст.
| |
3.422, morphe (?), 21:22, 03/03/2025 [^] [^^] [^^^] [ответить] | +1 +/– | Ещё бы у плюсов документация по этим фичам существовала Я не понял это предложен... большой текст свёрнут, показать | |
|
4.424, morphe (?), 21:24, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ключевого слова safe в Rust нет, это я добавил чтобы сравнению не мешали unsafe{} и комментарии которыми принято unsafe{} сопровождать
| |
|
|
2.383, Аноним (383), 20:12, 03/03/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
У плюсов всегда был ужасный синтаксис, но не хуже раста то уж точно
| |
|
1.7, Аноним (7), 12:27, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Каждый объект должен быть корректно создан и освобождён.
Ну надо же!
Я думал что это должно быть по умолчанию для любой программы для с++.
Ну, чтобы она работала правильно хотя бы в этом контексте.
А тут оказывается для этого нужен отдельный профиль!
Ну а если профиль не включен, то можно создавать и освобождать объекты не корректно?
Как диды раньше?))
| |
|
2.14, Аноним (14), 12:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
Прямо как программисты на Typescript. Вроде бы классы и красивая типизация, а в обертках код на жиэс, где на все эти типы кладется. Без кода на жиэс ничего работать не будет. И убрать его слишком долго/дорого.
| |
|
3.103, Аноним (98), 13:59, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Typescript давным давно можно было бы заменить любым вариантом: Ocaml, ReasonML, ReScript. Если особо хочется, то можно было бы взять даже Haskell или PureScript.
>Вроде бы классы и красивая типизация
Эта типизация прекрасно обходится даже без кода на js. Во-первых тип Any, во-вторых, если писать на ts как будь-то это динамически типизированный язык, то никаких ошибок компиляции не будет
>Без кода на жиэс ничего работать не будет. И убрать его слишком долго/дорого.
Начать бы с того, чтобы этот код был бы только под копотом и только в нескольких часятх приложения, а не буквально везде
| |
|
4.227, Нуину (?), 16:06, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Typescript давным давно можно было бы заменить любым вариантом: Ocaml, ReasonML, ReScript. Если особо хочется, то можно было бы взять даже Haskell или PureScript.
Только не заменяется никак. В чем проблема?
| |
|
5.249, Аноним (98), 16:40, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Опять диды виноваты. Ой, то есть эти, как их там, а, да, сму3ихлёбы, да, они. Нормальным языкам к0пр0тивляются, ибо думать придётся.
| |
|
|
3.315, bdrbt (ok), 18:18, 03/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
> Прямо как программисты на Typescript. Вроде бы классы и красивая типизация, а
> в обертках код на жиэс, где на все эти типы кладется.
> Без кода на жиэс ничего работать не будет. И убрать его
> слишком долго/дорого.
Что значит "обёртки" и "убрать"? Typescript - изначально надстройка над яваскриптом, в который он и транспилируется. Ляпнуть такое это всё равно что сказать, что любой язык - фуфло, потому что все эти классы, функторы это обёртки над ассемблером который поклал на классы и функции, а убрать его долго и дорого.
| |
|
2.99, Аноним (96), 13:55, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Ну а если профиль не включен
То ты можешь прибить все что нужно туда куда нужно.
| |
2.129, тоже Аноним (ok), 14:16, 03/03/2025 [^] [^^] [^^^] [ответить]
| +5 +/– |
В С++ полно библиотек, предполагающих, что объект создается в пользовательском коде, а временем его жизни и освобождением памяти занимается библиотека. И компилятор от этой библиотеки видит только заголовки, так что проконтролировать не может ничего в принципе.
| |
|
|
4.449, Аноним (449), 23:27, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Профили предлагают использовать std::unique_ptr и std::shared_ptr, которые определяют время жизни (да, есть способы обхода, например в 'std::unique_ptr::release()', но может их в профилях запретят).
Библиотеки, видимо, должны будут принимать только умные указатели.
| |
|
|
|
1.11, Аноним (-), 12:31, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +12 +/– |
"Вы зачем код с багами пишете? Пишите код без багов!"
— Бьорн Страуструп, автор 14 разных методов инициализации в C++
дед опять выдает базу, абсолютно базированную и абсолютно бесполезную))
| |
|
2.17, Аноним (17), 12:46, 03/03/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
Зачем вам топоры, пилы, струганки, наждачка, долота, гвозди и клей? Все надо делать одним топором!
(с) очередной неосилятор с++ на опеннете.
| |
|
3.23, Аноним (-), 12:49, 03/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
Это ты так про Бьорна?
Не надо, чел сделал большую работу. И заслуживают уважение.
Да она получилась кривоватая, но... он сами в интервью рассказывал, что не является спецом по созданию языков.
| |
3.65, Аноним (65), 13:26, 03/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
ты это серьезно?
топоры, пилы, струганки, наждачка, долота, гвозди и клей для одной задачи - инициализация? кучей разных способов?
учитывая, что это база, точно не надо к набору из "топоры, пилы, струганки, наждачка, долота, гвозди и клей" добавить специализированный инструмент "инициализатор", который будет заниматься, внезапно, инициализированием, и только им одним, единообразно и прозрачно?
| |
|
4.79, Аноним (-), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> ты это серьезно?
Уверен на 99%, что да.
> топоры, пилы, струганки, наждачка, долота, гвозди и клей для одной задачи
Да.
Именно так.
Хороший программист старой закалки, сможет пилить с помощью долота, стругать гвоздем, а гвозди каждый топором вырубать.
Можно посмотреть на ядро (СИ) или на гемдев (С++)
Потому что по канону прорамма должна быть полна костылей, велосипедов и, главное, неочевижных моментов.
Это обестпечивает незаменимость работника и сложность в его увольнении.
| |
|
3.403, Аноним (400), 20:39, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
А почему у вас эта логика _внезапно_ кончается, когда вам предлагаешь несколько ЯП использовать? Начинается - уой, сложна, слишкам многа инструментов.
| |
|
4.423, Аноним (423), 21:22, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> А почему у вас эта логика _внезапно_ кончается, когда вам предлагаешь несколько ЯП использовать?
Потому что это другое™! Это понимать надо™! Ты бы ещё спросил, почему некоторые из лицензии или текстового редактора делают фетиш.
| |
|
|
|
1.13, Аноним (14), 12:33, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Уместно спросить - может надо было сразу делать отдельный язык, а не надстройку, которая за сорок лет так и не смогла Embrace и Extinguish?
Пора плюсам на свалку истории. Кто работает и не может перестроиться - никакой жалости, валите на пенсию.
| |
|
2.25, X512 (?), 12:50, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не забывайте, что все актуальные компиляторы Си написаны на C++. GCC был сначала на Си, но потом перешёл на C++.
Компилятор Си на Си -- это разве что примитивный TCC, не умеющий оптимизации.
| |
2.38, Admino (ok), 13:07, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Да, выкинуть 40 с гаком лет написания кода и начать всё с нуля, такая прелесть.
| |
|
3.60, Фнон (-), 13:21, 03/03/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Да, выкинуть 40 с гаком лет написания кода
Делаются биндинги, новый код пишется на нормальном ЯП.
> и начать всё с нуля
Ага.
Иногда так приходится делать.
Например при переходе от повозок к автомобилям.
Какие бы ни были лошадки милые - кушают сахар, фыркают и пахнут навозом, но их потолок был ограничен.
> такая прелесть.
Что поделаешь. Прогресс не остановить, можно только замедлить суванием палкок в колеса.
От сухой каменной кладки тоже отказались, хотя ей тысячи лет и пирамиды так построили.
Но сейчас по какой-то причине сталь и бетон.
| |
|
4.101, Аноним (96), 13:58, 03/03/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
Одна проблема, когда вместо лошадки пробуют заставить впрячь в повозку слизня, ибо на нем ехать безопасно, как-то мало ассоциируется с прогрессом
| |
|
5.143, Аноним (-), 14:27, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> вместо лошадки пробуют заставить впрячь в повозку слизня
Плохая аналогия подобна котенку с дверцей (с)
Вон недавно раст-либа обогнала по скорости СИшную - у дидов предсказуемо подгорело)
По скорости раст сравним с си или плюсами. В интернетах есть куча бенчмарков где люди меряются.
И да, то кто вместо безопасности выбирает скорость, остается и без первого и без второго.
| |
|
6.154, Аноним (96), 14:35, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> По скорости раст сравним с си или плюсами.
Вот только на си и плюсах пишут полноценные проекты.
А на rust уже почти допереписывали и планируют догнать по паритету функциональности к...
| |
|
|
4.126, Аноним (165), 14:15, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Что поделаешь. Прогресс не остановить, можно только замедлить суванием палкок в колеса.
Прогресс, ага, про GNOME тоже самое твердят.
| |
4.405, Аноним (400), 20:43, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Какие бы ни были лошадки милые - кушают сахар, фыркают и пахнут навозом, но их потолок был ограничен.
Только кучеры в то время орали, что на ваших убогих автомобилях ни по одной колее не проедешь и вообще какое-то непонятное колесо вместо интуитивно понятных вожжей.
| |
|
|
2.130, тоже Аноним (ok), 14:19, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
На ту "свалку истории" изрядная очередь.
Перед Плюсами туда давно отправлен, например, Пых - ужасный, неконсистентный, несколько раз переделанный... и продолжающий работать на 75% сайтов интернета, например.
| |
|
3.162, Аноним (-), 14:42, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
То что у нас есть уже 100500 написанных это одно.
А сколько новых сайтов пишутся на пыхе? Это другое)
Всегда новая технология будет соседствовать со старой.
Например дома из "глины, овна и палок" стоили тысячелетиями.
Потом пошел нормальный кирпич.
А сейчас рядом с ним есть и железобетон, и пенобетон + ЖБ плиты, и всякие пустотелые керамики.
Но куча домов по старой технологии будет стоять ровно столько, пока не развалятся или их не снесут.
| |
|
4.190, тоже Аноним (ok), 15:26, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А сколько новых сайтов пишутся на пыхе?
Да столько же, ЧСХ. Ни одного альтернативного варианта, который позволит дешевле создать сравнимый результат, для массового сайта просто нет.
Прогресс происходит отнюдь не в выпиливании Пыха и переползании на смузи-Ноду, например.
А в более четком разделении фронта и бэка и передаче первому все больше работы. Причем не потому, что Пых плохой, а потому, что браузеры нынче стали достаточно жирными и достаточно стандартными, чтобы владелец сайта мог меньше тратить на сервер, свалив нагрузку на клиентов.
| |
|
5.250, Аноним (250), 16:44, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Не только деление на фронт и бек, но и деление бека на экземпляры и модули, которые можно безопасно подменять, чтобы можно было по частям переписать с одного языка на другой, не останавливая сервис.
Но проблема больше в мотивации и в кадрах, потому что если у вас куча пхпшников, то они не все захотят переучиваться, да и менеджеры не захотят вкладывать деньги в модернизацию. А раз так, то и потребность в пхпшниках остаётся и они дальше будут плодиться, что не есть хорошо.
| |
|
6.261, тоже Аноним (ok), 16:58, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> экземпляры и модули, которые можно безопасно подменять, чтобы можно было по частям переписать с одного языка на другой, не останавливая сервис.
Код, разумеется, делится на модули, чтобы его можно было безболезненно поддерживать.
А завиральные идеи еще на чем-нибудь переписать то, что по большей части является просто прослойкой между фронтом и базой - это скорее к нодерам, гошникам и прочей публике, которой просто скучно просто работать.
| |
|
7.447, anonizmus (?), 23:21, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ошибочное представление. PHP всё ещё медленный, и многие задачи хочется переписать на более вменяемых языках, более быстрых и приспособленных к вычислениям. Кроме того, размещение в облаках способствует разделению на микросервисы. А те в свою очередь удобнее писать на более быстрых языках.
| |
|
6.356, Аноним (98), 19:14, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Но проблема больше в мотивации и в кадрах, потому что если у вас куча пхпшников, то они не все захотят переучиваться
Зачем? Вы хоть десять фронтендов, хоть сто сделайте, без бекенда это работать всё равно не будет
| |
|
7.430, тоже Аноним (ok), 21:47, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Технологии понемногу меняются. Если двадцать лет назад Пых выдавал на фронт готовую верстку, то сейчас реактивным фреймворкам бэк нужен только как API = CRUD + та бизнес-логика, которую нельзя доверить браузеру + чисто серверные дела. Работы на бэке все-таки поуменьшилось.
| |
|
|
|
|
|
|
1.15, bdrbt (ok), 12:43, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры
Не успеют, а если и родят что-либо, то это опять будет нечто монструозное, тянущее за собой половину буста и c сопроводительными доками чуть меньше "Войны и Мира" Толстого.
| |
|
2.18, Аноним (18), 12:47, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не смеши публику. Большинство из указанного включается с помощью опций -Werror у gcc или clang.
| |
|
3.22, bdrbt (ok), 12:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Не смеши публику. Большинство из указанного включается с помощью опций -Werror у gcc или clang.
Осталось рассказать это Страуструпу, а то он не в курсе поди.
| |
|
4.106, Аноним (96), 14:01, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Проблема не в выявлении подобных мест. Это, очевидно, хотели сказать.
Проблема только в том, что бы договориться разным разработчикам, как ОДИНАКОВО включать и выключать эти фильтры доступности функциональности для разных артефактов программы.
| |
|
|
|
|
|
3.81, Аноним (81), 13:41, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не только. Это полумеры все. Будет чуть лучше и чуть тормознее и больше похоже на Java.
Если все запретит и код все равно тотально переписывать - то не проще ли сделать все то же самое, только на языке, который уже есть? Точно так же, постепенно.
Или он думает, что те, кто не смогли в Rust, смогут проделать все то, что он написал? В любом случае придется корежить свои привычки.
| |
|
4.112, Аноним (96), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ты или тролишь или не понимаешь о чем речь.
А речь о добавлении системы настройки включения и выключения функциональности для разных артефактов кода программы.
То есть программа без таких настроек имеет доступ ко всей функциональности и, соответственно, компилируется.
Добавляешь артефакту программы ограничивающую настройку и переписываешь его. Все остальное не трогая.
В этом варианте программа ВСЕГДА готова к использованию в процессе такого рефакторинга.
| |
4.113, n00by (ok), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Я "не смог" (не нашёл причин и целей) в Rust, но смог проделать описанное в стандарте. В чём проблема? Вполне проработанное ТЗ, если воспринимать его так.
| |
4.408, Аноним (400), 20:46, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Блин, да ежу же понятно, что вопрос не технический, а денежный. Всё всегда туда упирается. Дед засуетился только когда госуха стала запрещать использовать кресты. Рассказать почему?)
| |
|
3.84, Аноним (84), 13:43, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вы зачем поставили слова "комитет" и "успеть" в одном предложении?
| |
|
4.115, n00by (ok), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так после "топовый тролль" же. Не все знакомы с работой комитета.
| |
|
|
|
|
2.30, X512 (?), 12:54, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Только вот беда, что в основе IT инфраструктуры по прежнему C++ и переписывать это не собираются. Компиляторы Си GCC, Clang -- на C++. Все браузерные движки на C++.
| |
|
3.40, n00by (ok), 13:08, 03/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
"Бывает нечто, о чем говорят: «смотри, вот это новое»; но это было уже в веках, бывших прежде нас."
В СССР было написано ПО под PDP-11 больше чем в США. Где сейчас DEC?
В России было написано масса ПО на Delphi. Появился C#.
| |
|
4.375, Bottle (?), 19:59, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Лучше упомянуть такие языки как Алгол и BCPL, о них только помнят, никто ими не пользуется.
А на Delphi до сих пор есть софтина - например, FL Studio.
| |
4.438, maximnik0 (?), 22:18, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Где сейчас DEC?
В спутниках ГЛОНАСС.По информации с открытых источников- там применяется процессор сделанный перед самым развалом СССР, сделали DEC совместимый процессор на 1 микросхеме- по сложности переходное между 386 и 486.Обещали заменить на более лучшее- тишина,после нашего Крыма.
| |
|
3.73, Аноним (-), 13:33, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Все браузерные движки на C++.
Servo смотрит на это утверждение с недоумением.
Не все конечно умеет, по сравнению с двумя (ок, тремя) другими, но если в него вложить столько же денег, то будет не хуже.
Нужно только простимулировать к этому))
| |
|
4.119, Аноним (96), 14:08, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Нужно только простимулировать к этому))
Что бы получить в итоге "ну не смогла я, не смогла"?
| |
|
5.188, Аноним (-), 15:20, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Что бы получить в итоге "ну не смогла я, не смогла"?
С чего бы это?
WebRender и многопоточное css прекрасено работают в FF.
В остальном Servo сейчас работает отлично в контексте вложенных ресурсов.
И нет никаких причин почему он станет работать хуже или вообще перестанет работать если туда сложить еще пару сотен лямов.
| |
|
4.231, Аноним (250), 16:11, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> вложить столько же денег
> Нужно только простимулировать к этому
Надо просто убрать кучу ненужных web api и не раздувать веб-стандарты, тогда и свои бразуерные движки можно будет писать на любом языке.
| |
|
5.404, _ (??), 20:41, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
... да кто ж иму дастЪ?! (С)
У людей на этой сложности суриоус бусинес построен, с годовым доходом больше чем доход всей твоей страны и всех стран с ней соседствующих ...
Забудь!(С)
| |
|
|
3.78, laindono (ok), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> и переписывать это не собираются
То-то столько драмы каждый раз, когда таки переписывают. Аж целого Линуса призвали.
| |
3.83, Аноним (83), 13:42, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ты бы хоть читал на что отвечаешь… Как всё написанное тобой соотносится с «C++ просто устарел»? :)
| |
3.86, Аноним (82), 13:45, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
ну так переезжайте на марс, там ничего переписывать не придётся, всё с нуля. вам уже и язык подходящий сделали
| |
3.118, Аноним (250), 14:07, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
C и C++ не первые языки. На фортране тоже много чего было написано, и наверняка у него были такие же сторонники, с такими же аргументами.
| |
|
4.121, Аноним (96), 14:10, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Вот только это язык другой целевой ниши.
И только сравнительно недавно пропал смысл его использовать.
| |
|
5.216, Аноним (250), 15:52, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Фортран это просто к примеру. Вместо фортрана подставьте любой другой старый популярный язык.
| |
5.239, Аноним (250), 16:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> сравнительно недавно пропал смысл его использовать
Смысл пропал давно, просто менеджеры не хотели вкладываться в модернизацию. А из-за этого потом возникают проблемы с поддержкой и интеграцией старого ПО.
| |
|
6.409, _ (??), 20:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ну значит не везде менеджеры - тупицы, прям в кои то веки - хорошая новость!
А знаешь почему до сих пор кода на COBOL активно работавшего 24/7/365 просто невбибичекое количество? Поспрашивай :)
| |
|
|
|
3.202, Аноним (202), 15:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
GCC это не «компилятор c»
GCC это GNU Compilers Collection
Коллекция компиляторов GNU
Чуешь разницу?
А то вы своей фантазией уже задолбали
| |
|
4.413, _ (??), 20:51, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
В следующей версии коллекции ожидается включение нового ЯП :)
Нет, не раст :) COBOL! Я не шучу, даже тут новость была.
А уж эти точно знают что нужнее :)
| |
|
5.419, Аноним (202), 21:14, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Видимо у кого-то из оплачивающих разработку(RH и прочие) возникла необходимость
Дело не в том, что «эти точно знают что нужнее», а дело в том, что они знают что необходимо спонсорам разработки
И это нормально
| |
|
|
|
|
1.26, Аноним (-), 12:51, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> времени осталось очень мало и необходимо до 2026
> года успеть предпринять какие-то меры
Учитывая скорость работы комитета по стандартизаци...
удачки, хехе))
Учитывая, что отчет АНБ был опубликовал в конце 2022 года и никто не чесался больше двух лет, то как раз к 2036 плюсовики сделают новый стандарт. Но это не точно.
Правда потом нужно будет дождаться когда это все завезут в компиляторы...
| |
|
|
3.42, Аноним (-), 13:08, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> А чего АНБ свой проект Тор на Раст перевела.
Потому что им не хочется, чтобы их сотрудника набутылила местная контрразведка только из-за того, что сишники не смогли в память.
А контроль над тором можно и другими способами получать.
| |
|
4.123, Аноним (96), 14:12, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А контроль над тором можно и другими способами получать.
Используя закладки в rust?
| |
|
5.164, Аноним (-), 14:45, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Используя закладки в rust?
Слишком палевно. Можно контролировать сами ноды.
Можно использовать закладку прям в ядре линукса - 10 лет жила и всем было норм.
Или в процессоре. Или прям закладки в криптографии на уровне алгоритма и стандарта.
Вариантов много.
| |
|
6.186, Аноним (96), 15:19, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вспомнилась новость о том что Касперский запретил использовать апл.
Типы было теоретически 3 формы попытки взлома компанией апл телефонов пользователей и ВСЕ три были применены к управленцам Касперского.
Так что запас карман не тянет.
| |
|
7.431, Аноним (423), 21:51, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> было теоретически 3 формы попытки взлома компанией апл телефонов пользователей
Смахивает на ЛПП. Пруфы-то были?
| |
|
6.230, Аноним (199), 16:09, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>закладку прям в ядре линукса - 10 лет жила и всем было норм
Ты бы хоть раз ссылочку привёл на эту закладку. А то, может, это и не закладка, а уязвимость, которых там немало бывает?
| |
|
7.256, Аноним (-), 16:51, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Ты бы хоть раз ссылочку привёл на эту закладку.
Ищи по Bvp47.
> А то, может, это и не закладка, а уязвимость, которых там немало бывает?
Уязвимость, потому что сишник "забыл" проверить входные данные и получилось RCE с получением рута?
Да-да, ну разумеется это точно не закладка, а просто уязвимость))
Все сишники рано или поздно так делают, поэтому прекратите задавать глупые вопросы, гражданин.
| |
|
|
5.425, Аноним (423), 21:32, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Используя разводной ключ за пять баксов и судебную систему. Всякий раз как речь заходит о безопасности, начинается какая-то оголтелая гибсовщина в комментах. Объясни, зачем нужны закладки в расте, если большая часть инфраструктуры интернета находится под прямым или косвенным контролем сша? АНБ не надо это всё, они просто™ звонят в офис и просто™ говорят какой порт куда отзеркалить по стандартному протоколу. И пока ты с ними на телефоне утрясываешь детали, в дверь уже стучится курьер с предписанием суда.
| |
|
|
3.205, Аноним (202), 15:39, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Фантазеры, блин
Tor Project был создан не АНБ(гражданская структура), а NRL(структурой военно-морского флота)
Как же ваши фантазии про АНБ вокруг утомили
| |
|
4.263, Аноним (96), 17:03, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
- Одно слово румын
- Так он болгарин
- Да?! А какая разница...
Для большинства это обобщенное "тов. майор" только забугорный.
И да. Операция Кондор. Проект синяя птица. И т.д. И т.п.
Мы такого не придумаем, какое они отморозят...
| |
|
5.276, Аноним (202), 17:32, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Да вот в том-то и дело, что нет там майоров, в АНБ этом вашем
А в NRL есть(ну или капвторанги какие-нибудь)
АНБ, как и ЦРУ, это гражданская организация и в ней нет воинских или специальных званий
| |
|
|
3.265, yet another anonymous (?), 17:04, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Tor не АНБ (как тут верно уже указали). Он "инструмент", но в другом смысле --- ("если вы не поняли, кто тут лох, ..."). У АНБ-то как раз инструментаий наполовину на C++/наполовину на на Java'е.
| |
|
|
1.28, User (??), 12:52, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Воу, воу! Палехше! Куда так гнать, ну? Этж в 26 стандарт принять, в 30м поддержка (частичная, всеми разная) стандарта компиляторами появится, в 31 понять, что все не так и вот вам ещё один (но другой!, лудший) способ получения безопасной безопасности - так году в 35м придётся начинать ДУМАТЬ что-то там переписывать под самую пенсию? Неее. На это комитет пойтить не могет - мужики, может ещё годика три форму скобочек пообсуждаем? Юникод он большой...
| |
1.31, Аноним (32), 12:56, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
А это не тот самый мужик, который в своей книжке писал что насоедование 8-го уровня это нормально?
| |
|
2.124, Аноним (96), 14:13, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> насоедование 8-го уровня это нормально?
Трудно понять о чем ты. Переформулируй.
| |
|
1.34, Аноним (39), 13:03, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Средства(т.е. инструменты) есть, у̶м̶а̶ желания их использовать при политике "****, **** и в продакшн" нет.
Когда от тебя требуют скорость, плевав на качество и тем более сферические стандарты в вакууме, то так то не до феншуя.
| |
|
2.212, Аноним (212), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Жаль деда.
Так он и не стал дедом, все такой же "мальчишка". Дед тот, слово (мысль, идея) которого имеет вес, а тут какое-то КИСА (осколок АНБ) имеет больше веса, и вес то совсем не мысли, а дубинки.
| |
|
3.283, n00by (ok), 17:40, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вряд ли его таким ужалить. Дед спорный, как и Вирт, но свой след оставил. В отличие от нытиков по поводу включения Rust в ядро, но их и совсем не жалко.
| |
|
|
1.41, Аноним (37), 13:08, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Жаль деда. Линуксоиды по сути его предали, не осилили плюсы в ядро.
Не нужно его в ядро. По-моему мнению, C++ - это язык для прикладного программирования.
| |
|
2.63, n00by (ok), 13:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Мнение - это из области мнимого. В действительности драйвера антивирусов нередко пишут на плюсах.
| |
|
1.43, Аноним (37), 13:09, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> Каждый объект должен быть корректно создан и освобождён.
Гениально. А что, можно иначе?
| |
|
2.45, Прохожий (??), 13:11, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Можно. А еще некоторые в бинарниках шестнадцатиричным редактором заголовки правят.
| |
2.50, Фнон (-), 13:16, 03/03/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
Конечно!
Просто добавляешь коммент "тут все ровно, мамой клянусь" и пишешь как получится.
А там пусть потомки лет через 10 разбирают CVEшки.
| |
2.159, sena (ok), 14:39, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Гениально. А что, можно иначе?
Конечно, например сделал new для буфера, использовал, вышел из программы. Можно в принципе не освобождать, если всё равно выходишь. И уж тем более, если это программа-однодневка.
| |
2.173, хрю (?), 14:55, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Конечно, особенно в какой-нить стековой модели объектов. Тогда выделяешь сразу буфер подо всё и двигаешь нижнюю границу.
| |
|
3.286, n00by (ok), 17:49, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так конструкторы-деструкторы всё равно вызовутся, в отличие от предложенного выше new без delete.
| |
|
|
|
2.52, Аноним (52), 13:17, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
C умными указателями конечно же!? Я сам конечно не пробовал, мне некогда пока было :)
| |
|
3.109, Аноним (98), 14:03, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не, умные указатели не подходят, поскольку сразу же после присоединения нового элемента он мгновенно зациклится с предыдущим. А если делать слабые указатели, то часть списка может в любой момент просто взять и испарится.
| |
|
4.167, Аноним (-), 14:47, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Не, умные указатели не подходят, поскольку сразу же после присоединения
> нового элемента он мгновенно зациклится с предыдущим. А если делать
> слабые указатели, то часть списка может в любой момент просто взять и испарится.
А давайте добавим сильные, но глупые!
Вот тогда плюсы взлетят))
| |
4.171, Аноним (96), 14:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Не, умные указатели не подходят, поскольку сразу же после присоединения нового элемента он мгновенно зациклится с предыдущим. А если делать слабые указатели, то часть списка может в любой момент просто взять и испарится.
А вот для этого и надо бы сделать время жизни контейнеров. Как раз то чего в rust нет и никогда не будет.
Но, я уверен, в каком-нибудь из следующих языков мы получим необходимое для полноценности концепции применённой в rust.
Осталось только "будем посмотреть".
| |
|
5.279, Аноним (279), 17:38, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вполне нормально сделать нормальный linked list единожды и использовать его везде. Свой список в каждом проекте писать это уже пережиток прошлого.
| |
|
4.426, Dezz (??), 21:40, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Умные указатели вполне подходят для списков. Просто ссылки на предыдущие элементы должны быть слабыми, что логично, ведь им незачем управлять жизнью предыдущего элемента.
| |
|
|
2.384, Аноним (384), 20:12, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так в конце дед предложил аж 6 вариантов [[unsafe]]
Вот ими вся libstdc++ и будет утыкана.
| |
|
1.48, Аноним (48), 13:13, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Поздно спохватились. Доктор сказал в морг, значит в морг. С++ изжил свое.
| |
|
|
3.77, Аноним (48), 13:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
Rust. Если уже Линус Торвальдс (ярый сторонник C и противник C++) начал отказываеться от C в пользу Rust - уже говорит о многом. А он в ЯПах разбирается получше местный диванных экспертов.
| |
|
4.299, Аноним (-), 18:02, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Хитро передёргиваешь. Лично Торвальдс считает, что "нет ничего лучше Си" - это его цитата. Раст он принял в ядро не хотя, его долго уговаривали, ну он типа "ну ладно-ладно, уговорили". К Расту у него отношение "терпимое".
Конкретно, языку Раст не место в ядре Линукса. Пусть растаманы пилят свою экосистему. Плоть и кровь GNU/Linux состоит из чистого Си.
| |
|
3.88, Аноним (-), 13:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Что на замену?
Условный C++2.0.
Нужно просто решиться и сломать обратную совместимость с++ сильнее чем при переходах между стандартами.
Убрать все UB. Добавить то, что описано в предложении, на уровень языка, сделав его по умолчанию. А для использования всяких опасных штук сделать специальные директивы, тоже на уровне языка.
Выкинуть всякие неудачные вещи, которые тянуть только ради совместимости.
| |
|
4.128, Аноним (96), 14:16, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Убрать все UB.
И получить необходимость дублировать код и структуры для разных архитектур, получая комбинаторный взрыв?
| |
|
5.169, Аноним (-), 14:49, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> И получить необходимость дублировать код и структуры для разных
> архитектур, получая комбинаторный взрыв?
Пример в студию.
"Вот такая UB позволяет сделать то-то"
Иначе это пустой треп о том что "без UB жизни нет"
| |
|
6.174, Аноним (96), 14:57, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
До недавнего времени тип char в ядре linux был для разных платформ разным. Где то знаковым, где-то беззнаковым. Ибо железо такое было. Код же работал один и тот же. Пришли разработчики rust и уговорили от этого избавиться. Теперь все привели к одному виду и для части платформ это выражается в небольшом понижении производительности.
| |
|
7.179, Аноним (-), 15:07, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Теперь все привели к одному виду и для части платформ это выражается
> в небольшом понижении производительности.
Это все невероятно интересно, но где "комбинаторный взрыв"?
Плюс там пробелема была в том, что написанный код работает хз в зависимости от платформы, компилятора, флагом, ретроградности меркурия. А для signed еще получаем UB для overflow.
| |
7.252, Аноним (98), 16:45, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>До недавнего времени тип char в ядре linux был для разных платформ разным. Где то знаковым, где-то беззнаковым
Так, а где тут UB? А то я думал, что тут про разыменновывание нулевого укзателя будут говорить или про двойное освобождение памяти
| |
|
|
|
4.146, Аноним (146), 14:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Так ржавый и получится же ну. Только он уже готов и даже стабилен
| |
|
5.237, Аноним (199), 16:22, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Не получится. Классов нет, наследования, шаблонов. В C++ 2.0, если таковой появится, это всё будет, но уже без сырых указателей, с контролем границ массивов по умолчанию.
| |
|
4.153, тоже Аноним (ok), 14:33, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Условный C++2.0.
> Нужно просто
А можно просто узнать, сколько за эти годы было написано языков на замену Крестам. Начиная с D, например. Вы о нем даже не слышали, полагаю. И об остальных - тоже. Почему бы это?...
| |
|
5.170, Аноним (-), 14:49, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Тот Д который со сборщиком мусора (опциональным, но тем не менее)?
И для которого потом пытались колхозить "безопасные" сабсеты типа SafeD?
Я бы сильно удивился если бы он взлетел.
| |
|
6.187, тоже Аноним (ok), 15:20, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так комментарий выше - в аккурат про то, что а вот давайте теперь напишем... то, что Александреску уже двадцать лет назад написал, внезапно.
| |
|
|
|
|
2.229, Нуину (?), 16:09, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> С++ изжил свое.
Буквально все, чем ты пользуешься на нем. Изжил:) Откуда вы лезите? Где у вас гнездо? (с)
| |
|
3.246, Аноним (-), 16:36, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> С++ изжил свое.
> Буквально все, чем ты пользуешься на нем.
И? Когда появилось эл-во и факелы и свечки заменяли на него, наверняка такие же бухтели "вы эти лампочки пилят при свечах!! позор! никакого уважения к тысячелетним технологиям".
> Изжил:)
Ага. Именно изжил. В комитете раскол и Драма за Драмаю.
Как минимум 2 группы тянут одеяло на себя.
Тащится просто жуткое старье в угоду древним платформам.
При некоторые вещи можно ускорить в 2-3 раза если поломать совместимость.
open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1863r0.pdf
| |
|
4.340, Аноним (96), 18:46, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Если бы электричество.
А то ведь предлагают вместо свечей дыру в потолке прорубить. Правда ночью невидно ничего и дождь на голову падает, зато пожара не будет - безопасно!
| |
|
|
|
3.452, Нуину (?), 23:34, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Что-то Qtшники переписываться на Rust не спешат.
У них есть qml с js-ом (стоит заметить своей реализацией). Так что все безопасно и проще.
| |
|
|
1.49, Аноним (49), 13:15, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
ИЧСХ, Паскаль с самого начала не давал программисту делать всё что угодно, а только то, что правильно. Потому что программист делает ошибки. Потому что программист хочет то, что он хочет, а не то, что он пишет. Через 50-60 лет до мэйнстрима дошло.
| |
|
2.56, Аноним (52), 13:19, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Просто до этого нехаватоло мощностей и приходилось выжимать до капли любым способом.
| |
2.61, Анонем (?), 13:23, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Проблема Паскаля не в том, что он "слишком правильный". И даже не в том, что медленный. А в том, что он придуман в Европе, а не в США.
| |
|
3.140, SAI (ok), 14:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Насчёт "медленности" Паскаля вопрос сомнительный.
Зависит от многих факторов, в том числе и от компилятора, но в среднем, примерно в 2 раза медленнее Си (в рейтинге сразу за Си).
Та же Java (на тех же задачах), показывала производительность в 10 раз меньше.
Была на опеннете такая статья с исследованием несколько лет назад. Не могу найти.
| |
|
4.379, Bottle (?), 20:08, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну так естественно, если над компилятором (FreePascal) трудятся по-сути случайные люди, хотя и опытные.
Будь у Паскаля такая же поддержка, как у GCC и LLVM, производительность была бы схожей.
Вон Фортран до сих пор затыкает сишку в чистых вычислениях, всё потому что сишники до сих пор не научились использовать ключевое слово "restrict" и не обладают той же алгоритмической базой, что и фортранщики.
| |
|
3.321, Аноним (-), 18:30, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Проблема Паскаля не в том, что он "слишком правильный". И даже не в том, что медленный. А в том, что он придуман в Европе, а не в США.
Не в бровь, а в глаз. 50 лет назад, американцы всячески игнорировали Алгол, и везде где могли протаскивали свой Фортран. В XXI веке создатель Питона внёс в язык оператор присваивания := , и тут американские программисты начали сильно возмущаться. Гвидо опечалился и хотел было покинуть пост лидера. В Америке был сговор компаний, не принимать на работу людей, которые пишут программы на Дельфи. Прикол в том, что Дельфи это американская программа.
Я люблю Си и Юниксы. Но вынужден признать, у американцев есть неприязнь к европейским языкам программирования. Это факт.
| |
|
2.111, Аноним (98), 14:05, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
И как в паскале дело обстоит с указателями? Так же как в си/крестах?
| |
|
3.145, SAI (ok), 14:27, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Если постараться, то выстрелить себе в ногу тоже можно.
Но компилятор много чего ловит.
| |
|
4.254, Аноним (98), 16:49, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Что значит постараться? Я не знаю все 100500 языков какие есть. Если вы расхваливаете паскаль то говорите конкретнее: есть ли там nullptr, что будет если его разыменновать, бывает ли там утечка памяти, бывает ли двойное освобождение и так далее. И как ко всему этому относится компилятор.
| |
|
5.391, Аноним (384), 20:20, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ну в lazarus будет @, ^ и nil. Забыть вызвать Free()/Destroy()/Dispose() можно. А до кучи ещё и ${ifdef} имеется.
| |
|
|
|
2.149, Аноним (146), 14:31, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Паскаль - отличный язык. Но создавался он исключительно для обучения и там только и должен применяться
| |
|
3.243, Аноним (199), 16:33, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Да что всё Поцкаль да Поцкаль? Ведь, есть же более промышленный Modula-2, который теперь и в GCC имеется. Со строгостью у него, должно быть, не хуже.
| |
|
2.158, тоже Аноним (ok), 14:39, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> ИЧСХ, Паскаль с самого начала не давал программисту делать всё что угодно
Так удивился этому заявлению, что аж заглянул в свой архив. Нет, похоже, исходники тех программ из прошлого века, где использовались ассемблерные вставки и прямая запись в видеопамять (потому что штатные библиотеки люто тормозили, и даже int 10h был нетороплив), уже выкинуты...
Так-таки и не давал? Как-то я этого не заметил.
| |
|
3.198, Аноним (49), 15:32, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это Turbo Pascal? Все коммерческие реализации как раз и добавляли разные небезопасные возможности, чтобы "профессионалам" было удобнее. Но не суть. Просто то, что Си небезопасен и плохо спроектирован, было очевидно уже очень давно.
| |
|
4.203, тоже Аноним (ok), 15:38, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Си небезопасен и плохо спроектирован
А верблюд несимпатичный и низко летает. Вообще непонятно, что арабы в них нашли...
| |
|
5.236, Аноним (96), 16:21, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Вообще непонятно, что арабы в них нашли...
На вкус и цвет - кому и кобыла невеста
| |
|
6.240, тоже Аноним (ok), 16:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Скорее "на бесптичье и жoпа - соловей".
Причем оглядываясь на прошедшие десятилетия, нетрудно заметить, что именно такая ситуация - не исключительная, а сугубо характерная и логично формирующая то, что мы имеем сейчас. Не обещая никаких изменений и в ближайшем будущем, собственно.
| |
|
|
|
3.314, Аноним (-), 18:16, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Так удивился этому заявлению, что аж заглянул в свой архив. Нет, похоже, исходники тех программ из прошлого века, где использовались ассемблерные вставки и прямая запись в видеопамять (потому что штатные библиотеки люто тормозили
То есть ты ставишь знак равенства между американской реализацией компилятора (Turbo Pascal), и настоящим компилятором созданным Никлаусом Виртом? А железо на котором ты запускал свои программы, тоже американского производства.
| |
|
2.311, Аноним (-), 18:11, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>ИЧСХ, Паскаль с самого начала не давал программисту делать всё что угодно, а только то, что правильно. Потому что программист делает ошибки. Потому что программист хочет то, что он хочет, а не то, что он пишет. Через 50-60 лет до мэйнстрима дошло.
Проблема не в том, что до мэйнстрима что-то дошло или не дошло. Американцы были против Паскаля. Потому-что это европейский язык программирования. И все идеи идущие от Паскаля они упрямо игнорировали. Иногда они поступали хитро, потихоньку заимствовали идеи европейских учённых в обласи Информатики.
| |
|
1.58, Аноним (58), 13:19, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
> lifetime - запрещены ссылки на освобождённые или неиспользуемые области памяти, разыменование указателей, явный вызов new/delete.
Тут уже поднапряглись авторы и пользователи Qt…
| |
1.59, Аноним (59), 13:20, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Отличная инициатива. Так оно и будет, затащат все основные примочки растов и никто никуда миргировать не станет, моментально отпадет желание переносить огромные пласты легаси кода.
Так от части происходит и с другими платформами. Например java много впитал из scala, и теперь смысла как-то перекатываться на scala особо и нет.
| |
|
2.67, Фнон (-), 13:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Так оно и будет,
Может и будет, вопрос "когда")
Пока комитетчики расшевелятся, пока это попадет в компиляторы...
В некоторых крупных проектах уже полным ходом от дырявых ЯП избавляются - весь новый код пишут на более новых.
Даже через три года, кол-во написанного кода будет достаточно существенным, программисты обучены, процессы настроены.
А лет через 5-6 о возвращении к плюсам можно будет забыть.
| |
|
3.133, Аноним (96), 14:20, 03/03/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Даже через три года, кол-во написанного кода будет достаточно существенным, программисты обучены, процессы настроены.
Сколько там прошло с момента появления rust. А в новостях про переписывальщиков только: паритет по функциональности планируется достич к ...
| |
|
4.155, Аноним (37), 14:36, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> паритет по функциональности планируется достич к ...
Это современный метод ведения бизнеса. Обещать, а концу дедлайна сваливать по горизонтали. Или по-другому. Недавно интервью читал одного деятеля о разработке самолетов. Типа делаем проект 10 лет, признаем устаревшим, начинаем снова. Делаем проект 10 лет, признаем устаревшим и т.д. И ведь прокатывает!
| |
|
5.197, Аноним (96), 15:32, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Отвечу тут:
> Какой паритет?
Паритет функциональности проекта на Си С++ и переписываемого на rust.
Практически везде его никак не могут достигнут.
| |
|
6.200, Аноним (-), 15:35, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Какой паритет?
> Паритет функциональности проекта на Си С++ и переписываемого на rust.
В соседней новости fish переписали с СИ на С++, потом с С++ на раст.
Суда по их блогу паритет сохранен.
> Практически везде его никак не могут достигнут.
А они уже закончили)?
АРТИ (который TOR) стабильно добавляют feature parity.
И по их же словам версия сишки будет сущесвтовать какое-то время, но неминуемо будет дропнута.
| |
|
7.228, Аноним (96), 16:09, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Fish? Возможно. Но.
Насколько я понимаю, сам fish это упрощенная версия командной оболочки. Заточена на интерактивность за счет скриптования. То есть проект уступающий по функциональности тем, кого хотел переписать.
А tor - да, обещают, ... вот-вот...
| |
|
|
|
4.175, Аноним (-), 14:58, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Сколько там прошло с момента появления rust.
Первый стабильный релиз - май 2015.
В андроид добавили в начале 2021 года.
В ядро добавили в октябре 2022.
> А в новостях про переписывальщиков только: паритет по функциональности планируется достич к ...
Какой паритет?
В расте уже возможностей больше чем в дыряшке или плюсах - у вас есть там паттерн матчинг? А нормальная работа со строками? А линейные типы?
Чего в расте меньше, так это возможностей отстрелить себе ногу, по самую опу.
| |
|
5.327, Вася Пупкин (?), 18:38, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
а еще помимо языка удобный тулинг, стандартизированный подход к тестам, доке и бенчмаркам.
| |
|
|
|
2.114, Аноним (98), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>и теперь смысла как-то перекатываться на scala особо и нет
Джависты не перекатываются на скалу ни когда в этом смысла нет, ни когда смысл есть
| |
|
1.66, Прохожий (??), 13:26, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> запрещены ... явный вызов new/delete
Всегда так делал и буду делать. Мне так удобно контролировать выделение/освобождение памяти. Кстати, GCC предупреждает, если в программе для объекта есть new, но нет delete.
| |
|
2.71, Аноним (-), 13:31, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
А если delete в другой функции. Или на другом потоке.
Неужели GCC все проверяет?
Или это топорная проверка в узкой областе видимости?
| |
|
3.75, Прохожий (??), 13:35, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
У меня в проекте проверяет. Но проект собирается из исходников, хотя и по частям.
| |
|
4.76, Прохожий (??), 13:36, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> А если delete в другой функции.
Нет, delete в той же функции. Функция исполнилась - освобождает ресурсы, которые выделяла. Результаты проверяет.
| |
|
5.180, inklesspen (ok), 15:08, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
ИМХО неудобно контролировать каждый указатель. Про что-то можно и забыть.
Любая функция с каким-никаким ветвлением (с учетом, что исключения - тоже вид ветвления) превращается в кусок полусишного кода с функционалом плюсов, поскольку тебе нужно:
+ Освободить указатель, если произошло исключение
+ Освободить указатель при преждевременном return'е
+ Не забыть то же самое в циклах
Даже такой кусок кода может содержать утечку:
'''cpp
void foo()
{
auto a = new int(2);
auto b = new int(3);
delete a;
delete b
}
'''
Умные указатели избавляют от этих проблем. До тех пор пока не ошибся с семантикой перемещения.
| |
|
6.251, Аноним (199), 16:45, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>ИМХО неудобно контролировать каждый указатель. Про что-то можно и забыть.
Если забыть, то в данном случае, напомнит статический анализатор кода?
| |
|
5.258, Аноним (98), 16:54, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Функция исполнилась - освобождает ресурсы, которые выделяла
Очень интересно, как вы собираетесь в той же функции освобождать ресурсы, если их планируется возвращать наружу. Или вы постоянно копируете данные туда-сюда?
| |
5.388, Аноним (388), 20:15, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
почему тогда operator new() не освобождает ресурсы, когда исполнился?
| |
|
4.80, Прохожий (??), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
А вообще, считаю высшим пилотажем, когда вычисления производятся в тех же массивах, что были переданы в функцию (например, в некоторых алгоритмах линейной алгебры или теории дифференциальных уравнений). Хотя, конечно, о разрушении исходных массивов программист должен быть предупрежден.
| |
|
5.92, Аноним (92), 13:50, 03/03/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
высший пилотаж :D
тебе что 20 лет, как можно быть таким зелёным?
| |
|
6.100, Аноним (37), 13:57, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Да, зеленый он совсем. То ли дело, взять готовую библиотеку, которая хрен знает как и что считает, написать обвязку на Python и выдать на-гора готовый продукт. Всё равно никто пользоваться не будет.
| |
|
5.105, laindono (ok), 13:59, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Неужели это настолько сложно делать в C++, что это считается чем-то... стоящим упоминания?
> Хотя, конечно, о разрушении исходных массивов программист должен быть предупрежден.
Звучит так, будто у вас до сих пор нет нормальной документации. Опять же, что значит "разрушение исходных массивов"? Это типа вот так:
fn do_some_math<'a>(input: &'a mut [f32]) -> &'a [f32]
Я для наглядности оставил маркер времени жизни, но оно так по умолчанию работает в данном конкретном случае (все 'a для наглядности). Тут буквально сказано, что функция использует входной кусочек памяти в качестве выходного кусочка памяти. И все подводные камни, связанные с таким использованием проверяются на уровне компиляции.
| |
|
6.131, Аноним (-), 14:19, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это не подойдет, по многим причинам:
- у дедов уже зрение не то, они просто не видят мелкие символы
'
- других просто пугают незнакомые значки
- да и это же надо подумать заранее, а то компилятор будет ругаться
| |
|
7.168, laindono (ok), 14:47, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Дедов на поддержку легаси можно оставить.
> да и это же надо подумать заранее, а то компилятор будет ругаться
Лучше думать один раз при создании интерфейса, чем каждый раз при использовании интерфейса. И уж точно лучше, чем думать, как исправить ситуацию, где все начинают шутить шутки про дырени и показывать на тебя пальцем.
| |
|
6.172, Аноним (107), 14:54, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Когда сидишь на диване и палец об палец не ударяешь, всё предельно просто
| |
6.181, Аноним (388), 15:08, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> fn do_some_math<'a>(input: &'a mut [f32]) -> &'a [f32]
У тебя ошибка, растолюб.
Правильно вот так:
fn do_some_math<'&^$a>(input: &!@#$'a mut [f32]) -> &()&%#'\'a [f32]
| |
|
7.183, laindono (ok), 15:17, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
В реальном коде этот конкретный случай вот так выглядит:
fn do_some_math(input: &mut [f32]) -> &[f32]
На сишечке скорее всего что-то такое будет:
void do_some_math(float*const input, int input_length, float**const output, int*const output_length);
| |
|
8.218, Аноним (388), 15:56, 03/03/2025 [^] [^^] [^^^] [ответить] | +2 +/– | Растолюб, почему у тебя длинна знаковая в примере на Си Вы же типа, в отличие о... текст свёрнут, показать | |
|
|
|
|
|
|
|
1.89, Аноним (93), 13:48, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
> lifetime - запрещены ссылки на освобождённые или неиспользуемые области памяти
Ну, и как он предлагает этого достичь? Да еще и во время компилиции? Ну вот банальное типа:
const int& i = std::max(x, 10);
Сори, но у плюсов родовые травмы от С: в языке фундаментально не заложена безопасность - ни при работе с ресурсами, ни с арифметикой.
| |
|
|
|
4.277, yet another anonymous (?), 17:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Да. Ссылка на литерал не есть хорошая идея.
Но С++ --- мультипарадигменный язык. Для тех кто не понимает (или не хочет понимать), что происходит, других языков понаделали. Там следят не только чистотой конструкций, но и за мыслепрес^W правильной областью применения этих языков.
| |
|
5.344, Аноним (344), 18:49, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Да. Ссылка на литерал не есть хорошая идея.
Как ты себе представляешь запрет возвращения ссылок? Ты не понимаешь, что людям придется переписывать весь плюсовый код, включая стандартную библиотеку?
И да, проблема с кодом выше не в лтюитерале как таковом: любой временные объект в этом случае имел бы тот же эффект. Потому что язык г*о, и пулю ты из него, увы, уже не сделаешь.
| |
|
4.278, Аноним (49), 17:38, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
OK, конкретно в этом коде
>> const int& i = std::max(x, 10);
ошибки нет. Константная ссылка слева продлевает время жизни возвращаемого rvalue.
| |
|
5.335, Аноним (344), 18:44, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Константная ссылка слева продлевает время жизни возвращаемого rvalue.
Нет, не продлевает.
| |
|
|
|
|
1.166, хрю (?), 14:47, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ага то есть был язык с++, наверно, самый переусложнённый из ныне используемых, а будет ещё и ещё переусложнённый? Причём обработка даже какого-нить utf8 на стандартных библиотеках какой-от цирк с конями. Далеки это трупы страусов от народа. Уж лучше пусть даже хруст будет.
| |
|
|
3.330, Вася Пупкин (?), 18:41, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
но большинство мейнстрим языков его смогли осилить, хоть даже и через боль. кто не смог скоро отомрет, раз плохо умеет адаптироваться?
| |
|
|
1.176, slew (ok), 15:02, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
На современном С++ (вернее, на стандарте 11 и выше) вообще можно писать как на питоне. Чуть ограничить совместимость с С-шными практиками, и это все что нужно, чтоб несиляторы не наделали себе в штаны. А то понаберут несоиляторов, вроде тех небинарных из мозиллы, которых к программированию просто нельзя подпускать. А те потом верещат на весь тырнет, что это ЯП-ы плохие, а не они бараны.
| |
|
2.211, Арман (?), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это ещё они про MISRA не слышали — вообще массовый подрыв произошёл бы.
| |
2.333, Вася Пупкин (?), 18:43, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>На современном С++ (вернее, на стандарте 11 и выше) вообще можно писать как на питоне.
С 14ю способами инициализации, ага.. что еще с чем сравнишь?
| |
|
3.350, slew (ok), 19:00, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>С 14ю способами инициализации, ага..
Выбери один по вкусу, и используй только его. Или абы чо ляпнуть?
| |
|
4.381, Bottle (?), 20:11, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Проблемы начинаются при использовании чужих библиотек - и вдруг тебе оказывается нужным выучить все нюансы каждого способа инициализации.
| |
|
|
2.337, Аноним (-), 18:45, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
>небинарных из мозиллы, которых к программированию просто нельзя подпускать.
Что за стереотипы. Откуда ты лохматый такой? Из пещеры?
| |
2.376, хрю (?), 20:02, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> На современном С++ (вернее, на стандарте 11 и выше) вообще можно писать
> как на питоне. Чуть ограничить совместимость с С-шными практиками, и это
> все что нужно, чтоб несиляторы не наделали себе в штаны. А
> то понаберут несоиляторов, вроде тех небинарных из мозиллы, которых к программированию
> просто нельзя подпускать. А те потом верещат на весь тырнет, что
> это ЯП-ы плохие, а не они бараны.
Можете предоставить ссылку на свою проект в котором с++ раскрывается как простой и понятный ЯП, чтоб мы "бараны" смогли приобщиться в прекрасному? Или будет как всегда? :D
| |
|
1.184, Аноним (184), 15:18, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Вообще говоря, авторы Си задумывали так, что программы на Си будут использоваться со сборщиком мусора.
По признанию самого Кернигана, ни одна программа на Си не должна превышать 500-1000 строк и в программе не будет более 1-2 вызовов malloc.
А всё, что крупнее, будет уже обвязками на shell вокруг маленьких Си программ.
| |
|
2.213, Аннноним (?), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Хм, весьма интересно, а нет какой-нибудь ссылки на исходник или около того? Хотел бы детальнее ознакомится с вопросом
| |
|
3.296, Аноним (184), 17:58, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
AWK programming language, Aho/Kernighan/Weinberger.
The Unix Programming Environment, тот же Kernighan.
Вторая книга особенно показательна, проводится в пример, например, troff, который состоит из десятка маленьких программ, соединённых пайпами.
AWK это вообще по сути C со сборщиком мусора.
В первой же утверждается, что на AWK можно решить большую часть нужных в повседневной жизни задач. Ну, а небольшое количество оставшихся, чувствительных к скорости, да, придется на Си.
| |
|
2.280, Аноним (388), 17:38, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ага, верим. Особенно учитывая что Си создавался чтоб переписать UNIX с/на PDP11. Включая его ядро. Ядро с не более 1-2 malloc'ами и не длинее 1000 строк, и обвязки в ядре(!) на шелле(!) - это реально круто, без стёба (нет)
| |
|
3.300, Аноним (184), 18:02, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
При чём тут ядро?
Во-первых, ядро тогда было сильно меньше.
Во-первых, в ядре не так много malloc'ов.
В-третьих, специально чтобы избежать большого количества кода в ядре, как раз и была придумана концепция "всё есть файл", чтобы драйвера были не сложными монстрами с кучей системных вызовов, а просто маппили устройство на файл, и дальше пусть юзерспейс разбирается.
Обычный программист почти никогда не пишет ядерный код, поэтому ваша критика ну совсем пустая.
| |
|
4.320, Аноним (388), 18:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Изначально вброс был, что Си создавался чтоб писать проги не длинее 1000 строк и с 1-2 malloc'ами. Но Си создавался чтоб портировать UNIX, а не для того что ты только что придумал.
> В-третьих, специально чтобы избежать большого количества кода в ядре, как раз и была придумана концепция "всё есть файл", чтобы драйвера были не сложными монстрами с кучей системных вызовов, а просто маппили устройство на файл, и дальше пусть юзерспейс разбирается.
Плйать, да откуда ты всё это берешь? Почему тогда физические сетевые интефрейсы не файлы /dev? А если все было бы не файл, а просто в памяти лежало без отражения на фс, то syscall'ы бы не работали?
З.Ы. Напишешь amdgpu.ko чтоб не больше 1000 строк там было? Ну или может ядерный гипервизор?
| |
|
5.331, Аноним (-), 18:42, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Чо так возбудился-то? Он просто процитировал мнение Кернигана, из книги написанной самим Керниганом. Кстати, Керниган не дурак и дельные вещи говорит.
| |
5.416, Аноним (416), 20:55, 03/03/2025 [^] [^^] [^^^] [ответить] | +/– |  Не вижу противоречий, а вот ты что-то себе придумал о UNIX https github com... большой текст свёрнут, показать | |
|
|
3.421, Аноним (416), 21:17, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Ага, верим. Особенно учитывая что Си создавался чтоб переписать UNIX с/на PDP11.
Ты эта, посмотри старенькие сишные "API" и ответь нам, хипстрорам, на один вопрос:
почему в структах (когда-то) было принято добавлять префиксы к названиям полей:
[CODE]
struct tm {
int tm_sec; /* seconds after the minute [0-60] */
int tm_min; /* minutes after the hour [0-59] */
struct ar_hdr {
char ar_name[16]; /* name */
char ar_date[12];
struct sockaddr {
unsigned char sa_len; /* total length */
sa_family_t sa_family; /* address family *
[/CODE]
Потом еще раз подумай над своим яростным "неверю, вы фсе врети!"
| |
|
2.378, хрю (?), 20:06, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Вообще говоря, авторы Си задумывали так, что программы на Си будут использоваться
> со сборщиком мусора.
> По признанию самого Кернигана, ни одна программа на Си не должна превышать
> 500-1000 строк и в программе не будет более 1-2 вызовов malloc.
> А всё, что крупнее, будет уже обвязками на shell вокруг маленьких Си
> программ.
Именно так. си создавался в парадигме unix - простой язык для простых программ которые делают только одну вещи и связываются через шел. И для этой цели он прекрасно подходит. Только вот аффторы с++ ставили своей целью объять не объятое и сделать яп на котором можно сделать всё на свете и без потери производительности. Ну и в итоге получилось то что получилось.
| |
|
3.446, Аноним (384), 23:15, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> аффторы с++ ставили своей целью объять не объятое и сделать яп на котором можно сделать всё на свете и без потери производительности
На момент появления C++ (а это уже ближе к середине 80-х) язык C далеко ушёл за рамки "маленьких" утилит в 1000 строк. Язык C++ - это примерно тот же C, только с возможностью ООП и мелочевкой (вроде перегрузки функций, inline и т.д.). А чуть позже и ещё с разными плюшками вроде исключений, шаблонов и т.д.
В целом на C++ можно сделать всё, что можно сделать на C. Только потребление памяти повыше выходит (в основном из-за шаблонов и способов реализации inline). Первые версии C++ вообще компилятора не имели и просто переделывали C++ в программу на C, которая потом компилилась обычным C-компилятором.
| |
|
|
1.185, Аноним (185), 15:18, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Вот думаю.. если ИИ начнет писать код, то скоро требование человекочитаемости станет не важным... Тогда зачем все эти новые стандарты?
| |
|
2.217, Аноним (217), 15:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Не начнет, сейчас только общий код выдает, который надо много править.
А если начнет то тостеры будут писать композиции произведения получше людей, что обесценит это.
| |
2.316, slew (ok), 18:22, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>если ИИ начнет писать код
ИИ не будет писать код, если ему задачу не поставить. И задачу нужно будет ставить однозначно и в подробностях, если это не хелловрот. И вот тут начинают говорить про ЯП, который почти как естесвенный ЯП, на котором будут ставить задачи ИИ, а тот уже сразу генерить машинный код. То есть, ИИ как компилятор, и ЯП почти как естественнй язык, на котором погроммисты будут расказывать ИИ что и как должна делать прога. Это не грезы, а уже обозначенный вектор развития софтоклепства с применением ИИ. Вот это тема. Сразу в динозавры все прошлые практики погроммирования.
| |
|
3.351, Аноним (96), 19:01, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Э... галюцинированние без которого невозможно ни одно ИИ как на разработку ложится?
| |
|
4.427, slew (ok), 21:44, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Э... галюцинированние
Не беспокойтесь. Чуваки еще лет пят поколдут с матрицами, ембедингами и кучей остальных приколов типа "внимания", и галюцинаций не будет.
| |
|
|
|
1.191, Ivan_83 (ok), 15:27, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Даёшь ещё больше сахару в ЯП!!!!
> Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции
Так а кто ж раньше то мешал это юзать?)
| |
|
|
3.291, Ivan_83 (ok), 17:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
А настройки профилей это не расширяет список того что надо знать и прописывать куда то?
| |
|
|
1.220, Аноним (220), 15:58, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Очень даже логично заюзать флаги при компиляции, не ломая кода
Хочешь пиши Си с классами, хочешь C++
| |
|
2.329, Аноним (-), 18:39, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Хочешь пиши Си с классами
Так не делай, сразу пиши мета-код в соответствии с последним стандартом.
| |
2.370, чатжпт (?), 19:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Хочешь пиши Си с классами, хочешь C++
и получится лапша из смеси того и другого обмазаная CVE, что собственно практика и показывает
| |
|
1.221, Нуину (?), 16:00, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры
Смешно. Там просто ГОРЫ важного кода на С++ и С, который никто не будет переписывать. Разве что с помощью AI. Но они даже крипту осилить не могут пока.
| |
1.223, Нуину (?), 16:02, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Сейчас все навалятся на раст, потребуют чего не хватает. Раст скатится в еще больщее УГ. Все ошибки все равно ловить не будет. Потом будете сами стонать раст - не торт! Скриньте.
| |
1.225, Big Robert TheTables (?), 16:03, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Они так уже с TCP на OSI переходили, даже целый RFC наваяли, №1169 - с дедлайном август 1990го.
В айти такое форсирование не работает.
| |
|
2.271, Аноним (-), 17:19, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> В айти такое форсирование не работает.
Работает, но не в контексте TCP.
Просто на тендер не допустят часть фирм. А другие пройдут.
Есть маленькая веротяность, что на тендер нитко не придет, но учитывая суммы - это очень-очень-очень маловерятно))
| |
|
1.275, Аноним (275), 17:32, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
>Агентство по кибербезопасности и защите инфраструктуры США и ФБР стали более активно продвигать среди производителей ПО идею перехода на языки, безопасного работающие с памятью.
Теперь все стало понятно.
| |
1.284, Аноним (-), 17:45, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Тот кто раньше писал что допилят C++ чтобы сделать безопасным и что будет такая идея был прав однако.
| |
1.290, Аноним (290), 17:52, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Так других вариантов и нет. Бьёрн Страуструп абсолютно прав. Нужно допиливать инструменты.
| |
1.292, Аноним (292), 17:53, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
> язык С++ уже содержит все возможности
Нихрена он не содержит. Во-первых, о какой безопасности можно говорить без поддержки лайфтаймов в синтаксисе? А без явной связи мутекса с данными которые им синхронизируются? Сделайте хотя бы чтобы нельзя было обращаться к moved-from объектам, пока это вообще абсолютно легальное поведение.
| |
|
2.301, Аноним (32), 18:03, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Если это будет отключаемой или опциональной возможностью никто пользоваться не будет.
| |
|
3.306, sena (ok), 18:06, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Если это будет отключаемой или опциональной возможностью никто пользоваться не будет.
Будут когда государство при закупке напишет в тендере, что софт должен компилироваться с этой опцией,
| |
|
|
1.354, Аноним (354), 19:07, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Rust это не только про безопасную работу с памятью, но и про оптимизацию работы с памятью. Получится ли в C++ при включении безопасного профиля автоматически применять __restrict к указателям?
| |
|
2.360, Аноним (360), 19:18, 03/03/2025 [^] [^^] [^^^] [ответить]
| +9 +/– |
Допустим нет, не получится. Тогда получается, что раст отстой потому что в LLVM __restrict не будет применяться к уккзателям автоматически, а раст компилируется LLVM'ом.
| |
|
1.366, Аноним (290), 19:38, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
А почему бы и в самом деле не реанимировать Паскаль? К нему претензий нет у Агентства по кибербезопасности и защите инфраструктуры США и ФБР.
Паскаль приятнее ржавчины во всех отношениях.
| |
|
2.371, anguest (?), 19:49, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Он никуда не девался, FreePascal потихоньку что то там пинают еще оставшиеся в живых олды. Сам пару лет назад делал один проект на нем и даже получилось лучше всех новомодных шляп. Но время идет.. теперь копаюсь в rust и go, так как ума не хватило осилить сборку проектов кhоме как в IDE паскаля. Если интересно покопать, CodeTyphon вам в помощью.
| |
|
3.374, Аноним (290), 19:56, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это лишь вопрос финансирования. На Паскале очень много всего написано, в отличие от Го и Раста. По любому далеко не всем понравится ковырятся в синтаксисе Раста, поэтому возрождение Дельфи - уже не звучит как шутка.
| |
|
2.373, Аноним (290), 19:51, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Пруф: “Software Memory Safety” Cybersecurity Information Sheet
https://media.defense.gov/2022/Nov/10/2003112742/-1/-1/0/CSI_SOFTWARE_MEMORY_S
Цитата: "Examples of memory safe language include Python®, Java®, C#, Go, Delphi/Object Pascal, Swift®, Ruby™, Rust®, and Ada"
Лучший кандидат на замену Си++ - это Паскаль. На втором месте Го. Раст - это если уж совсем нет вариантов.
| |
2.380, eugene_martein (ok), 20:09, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
interface
type
TCustomClass = class
FSomeOtherClass: TSomeOtherClass;
public
function GetOtherClass: TSomeOtherClass;
constructor Create;
destructor Destory; override;
end;
implementation
uses
Classes;
//----------------------------------------------------------------
constructor TCustomClass.Create;
begin
FSomeOtherClass := TSomeOtherClass.Create;
end;
//----------------------------------------------------------------
destructor TCustomClass.Destroy;
begin
FreeAndNil(FSomeOtherClass);
end;
//----------------------------------------------------------------
function TCustomClass.GetOtherClass: TSomeOtherClass;
begin
Result := FSomeOtherClass;
end;
//----------------------------------------------------------------
var
customClass: TCustomClass;
someOtherClass: TSomeOtherClass;
begin
customClass := TCustomClass.Create;
try
someOtherClass := customClass.GetOtherClass;
finally
FreeAndNil(someOtherClass);
FreeAndNil(customClass);
end;
end.
//----------------------------------------------------------------
Счастливой отладки, motherfucker.
| |
2.382, Ан Оним (?), 20:11, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Во Free Pascal'е нет интеллектуальных указателей, там всё должно быть написано явно и вручную, нет автоматизации. Он хорошо подходит для обучения основам программирования, но для фирм самое главное - скорость программирования и он не подходит, потому что вручную освобождать, нет функционального программирования, нет перегрузки операторов
| |
|
|
4.392, Ан Оним (?), 20:21, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
АНБ это сказала про Delphi, а в нём есть интеллектуальные указатели и много чего.
| |
|
3.394, Аноним (290), 20:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Да, он многословен, нет тех "ништяков" которые давно завезли в Си++. Мне Си++ тоже больше нравится.
Получается, что "безопасность" - это чисто когда искусственно что-то ограничивают в мейнстриме?
Тогда почему бы просто не выработать гайдлайн безопасного программирования на Си++ и его строго придерживаться?
При чём тут язык вообще?
| |
|
4.397, Ан Оним (?), 20:30, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так я и говорю что дело не в языке, а в индустрии. В целях, в приоритетах.
| |
4.418, Facemaker (?), 21:12, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Тогда почему бы просто не выработать гайдлайн безопасного программирования на Си++ и его строго придерживаться?
Офигеть как просто ☺. Сначала выучи Стандарт (ты не можешь быть квалифицированным C++-программистом, не зная Стандарт, ведь не можешь?). Потом выучи "гайдлайн безопасного программирования" такого же объёма. Ну, а потом просто программируй, не делая ошибок.
| |
|
5.420, Аноним (290), 21:17, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так Бьёрн Страуструп как раз и предлагает для этих целей инструментальное упрощение в виде профилей.
| |
|
|
3.444, нет ты (-), 22:59, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>нет функционального программирования
В свежих делфях есть лямбды, дженерики и циклы на итераторах — самый минимум чтобы начать функциональное мракобесие в коде.
Но вообще очень хорошо, что у паскаля слава процедурного и объектного языка. Он оазис чистоты подхода в мультипарадигменном болоте языков тащащих все самое модное без разбора. А функциональщина в целом это тупик — мозгового онанизма много, а практического смысла мало.
| |
|
4.450, Аноним (290), 23:28, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Но вообще очень хорошо, что у паскаля слава процедурного и объектного языка.
> Он оазис чистоты подхода в мультипарадигменном болоте языков тащащих все самое
> модное без разбора.
Золотые слова.
Язык для эффективного решения задач.
А у Си++ был главный фейл: уродливое изобретение Саши Степанова - библиотека STL, чрезменное увлечение шаблонным метапрограммированием по лунным заветам Александреску, куча многословных выражений, чего стоит постоянное std:: , постоянный оверинжениринг в проектах.
Причесать Си++ до вменяемого вида вполне реально, но это уже будет не Modern C++ style.
| |
|
|
|
1.395, Ан Оним (?), 20:28, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Я поддерживаю Страуструпа, профили с отключением фич хоть чуть-чуть, но сделают программы надёжнее. Хотя ... проблема даже не в конкретном языке, а в индустрии.
| |
1.399, Аноним (433), 20:35, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Пока не понятно, кто-нибудь может объяснить. То есть включаешь lifetime и двухсвязный список перестаёт билдится или будет некий unsafe режим?
| |
|
2.429, Аноним (384), 21:46, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это же не стандарт, это предложение Страуструпа. Он конечно в комитете сидит как почётный и пожизненный, но это одно из предложений. Аналогичных предложений уже штуки 3-4 было и по разным причинам их заворачивали, или отправляли на доработку. Это ещё около года будут обсуждать и может быть тоже завернут.
Конкретно Страуструп сказал, что надо так:
> Привязку к профилям можно задавать не только для проекта и файлов (например, "[[profile::enforce(type)]]"), но и включать/отключать на уровне отдельных конструкций (например, "[profile::suppress(lifetime))] this->succ = this->succ->succ;").
Ну т.е. можешь отдельные инструкции пометить как "проверено, всё ок". Можешь для всего файла отключить, можешь для всего проекта отключить (а так по контексту новости - скорее "не включать").
| |
|
1.415, zeecape (ok), 20:53, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Пока ещё не поздно всё это ввести, главное чтобы не тянули до последнего
П.С: Даже если С++ умрёт, я всё равно буду его любить :heart:
| |
1.435, ZloySergant (ok), 21:59, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>(например, "[profile::suppress(lifetime))] this->succ = this->succ->succ;"
И эти люди называют Common LISP нечитаемым?
| |
1.437, warlock66613 (ok), 22:13, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> arithmetic - блокируются целочисленные переполнения, запрещены знаковые/беззнаковые преобразования, изменяющие значение
Допустим мне нужно получить младший байт двухбайтового слова. И как это сделать без преобразований, изменяющих значение? Ну то есть да, я-то могу сообразить, что в static_cast<uint8_t>(x & 0xFF) приведение не изменяет значение, но как компилятор об этом догадается? А раз не догадается, то придётся писать [profile::suppress(arithmetic))]? Но тогда пропадает почти весь смысл затеи.
Для сравнения в Rust это пишется как u8::try_from(x & 0xFF).unwrap() и если лажанул, будет паника.
| |
1.443, Ан Оним (?), 22:57, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Некоторые тут уже собрались хоронить С++, я скажу - подождите. Смотрите, есть компания Red Hat, она лидер в мире Linux-дистрибутивов, и она делает новую версию менеджера пакетов DNF 5 на С++ (не на Rust'е!) и переписывать его на Rust не собирается.
https://github.com/rpm-software-management/dnf5
Привязки для Python уже есть, для Perl и Ruby в разработке, а для Rust'а не только нет, но и не планируются даже. Так что старичку С++ ещё придётся помучатся ...
| |
1.448, Аноним (448), 23:23, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Тут, наверное, кто-нибудь уже пошутил про раннее зажигание насчёт первого апреля?
| |
|