|
2.2, НяшМяш (ok), 12:22, 03/03/2025 [^] [^^] [^^^] [ответить]
| +15 +/– |
Но ведь раст не настоящий язык, почему такая реакция /s
Дидов корёжит и это хорошо. В результате выиграют все.
| |
|
3.6, Аноним (6), 12:27, 03/03/2025 [^] [^^] [^^^] [ответить]
| +6 +/– |
От этого выиграет даже раст, которой без C++ного LLVM может примерно ничего.
| |
3.12, анонд (?), 12:33, 03/03/2025 [^] [^^] [^^^] [ответить]
| –13 +/– |
Rust конкурент C т.к. в обоих языках нет ОПП в принципе. ООП черты имитируются и там, и там очень похоже.
Go норм - на нем держится инфраструктура вроде Kubernetes, Docker, Helm, Prometheus, Grafana и тд. Java в морг, но C# норм. Ruby фтопку, уж лучше Python. SWift не пробовал никогда. Довольно нишевой, для macOS/iOS.
| |
|
|
5.199, Аноним (199), 15:34, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
В каких-то Бейсиках было обращение к адресам памяти - небезопасТно.
| |
|
4.29, Аноним (29), 12:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| –5 +/– |
> Rust конкурент C т.к. в обоих языках нет ОПП в принципе.
на Rust не написать ничего подобного seL4, а ООП не нужен в принципе
| |
|
5.466, Аноним (466), 01:44, 04/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
На язике программирования нельзя написать программу. Подробней в новостях в 23.
| |
|
6.595, Аноним (29), 21:47, 04/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> На язике программирования нельзя написать программу
sel4 написали на С за 2 месяца, но сделать полную верификацию кода на расте у тебя памперс переполнится
| |
|
|
4.37, Аноним (37), 13:05, 03/03/2025 [^] [^^] [^^^] [ответить]
| +7 +/– |
> уж лучше Python
для системных скриптов - да. Но проблема в том, что им жестко заcpaли области программирования, для которых его применение сомнительно.
| |
|
5.440, Аноним (440), 22:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> для системных скриптов - да. Но проблема в том, что им жестко заcpaли области
> программирования, для которых его применение сомнительно.
Черта с два. Из за вечных проблем с версиями - для этого он полный отстой.
| |
5.442, Аноним (442), 22:50, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>для системных скриптов - да. Но проблема в том, что им жестко за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 [^] [^^] [^^^] [ответить]
| +/– |
Не понял, какая связь с моим сообщением. Намёк на то, что на Си++ можно написать паттерн синглтон?
| |
|
|
|
|
|
|
12.319, n00by (ok), 18:26, 03/03/2025 [^] [^^] [^^^] [ответить] | –1 +/– |  Я знаю, что цитаты из стандарта Си на тему ООП быть не может -- этим валят джу... текст свёрнут, показать | |
|
|
|
|
10.507, n00by (ok), 08:23, 04/03/2025 [^] [^^] [^^^] [ответить] | +/– |  Эксперт информирует, что ему удалось найти единственное вхождение object-orient... большой текст свёрнут, показать | |
|
|
12.542, n00by (ok), 12:53, 04/03/2025 [^] [^^] [^^^] [ответить] | –1 +/– |  Я привёл пример, какая цитата мне нужна Если корму не ясно, то в примере опреде... текст свёрнут, показать | |
|
|
|
|
|
|
|
5.509, Прохожий (??), 08:43, 04/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>В Си++ нет ООП в принципе. ООП черты имитируются. Слова "метод класса" могут оказаться последними.
Не могли бы вы пояснить, что такое принципиальное наличие ООП в языке программирования? То есть, какие критерии могли бы свидетельствовать о том, что в данном языке ООП не имитируется, а является частью языка?
| |
|
6.541, n00by (ok), 12:48, 04/03/2025 [^] [^^] [^^^] [ответить] | –2 +/– |  С превеликим удовольствием попробую Предположим, мы решили, что модель объекты... большой текст свёрнут, показать | |
|
7.583, Аноним (-), 19:23, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Предположим, мы решили, что модель "объекты, обменивающиеся сообщениями" лучше прочих
> подходит для решения наших задач.
А вы тут что, истина в последней инстанции за всех решать?
Под ООП обычно понимают - что угодно, но не "обмен сообщениями", хоть вы там тресните с досады.
| |
|
8.586, n00by (ok), 20:07, 04/03/2025 [^] [^^] [^^^] [ответить] | +/– |  Истина в том, что Аноним упорно не видит и не понимает слово предположим А вы... текст свёрнут, показать | |
|
7.602, Прохожий (??), 02:46, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Как-то очень мутно получилось. Неясности:
1. Где можно посмотреть стандартное определение, что такое ООП? Вы о нём так уверенно говорите, но не проводите источники. Smalltalk? Это ИСТИННЫЙ стандарт? А Питон или Руби уже нет? Если да, то почему вы так решили?
2. Если язык А поддерживает только фичи из ООП, а язык Б поддерживает ещё что-то (например ФП), но и ООП тоже, пусть и в меньшем объёме, то почему язык Б нельзя считать таким который не занимается имитацией, а поддерживает ООП, так сказать, нативно? Всё дело в объёме поддержки? Или есть ещё какие-то критерии? Нет, я внимательно прочитал ваше объяснение. Вы там говорите о соответствии некой модели. Но этот критерий очень и очень неочевидный (см. п.1).
| |
|
|
|
10.637, n00by (ok), 11:39, 06/03/2025 [^] [^^] [^^^] [ответить] | +/– |  Мне ехать Я стандарт читал не от нечего делать, а что бы реализовать в нём напи... большой текст свёрнут, показать | |
|
|
|
|
|
|
4.70, laindono (ok), 13:31, 03/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
В rust другая вариация ООП. Нет классов. Нет наследования. И то и другое есть хорошо. Плюс ООП не является доминирующей частью rust, которая диктует, как писать весь код. Оставаясь при этом инструментом на каждый день.
| |
|
|
|
7.257, penetrator (?), 16:51, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
тебе никто не мешает использовать композицию вмест с наследованием
не нужно заменять наследование композицией, и наборот
если использовать не подходящий вариант, то можно испортить что угодно
а вот отсутствие такой возможности в принципе уже накладывает констрейнты на проектирование
| |
|
|
5.98, Аноним (98), 13:54, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>В rust другая вариация ООП.
Не нужно изобретать свою собственную терминологию.
| |
|
|
7.148, Аноним (96), 14:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
ООП для части - "поднятие солнца руками"
ООП для другой части - мы поднимаем НОЧЬЮ прожектор и глядите - он как солнце
Если чего-то сделать нельзя - это не достоинство - это недостаток. Хотя, кому я это говорю.
| |
|
|
|
|
11.598, Аноним (-), 23:15, 04/03/2025 [^] [^^] [^^^] [ответить] | +/– | Чтоб утратить понимание что реально происходит в плане работы с железкой и патте... большой текст свёрнут, показать | |
|
|
13.638, Аноним (638), 11:40, 06/03/2025 [^] [^^] [^^^] [ответить] | +1 +/– | И в этих 20 в случае раста придется очень помучаться Де факто, написать такой ... большой текст свёрнут, показать | |
|
|
|
|
9.242, Аноним (98), 16:27, 03/03/2025 [^] [^^] [^^^] [ответить] | –1 +/– | Давайте не смешивать в одну кучу разные понятия ООП вполне себе может жить и в ... текст свёрнут, показать | |
|
|
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 [^] [^^] [^^^] [ответить]
| –2 +/– |
Потому что профессиональных, квалифицированных программистов знающих СИ, С++ становится всё меньше, а им на смену приходят вкатуны просле курсов, которые кроме Pyton не знаю ничего. Скоро всё будет на Pyton и тебе будут рассказывать что C++ не безопасен, а Pyton идеально подходит.
| |
|
6.189, Имя (?), 15:22, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Потому что полно людей, для которых ЯП и программирование в целом вторичны по отношению к их основной специальности, всякие там млщики, математики и ученые. Им нецелесообразно разбираться какая там модель памяти в языке и как нужно классы отнаследовать, чтобы код был расширяемым. Лучше потратить время на развитие основных скиллов. Те же самые люди, которые напишут код на С вообще без отступов.
Вот для них питон как раз хороший выбор и вкатывание ни при чем.
| |
6.247, Аноним (98), 16:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Потому что профессиональных, квалифицированных программистов знающих СИ, С++ становится всё меньше
Вот как раз такие проекты и подвержены заражению питоном. Взять тот же vim - зачем ему питон? Или apparmor? Да что там, даже uBlock зачем-то заразился питоном, хотя у них уже есть js, могли бы и без питона обойтись.
>и тебе будут рассказывать что C++ не безопасен
Да, кресты небезопасны. Это неоспоримый факт, как бы вы к этому не относились
| |
6.253, User (??), 16:47, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это еще что! Тут вот набИгают неспособные название - название, Карл! языка программирования выучить...
| |
6.520, Прохожий (??), 09:18, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Стесняюсь спросить. А знатоки Джаваскрипт - это какая категория людей по вашей классификации? На всякий случай. Там есть скобочки, и отступы не обязательны.
| |
|
|
|
3.226, Нуину (?), 16:04, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Дидов корёжит и это хорошо.
Судя по таким комментариям - корежит только их авторов.
| |
|
2.5, kravich (ok), 12:26, 03/03/2025 [^] [^^] [^^^] [ответить]
| +7 +/– |
>Профили близки к применению флагов "-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 [^] [^^] [^^^] [ответить]
| +1 +/– |
А ребята с той оборонки (?), что эти требования сформулировали (под определённую часть цифровиков), свои стулья сохранили в нынешней обстановке?
| |
|
5.270, Аноним (-), 17:17, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А ребята с той оборонки (?), что эти требования сформулировали (под определённую
> часть цифровиков), свои стулья сохранили в нынешней обстановке?
Думаешь придут новые и скажут "а давайте писать как диды, ну чтобы китайские и корейские хакеры нас ломали полностью!"
Хотя учитывая какой там сейчас сброд, то не удивлюсь)
| |
|
6.357, yet another anonymous (?), 19:14, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> "а давайте писать как диды, ну чтобы китайские и корейские хакеры нас ломали полностью!"
Я придерживаюсь мнения, что новые веяния направлены на одновременное упрощение/унификацию внедрения и точное тагетирование объекта атаки. Это экономически целесообразнее, да и требует куда меньшей квалификации от атакующих. При современных реалиях разработки, естественно.
| |
|
7.508, lufog (ok), 08:41, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Я, может, чего недопонял, но звучит примерно как. "Не ставьте замки на двери, а решетки на окна, ведь лазить через печную трубу требует куда меньшей квалификации. При современных реалиях домушничества."
| |
|
|
5.432, maximnik0 (?), 21:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>свои стулья сохранили в нынешней обстановке?
Да,сохранили,в принципе нормально там с стандартами.Язык недавно обновлялся,но криков в отличие от раста нету.До сих пор в обороне и авиации применяется,даже у нас !!!Язык Ада называется .
| |
|
|
7.464, maximnik0 (?), 01:31, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Так Ады в том списке кошерных языков не было, если я правильно
> помню. ;)
А SPARK включен ? Ада совместимое подмножество, язык, прошедший верификацию и как у раста проверка во время компиляции :-)
| |
|
|
|
4.620, Аноним (620), 16:15, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Раньше требовали всё писать на Аде. Но её уже никто не учит. Поэтому для F-35 пришлось нанимать программистов на C++. Язык не столь безопасный, зато программистов много. За четверть века спустя нормально отладить хотя бы до уровня F-22 так и не смогли. Поэтому стали требовать писать безопасно. Тем более, С++ уже мало кто учит, можно будет всё переписать на Расте :)
| |
|
3.219, Нуину (?), 15:57, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Где теперь хакеры харчеваться будут?
Возьмутся наконец за раст, увидишь тогда, что нет CVE:)
| |
|
2.616, wyry (ok), 15:47, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Кто забегал? Страуструп просто рассказал широким массам неосиляторов то, что разработчики C++ знают и используют уже давно. В любой компании, если она не средневековая шарага уже давно используются гайдлайны и языковые инструменты для безопасной работы с памятью для бизнеса. Сырые указатели плюсовики если и используют, то в домашних проектах просто для того чтобы поковыряться с байтами. Rust-сообщество же считает что они открыли священный грааль рекламируя то, что уже было в плюсах под другим соусом. И разница в том, что C++ предоставляет программисту ВЫБОР в каком стиле писать и какой уровень предупреждений вызывать в "опасных" ситуациях, в Rust программист - это послушная обезьянка.
| |
|
1.3, Аноним (3), 12:22, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +12 +/– |
Какой ужасный синтаксис теперь в С++, код с вариадиками, обвешанный if constexpr, макросами, концептами и теперь уже профилями совершенно не читаем.
| |
|
2.4, Аноним (4), 12:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Вопрос привычки. Раст слишком уж инородный, чтобы найти применение в большинстве областей.
| |
|
3.400, Аноним (400), 20:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| +15 +/– |
Интересное кино. Плюсы с костылями - вопрос привычки, а руст значит вопрос инородности. Афигеть манёвры))
| |
|
2.8, Hck3r (?), 12:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| +7 +/– |
Пример бы такого кода на плюсах и аналог на расте для наглядности еще
| |
|
3.401, _hide_ (ok), 20:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| –6 +/– |
Нет, нельзя допускать сравнения, иначе станет понятно, что проще нанять хороших программистов, чем все переписать на Раст.
| |
3.422, morphe (?), 21:22, 03/03/2025 [^] [^^] [^^^] [ответить] | +3 +/– | Ещё бы у плюсов документация по этим фичам существовала Я не понял это предложен... большой текст свёрнут, показать | |
|
4.424, morphe (?), 21:24, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ключевого слова safe в Rust нет, это я добавил чтобы сравнению не мешали unsafe{} и комментарии которыми принято unsafe{} сопровождать
| |
|
|
2.383, Аноним (383), 20:12, 03/03/2025 [^] [^^] [^^^] [ответить]
| –4 +/– |
У плюсов всегда был ужасный синтаксис, но не хуже раста то уж точно
| |
|
3.493, Аноним (493), 06:40, 04/03/2025 [^] [^^] [^^^] [ответить]
| +7 +/– |
Проблема синтаксиса плюсов в том (в отличие от раста) — а давайте-ка мы при…ним вот что-то ещё!
У раста этой проблемы нет, мы сразу при…ли что-то ещё.
| |
|
2.539, Аноним (540), 12:39, 04/03/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Какой ужасный синтаксис теперь в С++, код с вариадиками, обвешанный if constexpr, макросами, концептами и теперь уже профилями совершенно не читаем.
Типичное мнение неосилятора. Классы с вариадиками создаются в реальных проектах крайне редко. Макросы - вообще сишничество, в С++ придумали константы и inline функции, именно чтоб не использовать макросы, и придумали очень давно. Насколько старая твоя методичка? Концепты создали для лучшей читаемости сообщений об ошибках. Но неосиляторам не угодить. И без концептов и плохо, и с ними плохо.
| |
|
3.614, Главные редакторы (?), 14:48, 05/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Анука накидай нам тут кросплатформенного когда без макросов, например для последовательного порта на чистом С++ без указателей. Ассилятор ты наш.
| |
|
4.643, Аноним (643), 15:57, 06/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Анукать лошади своей будешь. По остальным пунктам возражений, стало быть, нет?
| |
|
|
2.551, Аноним (551), 14:02, 04/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Боюсь, что и без "вариадиков" в С++ делать нечего - ужасный крючкотворный синтаксис, следствие "надстройки" ООП над обычным "высокоуровневым ассемблером". Чудес не бывает: если язык сразу не проектировался под все свои возможности, добавление "фич" потом порождает таких монстров, как С++.
Я бы двигался в сторону Ди - тоже непростой язык, но хотя бы большинство кода выглядит адекватно.
| |
|
3.560, Аноним (560), 14:25, 04/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Боюсь, что и без "вариадиков" в С++ делать нечего - ужасный крючкотворный
> синтаксис, следствие "надстройки" ООП над обычным "высокоуровневым ассемблером". Чудес
> не бывает: если язык сразу не проектировался под все свои возможности,
> добавление "фич" потом порождает таких монстров, как С++.
Ничего подобного. Си с классами в плане читабельности - вполне себе торт.
Современные фичастые навороты в модном мейнстриме - это конечно беда.
Но вы сами в праве выбрать стиль программирования на Си++.
Я выбрал простой стиль и код у меня читаем практически как на питоне/php (или даже лучше).
| |
|
4.605, Прохожий (??), 03:08, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Но вы сами в праве выбрать стиль программирования на Си++.
В этом и заключается основная проблема. Вы для себя выбрали такой стиль. Но ваш выбор может оказаться совершенно неочевидным для другого человека. И он будет писать по-другому. В итоге, если ваши разные стили встретятся в одном проекте - быть беде.
| |
|
5.607, Аноним (560), 04:32, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>>Но вы сами в праве выбрать стиль программирования на Си++.
> В этом и заключается основная проблема. Вы для себя выбрали такой стиль.
> Но ваш выбор может оказаться совершенно неочевидным для другого человека. И
> он будет писать по-другому. В итоге, если ваши разные стили встретятся
> в одном проекте - быть беде.
Едва ли. В том то и дело, что в простом стиле не запутаешься.
Беда будет у любителей писать на брейнфаках без комментов. Они сами через год забывают что понаписывали.
| |
|
6.628, Прохожий (??), 02:43, 06/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Едва ли. В том то и дело, что в простом стиле не запутаешься.
А кто вам сказал, что у другого человека будет простой стиль? Далее, если два простых стиля содержат разные подмножества фич, то запутаться - проще простого, даже при кажущейся простоте стилей.
| |
|
|
|
|
2.617, wyry (ok), 15:53, 05/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Rust с его ручным разрешением времени жизни и штрихи ' в коде - вот это читаемость. Причём в сложном коде вопрос о том скомпилируется у вас код или нет может зависеть от одного штриха. Одна эта семантическая особенность - полный треш. Также Rust берёт ХУДШИЕ примеры синтаксиса, и не понятно нафига!? Мало что-ли в крестах угловых скобок < >? давайте сделаем! Ведь все так кайфуют и в C++ и в C#. То есть Rust обладает одновременно уродливой, непродуманной семантикой, при этом дополняя это уродливым синтаксисом, который ещё и писать проще, чем читать. А в сложных ситуациях вы даже не сможете нормально (читаемо) его отрефакторить, т.к. вам ещё и компилятор нужно удовлетворять.
| |
|
3.629, Прохожий (??), 02:55, 06/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>То есть Rust обладает одновременно уродливой, непродуманной семантикой
Из вашего сообщения непонятно, в чем конкретно это выражается, поэтому звучит голословно. Не могли бы вы расшифровать своё утверждение?
>при этом дополняя это уродливым синтаксисом
Синтаксис - вкусовщина и/или дело привычки. Мне вот этот синтаксис нравится своей лаконичностью. Да, поначалу, с непривычки, бывает тяжело что-то распарсить. Потом, с опытом, начинаешь понимать, насколько на самом деле он красив по-своему. Местами не без проблем, понятное дело. Но по большей части - вполне годный. Также авторы постоянно его улучшают, убирая излишние сложности.
| |
|
|
1.7, Аноним (7), 12:27, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
> Каждый объект должен быть корректно создан и освобождён.
Ну надо же!
Я думал что это должно быть по умолчанию для любой программы для с++.
Ну, чтобы она работала правильно хотя бы в этом контексте.
А тут оказывается для этого нужен отдельный профиль!
Ну а если профиль не включен, то можно создавать и освобождать объекты не корректно?
Как диды раньше?))
| |
|
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 [^] [^^] [^^^] [ответить]
| +/– |
Опять диды виноваты. Ой, то есть эти, как их там, а, да, сму3ихлёбы, да, они. Нормальным языкам к0пр0тивляются, ибо думать придётся.
| |
|
|
3.315, bdrbt (ok), 18:18, 03/03/2025 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Прямо как программисты на Typescript. Вроде бы классы и красивая типизация, а
> в обертках код на жиэс, где на все эти типы кладется.
> Без кода на жиэс ничего работать не будет. И убрать его
> слишком долго/дорого.
Что значит "обёртки" и "убрать"? Typescript - изначально надстройка над яваскриптом, в который он и транспилируется. Ляпнуть такое это всё равно что сказать, что любой язык - фуфло, потому что все эти классы, функторы это обёртки над ассемблером который поклал на классы и функции, а убрать его долго и дорого.
| |
|
2.99, Аноним (96), 13:55, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Ну а если профиль не включен
То ты можешь прибить все что нужно туда куда нужно.
| |
2.129, тоже Аноним (ok), 14:16, 03/03/2025 [^] [^^] [^^^] [ответить]
| +6 +/– |
В С++ полно библиотек, предполагающих, что объект создается в пользовательском коде, а временем его жизни и освобождением памяти занимается библиотека. И компилятор от этой библиотеки видит только заголовки, так что проконтролировать не может ничего в принципе.
| |
|
|
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 [ответить] [﹢﹢﹢] [ · · · ]
| +16 +/– |
"Вы зачем код с багами пишете? Пишите код без багов!"
— Бьорн Страуструп, автор 14 разных методов инициализации в C++
дед опять выдает базу, абсолютно базированную и абсолютно бесполезную))
| |
|
2.17, Аноним (17), 12:46, 03/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
Зачем вам топоры, пилы, струганки, наждачка, долота, гвозди и клей? Все надо делать одним топором!
(с) очередной неосилятор с++ на опеннете.
| |
|
3.23, Аноним (-), 12:49, 03/03/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
Это ты так про Бьорна?
Не надо, чел сделал большую работу. И заслуживают уважение.
Да она получилась кривоватая, но... он сами в интервью рассказывал, что не является спецом по созданию языков.
| |
|
4.473, Котофалк (?), 02:04, 04/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Мультитулы прекрасны. Они сочетают в себе двух до двух десятков различных инструментов. Есть только пара нюансов.
- они никогда не заменяю ни один инструмент,
- они в сумме используются реже, чем КАЖДЫЙ из инструментов, который они как бы заменяют.
| |
|
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 [^] [^^] [^^^] [ответить]
| +/– |
> А почему у вас эта логика _внезапно_ кончается, когда вам предлагаешь несколько ЯП использовать?
Потому что это другое™! Это понимать надо™! Ты бы ещё спросил, почему некоторые из лицензии или текстового редактора делают фетиш.
| |
4.554, Аноним (96), 14:13, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Наверное потому что в качестве мультитула идет c++.
А несколько языков - это не мультитул, а несколько инструментов. То же хорошо. Но не настолько.
| |
|
3.495, Аноним (493), 07:01, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Зачем вам топоры, пилы, струганки, наждачка, долота, гвозди и клей? Все надо делать одним топором^W болгаркой.
Вот так правильнее.
| |
3.553, Аноним (551), 14:09, 04/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Дурацкая аналогия от тynых зумеров.
Если уж говорить про С++, то речь идёт о 10 видах молотков/киянок/топоров, которыми делается ОДНО И ТО ЖЕ - забивается гвоздь. Вот про такую чехарду инструментов рассуждать даже не хочется - Страус сам виноват, что ниструя не стандартизировал десятилетиями, а затем хватается за "безопасную память".
Новичок вообще не должен париться, сколько там напридумано фуфла для указателей. Под указатели должен быть ОДИН стандартный инструмент, а все остальные преданы анафеме. Пока это не сделано, можете С++ смело хоронить.
| |
|
|
5.618, wyry (ok), 16:00, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вообще говоря у C++ сегодня дела ЛУЧШЕ, чем ДО выхода C++11. Тогда был период, когда C++ как раз начал проседать. C++11 дал существенное развитие во множестве сфер. Подарил фактически многопоточность из коробки и инструменты для работы ней, систематизировал и ускорил параметрический полиморфизм. Сегодня же, кто бы что не говорил, на C++ пишется огромное количество нового кода.
| |
|
|
|
|
1.13, Аноним (14), 12:33, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Уместно спросить - может надо было сразу делать отдельный язык, а не надстройку, которая за сорок лет так и не смогла Embrace и Extinguish?
Пора плюсам на свалку истории. Кто работает и не может перестроиться - никакой жалости, валите на пенсию.
| |
|
2.25, X512 (?), 12:50, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не забывайте, что все актуальные компиляторы Си написаны на C++. GCC был сначала на Си, но потом перешёл на C++.
Компилятор Си на Си -- это разве что примитивный TCC, не умеющий оптимизации.
| |
2.38, Admino (ok), 13:07, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да, выкинуть 40 с гаком лет написания кода и начать всё с нуля, такая прелесть.
| |
|
3.60, Фнон (-), 13:21, 03/03/2025 [^] [^^] [^^^] [ответить]
| +5 +/– |
> Да, выкинуть 40 с гаком лет написания кода
Делаются биндинги, новый код пишется на нормальном ЯП.
> и начать всё с нуля
Ага.
Иногда так приходится делать.
Например при переходе от повозок к автомобилям.
Какие бы ни были лошадки милые - кушают сахар, фыркают и пахнут навозом, но их потолок был ограничен.
> такая прелесть.
Что поделаешь. Прогресс не остановить, можно только замедлить суванием палкок в колеса.
От сухой каменной кладки тоже отказались, хотя ей тысячи лет и пирамиды так построили.
Но сейчас по какой-то причине сталь и бетон.
| |
|
4.101, Аноним (96), 13:58, 03/03/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
Одна проблема, когда вместо лошадки пробуют заставить впрячь в повозку слизня, ибо на нем ехать безопасно, как-то мало ассоциируется с прогрессом
| |
|
5.143, Аноним (-), 14:27, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> вместо лошадки пробуют заставить впрячь в повозку слизня
Плохая аналогия подобна котенку с дверцей (с)
Вон недавно раст-либа обогнала по скорости СИшную - у дидов предсказуемо подгорело)
По скорости раст сравним с си или плюсами. В интернетах есть куча бенчмарков где люди меряются.
И да, то кто вместо безопасности выбирает скорость, остается и без первого и без второго.
| |
|
6.154, Аноним (96), 14:35, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> По скорости раст сравним с си или плюсами.
Вот только на си и плюсах пишут полноценные проекты.
А на rust уже почти допереписывали и планируют догнать по паритету функциональности к...
| |
|
7.525, Прохожий (??), 09:48, 04/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Вот только на си и плюсах пишут полноценные проекты.
Новые проекты пишут на Rust. И они вполне себе полноценные.
>и планируют догнать по паритету функциональности
Некоторые обгоняют. Например, прокси от Клаудфлэр. Или ripgrep.
| |
|
6.621, Аноним (620), 16:23, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Вон недавно раст-либа обогнала по скорости СИшную
Ты про попытку замены для zlib? Которая быстрая потому, что в ней отсутствует большая часть планируемого функционала?
| |
|
|
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 [^] [^^] [^^^] [ответить]
| –1 +/– |
На ту "свалку истории" изрядная очередь.
Перед Плюсами туда давно отправлен, например, Пых - ужасный, неконсистентный, несколько раз переделанный... и продолжающий работать на 75% сайтов интернета, например.
| |
|
3.162, Аноним (-), 14:42, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
То что у нас есть уже 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 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ошибочное представление. PHP всё ещё медленный, и многие задачи хочется переписать на более вменяемых языках, более быстрых и приспособленных к вычислениям. Кроме того, размещение в облаках способствует разделению на микросервисы. А те в свою очередь удобнее писать на более быстрых языках.
| |
|
6.356, Аноним (98), 19:14, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Но проблема больше в мотивации и в кадрах, потому что если у вас куча пхпшников, то они не все захотят переучиваться
Зачем? Вы хоть десять фронтендов, хоть сто сделайте, без бекенда это работать всё равно не будет
| |
|
7.430, тоже Аноним (ok), 21:47, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Технологии понемногу меняются. Если двадцать лет назад Пых выдавал на фронт готовую верстку, то сейчас реактивным фреймворкам бэк нужен только как API = CRUD + та бизнес-логика, которую нельзя доверить браузеру + чисто серверные дела. Работы на бэке все-таки поуменьшилось.
| |
|
6.561, Аноним (551), 14:30, 04/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> если у вас куча пхпшников...
То у вас считай "куча вымирающих динозавров". :))
Когда вам надоест кормить эту ораву, вы выкинете их на мороз и наймёте одного ASP-шника, который всё сделает по-уму.
Плюс, рынок и перспективы: кто умеет смотреть дальше собственных ботинок, тот видит - в похапэхе ничего нет, это технология "неосиляторов перла" для хоумпэйджей девственниц. И если будут начинать новый проект, зачем им ОПЯТЬ заводить тесто на старых дрожжах? Позовут бравую команду ASP-шников и те всё напишут по современным стандартам.
Люди не дураки, их "обилием похапэ страниц" не купить. Умный инженер смотрит в будущее, а не оглядывается на прошлые заслуги.
| |
|
5.559, Аноним (551), 14:24, 04/03/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> > А сколько новых сайтов пишутся на пыхе?
> Ни одного альтернативного варианта, который позволит дешевле создать сравнимый результат
Ерунду пишете, милейший! Во-первых, про "дешевле" речи не идёт - на ЛЮБОЙ язык есть свои погроми3ды в соотв. категории оплаты. А во-вторых, опять же - если речь про "лэндинг", который "напишут и выбросят" - там хоть на Рефале пиши! (или похапэхе) Но если тебя хоть как-то интересует будущее сайта (включая его РАЗВИТИЕ), ты выберешь нормальный язык, на котором пишут много профи. Например, C#(ASP.NET) или Kotlin. Да даже JSP будет куда адекватнее похапэшных Bыceрoв!
Кто хочет "быстро и задёшево", потом получает трёхкратный по стоимости пендель. Бесплатных чудес не бывает!
| |
|
6.563, тоже Аноним (ok), 14:35, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
А теперь посмотрите на статистику про стабильные 75% снова. Без радуг и единорогов.
Заодно вспомнив, сколько на пыхе готовых решений, вообще не требующих "программиздов", и заготовок, кратно упрощающих работу над сайтом, если он нестандартен, но все равно - это сайт, так что нестандартен он на 20%, а остальные 80% все равно можно брать-приспособить из готового.
Вот примерно так и оказывается, что программистов можно найти каких угодно, а ценник на них выходит - разный.
| |
|
|
4.556, Аноним (551), 14:18, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
+1, очень точная аналогия! То, что есть кучи программ на вымерших языках, не делает языки живее. Просто придёт очередной менеджер, спросит: это Г кто-нть может поддерживать? Нет? Переписываем!
| |
|
|
2.555, Аноним (551), 14:15, 04/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ровно наоборот - Страус был ОЧЕНЬ ГОРД(!), что смог над своим ассемблером прикрутить на изоленте ООП! Мол, смотрите какая мощща! :)))) Этот дypа4ок не понял главного: людям не нужны "трюки", делающие из молотка плоскогубцы - людям нужны чистые, простые инструменты. А когда он это понял, то было уже поздно - синтаксис и так превратился в полный Перл!
С++ и так по факту "история"; зомбак, бродящий по закоулкам ИТ и на который с сожалением смотрят живые. Старики - те уже точно не осилят переход с каких-нть C# на С++. Молодые - те вообще шарахаются от сипиписного синтаксиса! Так что как с коболом - пока не вымрет последний кобольщик, это гуано будут терпеть, а потом всё равно перепишут на пестоне :))
| |
|
3.606, Прохожий (??), 03:24, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Этот дypа4ок...
Очень самоуверенное заявление.
>людям нужны чистые, простые инструменты
Расскажите это создателям компиляторов, или браузеров, или игровых движков.
В остальном, в принципе, согласен. C++ - сверхсложный ЯП. Уверен, никто его полностью не знает. Или таких очень и очень мало.
| |
|
4.619, wyry (ok), 16:12, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вам не нужно знать полностью C++, за вас его знает стандарт. Чистый код, соответствующий стандарту имеет монументальную обратную совместимость (нюансы её нарушения потребуется искать целенаправленно), особенность лишь в том, что в некоторых особо важных для конкретной задачи вещах иногда используют непереносимые кастомные фишки компилятора или окружения, что для большинства разработчиков не актуально, а для тех кому актуально УЖЕ знают этот аспект своей работы. Большинству разработчиков хватит и "типового" использования инструментов языка, скажем у r-value ссылок может быть немало "хаков", но большинство используют их лишь типовом контексте move-семантики и даже не вдаются в глубокие подробности, но вы МОЖЕТЕ изучить вопрос, если это интересно или важно и это довольно легко, т.к. есть и стандарт и смежная литература по любой теме.
На самом деле и UB в C++ - это тема плохо понимаемая теми, кто с C++ не работает и не понимает его философию.
| |
|
5.630, Прохожий (??), 02:59, 06/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Вам не нужно знать полностью C++, за вас его знает стандарт.
Так это стандарт за меня программы будет писать и сопровождать? Простите, но вы здесь откровенную глупость сморозили.
| |
|
|
|
|
1.15, bdrbt (ok), 12:43, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры
Не успеют, а если и родят что-либо, то это опять будет нечто монструозное, тянущее за собой половину буста и c сопроводительными доками чуть меньше "Войны и Мира" Толстого.
| |
|
2.18, Аноним (18), 12:47, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Не смеши публику. Большинство из указанного включается с помощью опций -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.624, Аноним (620), 16:58, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Большинство из указанного включается с помощью опций -Werror у gcc или clang.
Как я понял, профиля позволяют включать не всё сразу, а только желаемые части перечисленного. Так удобнее.
| |
|
|
|
|
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 [^] [^^] [^^^] [ответить]
| +1 +/– |
Я "не смог" (не нашёл причин и целей) в Rust, но смог проделать описанное в стандарте. В чём проблема? Вполне проработанное ТЗ, если воспринимать его так.
| |
4.408, Аноним (400), 20:46, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Блин, да ежу же понятно, что вопрос не технический, а денежный. Всё всегда туда упирается. Дед засуетился только когда госуха стала запрещать использовать кресты. Рассказать почему?)
| |
4.506, Андрей (??), 08:22, 04/03/2025 [^] [^^] [^^^] [ответить] | +/– | На java Чем В основе java сидит ВМ, именно из-за которой джава такая какая о... большой текст свёрнут, показать | |
|
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 [^] [^^] [^^^] [ответить]
| +1 +/– |
Только вот беда, что в основе 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.
| |
|
5.512, n00by (ok), 09:00, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Зачем их упоминать? Я привёл примеры, когда в России что-то западное начинали использовать слишком активно, после чего на западе что-то случалось.
| |
|
6.601, Прохожий (??), 02:29, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Думаю, причина в том, что Дельфи ворованый у многих был на просторах бывшего СССР. Если бы покупали лицензии, возможно, Борланд бы и смогла выдержать конкуренцию.
| |
|
7.611, n00by (ok), 09:05, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Если бы пришлось покупать, популярности бы такой не было. Микрософт бы не посмотрела на это, и не сделала свой вариант с диезом и активистами. бесплатный, кстати.
| |
|
|
|
4.438, maximnik0 (?), 22:18, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Где сейчас DEC?
В спутниках ГЛОНАСС.По информации с открытых источников- там применяется процессор сделанный перед самым развалом СССР, сделали DEC совместимый процессор на 1 микросхеме- по сложности переходное между 386 и 486.Обещали заменить на более лучшее- тишина,после нашего Крыма.
| |
|
5.484, Аноним (484), 04:34, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> В спутниках ГЛОНАСС.По информации с открытых источников- там применяется процессор сделанный
> перед самым развалом СССР, сделали DEC совместимый процессор на 1 микросхеме-
> по сложности переходное между 386 и 486.Обещали заменить на более лучшее-
> тишина,после нашего Крыма.
При том судя по состоянию спутниковой группировки, паре довольно жирных завалов навигации, периодическому выпадению ниже минимального кворума в 24 спутника и проч - что-то где-то пошло не так.
| |
|
6.537, maximnik0 (?), 12:26, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Не могу найти источники. Это случайно не ?
Была статья давнишняя,может и найду в архиве как наши пилили DEC процессор, что удивительно коллектив был с Армении (в основном) и они всего лишь за 1,5 года уложились в задание. Процессор л1839вм1.Комплект микросхем назывался (из Вики) л1839.Писали что микросхема используется в 1 и возможно 2 поколение ГЛОНАСС.
МЦСТ-R это Спарк процессоры, от бывшей SUN ,ныне Оракл.Для реалтейма не совсем подходят,у них есть беда с переключением регистровых окон,хотя там можно было это дело сгладить с потерей производительности.
| |
|
7.543, maximnik0 (?), 13:05, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Дополню.
Нашел первоисточник - скан статьи Электроника 32 .Начало работ 84 год ,запущено в производство в 89.ЭВМ называется БЦВМ 90-50хххх.
| |
7.548, n00by (ok), 13:44, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Благодарю. Vax я видел только на картинках, а вот с PDP-11 пришлось столкнуться: за пару часов изучил формат и читал прям маш.код (надо было выдрать ресурсы из одной игрушки). Очень простой и понятный опкод, потому в версию с диверсией ЦРУ против DEC я верю легко.
И вот этот вот Л1839ВМ1, кажется, можно было бы штамповать заместо RISC-V для каких-то целей?
В общем, опять подтверждает конспирологию: как только в России начинает что-то взлетать западное, оно по странному стечению обстоятельств приземляется, заменяется чем-то новым модным. Партнёры настолько раздобрились последнее время, что бесплатно раздают.
С плюсами ведь примерно также, у нас сильных пилюсовиков достаточно много (было).
| |
|
|
|
|
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 [^] [^^] [^^^] [ответить]
| +/– |
... да кто ж иму дастЪ?! (С)
У людей на этой сложности суриоус бусинес построен, с годовым доходом больше чем доход всей твоей страны и всех стран с ней соседствующих ...
Забудь!(С)
| |
|
6.480, Котофалк (?), 02:11, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> и всех стран с ней соседствующих
И даже нашего самого восточного соседа? ну дела....
| |
|
|
4.485, Аноним (-), 04:38, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>> Все браузерные движки на C++.
> Servo смотрит на это утверждение с недоумением.
> Не все конечно умеет, по сравнению с двумя (ок, тремя) другими, но
> если в него вложить столько же денег, то будет не хуже.
Уж и разработчиков - уволили, и мозилла - вот-вот сдохнет. А серва все - нигде. И ни для чего. Успешные инвестиции в новый яп и новый браузерный движок как они есть.
| |
|
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 просто невбибичекое количество? Поспрашивай :)
| |
|
7.523, Аноним (250), 09:37, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
«Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление» Дейкстра
| |
|
|
|
|
3.202, Аноним (202), 15:37, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
GCC это не «компилятор c»
GCC это GNU Compilers Collection
Коллекция компиляторов GNU
Чуешь разницу?
А то вы своей фантазией уже задолбали
| |
|
4.413, _ (??), 20:51, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
В следующей версии коллекции ожидается включение нового ЯП :)
Нет, не раст :) COBOL! Я не шучу, даже тут новость была.
А уж эти точно знают что нужнее :)
| |
|
5.419, Аноним (202), 21:14, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Видимо у кого-то из оплачивающих разработку(RH и прочие) возникла необходимость
Дело не в том, что «эти точно знают что нужнее», а дело в том, что они знают что необходимо спонсорам разработки
И это нормально
| |
|
|
3.564, Аноним (551), 14:42, 04/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это вы просто тыкаете палочкой в мамонта. Современный канпилер (для доказательства своей же пригодности) пишется на себе самом, bootstrap - слышали про такое? Вот язык Nemerle написан на себе самом, к примеру. Остальная "инфраструктура" - да, конечно там много С++, но... доколе? Без "свежей крови" ни один проект не выживет. Сегодня ты хвалишься С++-ным бэкендом банка, а завтра соседняя компания запиливает проект на D (по современным стандартам), а ты лихорадочно бегаешь по рынку, ища "дидов", которые смогут хотя бы прочитать то, что у тебя написано на С++. Проект на D будет идти вперёд, а ты будешь "трясти полутруп", выдавливая последний профит.
С++ - это кобол современности, он просто ужасен для средних-крупных проектов.
| |
|
4.578, Аноним (560), 16:46, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> С++ - это кобол современности, он просто ужасен для средних-крупных проектов.
Не оскорбляйте кобол си плюс плюсом! )))
А вообще, вы не правы. На Си++ реально тянуть средне-крупные проекты, нужно только уметь его правильно готовить и документировать код.
Но современный тренд - это безусловно - попытка превратить плюсы в брейнфак.
Дело не в языке, а в кодерах. Некоторые специально всё переусложняют на плюсах чтоб оправдать высокие зарплаты, выглядеть незаменимыми, имитировать бурную деятельность, следуя самым новомодным стилям.
Хотя на деле, всё можно упростить, было бы желание.
| |
|
|
2.562, Аноним (551), 14:34, 04/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Он уже родился старым :)))) Как можно писать на языке, где ООП было "прикручено сбоку на изоленте"?! Вдвойне смешны потуги писать на "сипипишном синтаксисе" при наличии java, C#, D, Kotlin и иже с ними.
| |
|
1.26, Аноним (-), 12:51, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
> времени осталось очень мало и необходимо до 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 [^] [^^] [^^^] [ответить]
| +/– |
Используя разводной ключ за пять баксов и судебную систему. Всякий раз как речь заходит о безопасности, начинается какая-то оголтелая гибсовщина в комментах. Объясни, зачем нужны закладки в расте, если большая часть инфраструктуры интернета находится под прямым или косвенным контролем сша? АНБ не надо это всё, они просто™ звонят в офис и просто™ говорят какой порт куда отзеркалить по стандартному протоколу. И пока ты с ними на телефоне утрясываешь детали, в дверь уже стучится курьер с предписанием суда.
| |
|
6.565, Аноним (96), 14:44, 04/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
А зачем apple все три теоретически возможных взлома системы пользоваетля, если достаточно одной?
Запас карман не тянет.
| |
|
|
|
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, Аноним (552), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Жаль деда.
Так он и не стал дедом, все такой же "мальчишка". Дед тот, слово (мысль, идея) которого имеет вес, а тут какое-то КИСА (осколок АНБ) имеет больше веса, и вес то совсем не мысли, а дубинки.
| |
|
3.283, n00by (ok), 17:40, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вряд ли его таким ужалить. Дед спорный, как и Вирт, но свой след оставил. В отличие от нытиков по поводу включения Rust в ядро, но их и совсем не жалко.
| |
|
|
1.41, Аноним (37), 13:08, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> Жаль деда. Линуксоиды по сути его предали, не осилили плюсы в ядро.
Не нужно его в ядро. По-моему мнению, C++ - это язык для прикладного программирования.
| |
|
2.63, n00by (ok), 13:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Мнение - это из области мнимого. В действительности драйвера антивирусов нередко пишут на плюсах.
| |
|
1.43, Аноним (37), 13:09, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> Каждый объект должен быть корректно создан и освобождён.
Гениально. А что, можно иначе?
| |
|
2.45, Прохожий (??), 13:11, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Можно. А еще некоторые в бинарниках шестнадцатиричным редактором заголовки правят.
| |
2.50, Фнон (-), 13:16, 03/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
Конечно!
Просто добавляешь коммент "тут все ровно, мамой клянусь" и пишешь как получится.
А там пусть потомки лет через 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.532, bOOster (ok), 10:30, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
то то и оно что в языка низкого уровня - можно и иначе, и через иначе, и через-через иначе. И так далее.
| |
|
|
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 [^] [^^] [^^^] [ответить]
| +/– |
Хитро передёргиваешь. Лично Торвальдс считает, что "нет ничего лучше Си" - это его цитата. Раст он принял в ядро не хотя, его долго уговаривали, ну он типа "ну ладно-ладно, уговорили". К Расту у него отношение "терпимое".
Конкретно, языку Раст не место в ядре Линукса. Пусть растаманы пилят свою экосистему. Плоть и кровь GNU/Linux состоит из чистого Си.
| |
|
3.88, Аноним (-), 13:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Что на замену?
Условный 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? А то я думал, что тут про разыменновывание нулевого укзателя будут говорить или про двойное освобождение памяти
| |
7.463, Аноним (384), 01:26, 04/03/2025 [^] [^^] [^^^] [ответить] | +/– | Поведение char от компилятора зависит Просто char - это не сокращение от signed... большой текст свёрнут, показать | |
|
|
|
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 [^] [^^] [^^^] [ответить]
| +4 +/– |
> С++ изжил свое.
Буквально все, чем ты пользуешься на нем. Изжил:) Откуда вы лезите? Где у вас гнездо? (с)
| |
|
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 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
ИЧСХ, Паскаль с самого начала не давал программисту делать всё что угодно, а только то, что правильно. Потому что программист делает ошибки. Потому что программист хочет то, что он хочет, а не то, что он пишет. Через 50-60 лет до мэйнстрима дошло.
| |
|
2.56, Аноним (52), 13:19, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Просто до этого нехаватоло мощностей и приходилось выжимать до капли любым способом.
| |
2.61, Анонем (?), 13:23, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Проблема Паскаля не в том, что он "слишком правильный". И даже не в том, что медленный. А в том, что он придуман в Европе, а не в США.
| |
|
3.140, SAI (ok), 14:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Насчёт "медленности" Паскаля вопрос сомнительный.
Зависит от многих факторов, в том числе и от компилятора, но в среднем, примерно в 2 раза медленнее Си (в рейтинге сразу за Си).
Та же Java (на тех же задачах), показывала производительность в 10 раз меньше.
Была на опеннете такая статья с исследованием несколько лет назад. Не могу найти.
| |
|
4.379, Bottle (?), 20:08, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ну так естественно, если над компилятором (FreePascal) трудятся по-сути случайные люди, хотя и опытные.
Будь у Паскаля такая же поддержка, как у GCC и LLVM, производительность была бы схожей.
Вон Фортран до сих пор затыкает сишку в чистых вычислениях, всё потому что сишники до сих пор не научились использовать ключевое слово "restrict" и не обладают той же алгоритмической базой, что и фортранщики.
| |
4.456, Аноним (384), 00:25, 04/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> в среднем, примерно в 2 раза медленнее Си (в рейтинге сразу за Си).
Даже близко там такого быть не может. Эти языки отличаются на плюс-минус 5-10% (причём ещё вопрос в какую сторону, lcc из quake наверняка сольёт delphi).
Тоже искал как-то почему c++ работает в разы быстрее pascal. А там оказалось #pragma omp ... и вуаля - числодробилка распараллелилась по ядрам. Хотя на первый взгляд программа написана в один поток.
| |
|
3.321, Аноним (-), 18:30, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Проблема Паскаля не в том, что он "слишком правильный". И даже не в том, что медленный. А в том, что он придуман в Европе, а не в США.
Не в бровь, а в глаз. 50 лет назад, американцы всячески игнорировали Алгол, и везде где могли протаскивали свой Фортран. В XXI веке создатель Питона внёс в язык оператор присваивания := , и тут американские программисты начали сильно возмущаться. Гвидо опечалился и хотел было покинуть пост лидера. В Америке был сговор компаний, не принимать на работу людей, которые пишут программы на Дельфи. Прикол в том, что Дельфи это американская программа.
Я люблю Си и Юниксы. Но вынужден признать, у американцев есть неприязнь к европейским языкам программирования. Это факт.
| |
|
4.521, n00by (ok), 09:28, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это не неприязнь, а бизнес-модель. США должна быть центром притяжения, соответственно и конкурентов следует задавить.
| |
|
|
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 [^] [^^] [^^^] [ответить]
| –1 +/– |
Паскаль - отличный язык. Но создавался он исключительно для обучения и там только и должен применяться
| |
|
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 лет до мэйнстрима дошло.
Проблема не в том, что до мэйнстрима что-то дошло или не дошло. Американцы были против Паскаля. Потому-что это европейский язык программирования. И все идеи идущие от Паскаля они упрямо игнорировали. Иногда они поступали хитро, потихоньку заимствовали идеи европейских учённых в обласи Информатики.
| |
2.622, wyry (ok), 16:26, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вот Pascal имхо надо воскрешать и любить. Он как раз может занять нишу, которая позволяет "просто делать вещи", сейчас эту нишу занимает отчасти Go (и даже некоторые синтаксические конструкции похожи!), который во многом тоже довольно прост. Более крупные проекты пилятся уже на Java (+смежные технологии), C# и Qt, если речь идёт о бизнес-приложениях.
| |
|
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 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Так оно и будет,
Может и будет, вопрос "когда")
Пока комитетчики расшевелятся, пока это попадет в компиляторы...
В некоторых крупных проектах уже полным ходом от дырявых ЯП избавляются - весь новый код пишут на более новых.
Даже через три года, кол-во написанного кода будет достаточно существенным, программисты обучены, процессы настроены.
А лет через 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 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Сколько там прошло с момента появления rust.
Первый стабильный релиз - май 2015.
В андроид добавили в начале 2021 года.
В ядро добавили в октябре 2022.
> А в новостях про переписывальщиков только: паритет по функциональности планируется достич к ...
Какой паритет?
В расте уже возможностей больше чем в дыряшке или плюсах - у вас есть там паттерн матчинг? А нормальная работа со строками? А линейные типы?
Чего в расте меньше, так это возможностей отстрелить себе ногу, по самую опу.
| |
|
5.327, Вася Пупкин (?), 18:38, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
а еще помимо языка удобный тулинг, стандартизированный подход к тестам, доке и бенчмаркам.
| |
|
|
|
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, Аноним (534), 20:15, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
почему тогда operator new() не освобождает ресурсы, когда исполнился?
| |
|
4.80, Прохожий (??), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
А вообще, считаю высшим пилотажем, когда вычисления производятся в тех же массивах, что были переданы в функцию (например, в некоторых алгоритмах линейной алгебры или теории дифференциальных уравнений). Хотя, конечно, о разрушении исходных массивов программист должен быть предупрежден.
| |
|
5.92, Аноним (92), 13:50, 03/03/2025 [^] [^^] [^^^] [ответить]
| +4 +/– |
высший пилотаж :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 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это не подойдет, по многим причинам:
- у дедов уже зрение не то, они просто не видят мелкие символы
'
- других просто пугают незнакомые значки
- да и это же надо подумать заранее, а то компилятор будет ругаться
| |
|
7.168, laindono (ok), 14:47, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Дедов на поддержку легаси можно оставить.
> да и это же надо подумать заранее, а то компилятор будет ругаться
Лучше думать один раз при создании интерфейса, чем каждый раз при использовании интерфейса. И уж точно лучше, чем думать, как исправить ситуацию, где все начинают шутить шутки про дырени и показывать на тебя пальцем.
| |
|
6.172, Аноним (107), 14:54, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Когда сидишь на диване и палец об палец не ударяешь, всё предельно просто
| |
6.181, Аноним (534), 15:08, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
> 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, Аноним (534), 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 +/– |
но большинство мейнстрим языков его смогли осилить, хоть даже и через боль. кто не смог скоро отомрет, раз плохо умеет адаптироваться?
| |
|
4.545, Аноним (82), 13:08, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
если тебя не устраивают существующие библиотеки, можешь написать свою. или кто по-твоему должен это для тебя делать?
| |
|
5.590, Вася Пупкин (?), 20:54, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
поэтому и имеем 100500 разных библиотек, которые хрен вместе подружишь и проще еще один велосипед накостылить
| |
|
|
|
2.505, Аноним (505), 07:37, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
а кто же его переусложнил? прибегали всякие хипстеры с криком, давайте сделаем очередные яйца в профиль
| |
|
1.176, slew (ok), 15:02, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
На современном С++ (вернее, на стандарте 11 и выше) вообще можно писать как на питоне. Чуть ограничить совместимость с С-шными практиками, и это все что нужно, чтоб несиляторы не наделали себе в штаны. А то понаберут несоиляторов, вроде тех небинарных из мозиллы, которых к программированию просто нельзя подпускать. А те потом верещат на весь тырнет, что это ЯП-ы плохие, а не они бараны.
| |
|
2.211, Арман (?), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Это ещё они про 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 [^] [^^] [^^^] [ответить]
| +2 +/– |
> На современном С++ (вернее, на стандарте 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 [^] [^^] [^^^] [ответить]
| +3 +/– |
AWK programming language, Aho/Kernighan/Weinberger.
The Unix Programming Environment, тот же Kernighan.
Вторая книга особенно показательна, проводится в пример, например, troff, который состоит из десятка маленьких программ, соединённых пайпами.
AWK это вообще по сути C со сборщиком мусора.
В первой же утверждается, что на AWK можно решить большую часть нужных в повседневной жизни задач. Ну, а небольшое количество оставшихся, чувствительных к скорости, да, придется на Си.
| |
|
4.527, n00by (ok), 09:58, 04/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Благодарю, любопытное наблюдение. Стоит еще добавить, что сам компилятор Си состоит (состоял) из препроцессора и собственно транслятора, соединённых пайпом. При такой архитектуре сборщик мусора может быть реализован "заменой препроцессора", что и сделано в языке Vala.
| |
|
|
2.280, Аноним (534), 17:38, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Ага, верим. Особенно учитывая что Си создавался чтоб переписать UNIX с/на PDP11. Включая его ядро. Ядро с не более 1-2 malloc'ами и не длинее 1000 строк, и обвязки в ядре(!) на шелле(!) - это реально круто, без стёба (нет)
| |
|
3.300, Аноним (184), 18:02, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
При чём тут ядро?
Во-первых, ядро тогда было сильно меньше.
Во-первых, в ядре не так много malloc'ов.
В-третьих, специально чтобы избежать большого количества кода в ядре, как раз и была придумана концепция "всё есть файл", чтобы драйвера были не сложными монстрами с кучей системных вызовов, а просто маппили устройство на файл, и дальше пусть юзерспейс разбирается.
Обычный программист почти никогда не пишет ядерный код, поэтому ваша критика ну совсем пустая.
| |
|
4.320, Аноним (534), 18:29, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Изначально вброс был, что Си создавался чтоб писать проги не длинее 1000 строк и с 1-2 malloc'ами. Но Си создавался чтоб портировать UNIX, а не для того что ты только что придумал.
> В-третьих, специально чтобы избежать большого количества кода в ядре, как раз и была придумана концепция "всё есть файл", чтобы драйвера были не сложными монстрами с кучей системных вызовов, а просто маппили устройство на файл, и дальше пусть юзерспейс разбирается.
Плйать, да откуда ты всё это берешь? Почему тогда физические сетевые интефрейсы не файлы /dev? А если все было бы не файл, а просто в памяти лежало без отражения на фс, то syscall'ы бы не работали?
З.Ы. Напишешь amdgpu.ko чтоб не больше 1000 строк там было? Ну или может ядерный гипервизор?
| |
|
5.331, Аноним (-), 18:42, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Чо так возбудился-то? Он просто процитировал мнение Кернигана, из книги написанной самим Керниганом. Кстати, Керниган не дурак и дельные вещи говорит.
| |
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, Аноним (479), 15:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Не начнет, сейчас только общий код выдает, который надо много править.
А если начнет то тостеры будут писать композиции произведения получше людей, что обесценит это.
| |
2.316, slew (ok), 18:22, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>если ИИ начнет писать код
ИИ не будет писать код, если ему задачу не поставить. И задачу нужно будет ставить однозначно и в подробностях, если это не хелловрот. И вот тут начинают говорить про ЯП, который почти как естесвенный ЯП, на котором будут ставить задачи ИИ, а тот уже сразу генерить машинный код. То есть, ИИ как компилятор, и ЯП почти как естественнй язык, на котором погроммисты будут расказывать ИИ что и как должна делать прога. Это не грезы, а уже обозначенный вектор развития софтоклепства с применением ИИ. Вот это тема. Сразу в динозавры все прошлые практики погроммирования.
| |
|
3.351, Аноним (96), 19:01, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Э... галюцинированние без которого невозможно ни одно ИИ как на разработку ложится?
| |
|
4.427, slew (ok), 21:44, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Э... галюцинированние
Не беспокойтесь. Чуваки еще лет пят поколдут с матрицами, ембедингами и кучей остальных приколов типа "внимания", и галюцинаций не будет.
| |
|
5.568, Аноним (96), 14:57, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> и галюцинаций не будет
Это математически невозможно.
Машинное обучение - это сжатие. Причем только той части которая входит в обучение.
Если не существует частей не входящих в обучение, то обучать смысла нет.
А если есть части не входящие в обучение, то галюцинации гарантированы.
| |
|
|
3.528, n00by (ok), 10:04, 04/03/2025 [^] [^^] [^^^] [ответить] | +/– |  В октябре 1981 года Японское министерство международной торгов- ли и промышленно... большой текст свёрнут, показать | |
|
|
1.191, Ivan_83 (ok), 15:27, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Даёшь ещё больше сахару в ЯП!!!!
> Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции
Так а кто ж раньше то мешал это юзать?)
| |
|
|
3.291, Ivan_83 (ok), 17:53, 03/03/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
А настройки профилей это не расширяет список того что надо знать и прописывать куда то?
| |
|
|
|
2.632, Прохожий (??), 03:35, 06/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Нет. Потому что в Раст по умолчанию всё опасное запрещено. Его можно разрешить частично, но обычно это делается в огороженных местах. А тут же профили предлагается ставить только там, где может быть опасно. То есть, вероятность возникновения ошибок всё ещё выше, чем в Раст.
| |
|
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, что собственно практика и показывает
| |
|
3.569, Аноним (569), 15:37, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Не получится, для этого есть профили, чтобы отделить одно от другого
| |
|
4.633, Прохожий (??), 03:36, 06/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Проблема в том, что профили - дело добровольное. Можно и забыть выставить. А раз так, забывать обязательно будут.
| |
|
|
|
1.221, Нуину (?), 16:00, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> По мнению Страуструпа, времени осталось очень мало и необходимо до 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, Аноним (560), 17:52, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Так других вариантов и нет. Бьёрн Страуструп абсолютно прав. Нужно допиливать инструменты.
| |
1.292, Аноним (292), 17:53, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
> язык С++ уже содержит все возможности
Нихрена он не содержит. Во-первых, о какой безопасности можно говорить без поддержки лайфтаймов в синтаксисе? А без явной связи мутекса с данными которые им синхронизируются? Сделайте хотя бы чтобы нельзя было обращаться к moved-from объектам, пока это вообще абсолютно легальное поведение.
| |
|
2.301, Аноним (32), 18:03, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Если это будет отключаемой или опциональной возможностью никто пользоваться не будет.
| |
|
3.306, sena (ok), 18:06, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Если это будет отключаемой или опциональной возможностью никто пользоваться не будет.
Будут когда государство при закупке напишет в тендере, что софт должен компилироваться с этой опцией,
| |
|
2.457, Нуину (?), 00:27, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> А без явной связи мутекса с данными которые им синхронизируются?
1. GUARDED_BY
2. Можно свою обертку написать по аналогии MutexGuard раста, например, folly/Synchronized.h
| |
|
1.354, Аноним (354), 19:07, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Rust это не только про безопасную работу с памятью, но и про оптимизацию работы с памятью. Получится ли в C++ при включении безопасного профиля автоматически применять __restrict к указателям?
| |
|
2.360, Аноним (360), 19:18, 03/03/2025 [^] [^^] [^^^] [ответить]
| +16 +/– |
Допустим нет, не получится. Тогда получается, что раст отстой потому что в LLVM __restrict не будет применяться к уккзателям автоматически, а раст компилируется LLVM'ом.
| |
|
3.461, Аноним (-), 00:44, 04/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
В LLVM __restrict не будет применяться потому что его там нет, там есть атрибуты noalias, nocapture и другие, которые использует Rust. Но ты слышал краем уха, что в rustc используется LLVM и на этом твои познания заканчиваются.
| |
|
4.531, Аноним (534), 10:29, 04/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
> там есть атрибуты noalias, nocapture и другие, которые использует Rust
Но зачем? Во имя чего? Почему божественный раст, позволяющий безопастно работать с памятью, использует (и главное зависит!) от каких-то там аттрибутов в плюсовой дыряшке? А если из-за use-after-free или неицилиализированной переменной в LLVM, потом бинарник из LLVM-IR, который раст так старательно и безопастно в области работы с памятью генерировал, получится с дыренью. Ты об этом подумал?!
| |
|
|
|
1.366, Аноним (560), 19:38, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
А почему бы и в самом деле не реанимировать Паскаль? К нему претензий нет у Агентства по кибербезопасности и защите инфраструктуры США и ФБР.
Паскаль приятнее ржавчины во всех отношениях.
| |
|
2.371, anguest (?), 19:49, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Он никуда не девался, FreePascal потихоньку что то там пинают еще оставшиеся в живых олды. Сам пару лет назад делал один проект на нем и даже получилось лучше всех новомодных шляп. Но время идет.. теперь копаюсь в rust и go, так как ума не хватило осилить сборку проектов кhоме как в IDE паскаля. Если интересно покопать, CodeTyphon вам в помощью.
| |
|
3.374, Аноним (560), 19:56, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это лишь вопрос финансирования. На Паскале очень много всего написано, в отличие от Го и Раста. По любому далеко не всем понравится ковырятся в синтаксисе Раста, поэтому возрождение Дельфи - уже не звучит как шутка.
| |
|
2.373, Аноним (560), 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"
Лучший кандидат на замену Си++ - это Паскаль. На втором месте Го. Раст - это если уж совсем нет вариантов.
| |
|
3.487, Аноним (-), 05:19, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Набрасываешь на вентилятор. Из цитаты видно, что там перечислили языки программирования. Паскаль там не лучший, и не первый. Он просто в ряду языков.
| |
|
2.382, Ан Оним (?), 20:11, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
Во Free Pascal'е нет интеллектуальных указателей, там всё должно быть написано явно и вручную, нет автоматизации. Он хорошо подходит для обучения основам программирования, но для фирм самое главное - скорость программирования и он не подходит, потому что вручную освобождать, нет функционального программирования, нет перегрузки операторов
| |
|
|
4.392, Ан Оним (?), 20:21, 03/03/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
АНБ это сказала про Delphi, а в нём есть интеллектуальные указатели и много чего.
| |
|
3.394, Аноним (560), 20:25, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Да, он многословен, нет тех "ништяков" которые давно завезли в Си++. Мне Си++ тоже больше нравится.
Получается, что "безопасность" - это чисто когда искусственно что-то ограничивают в мейнстриме?
Тогда почему бы просто не выработать гайдлайн безопасного программирования на Си++ и его строго придерживаться?
При чём тут язык вообще?
| |
|
4.397, Ан Оним (?), 20:30, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так я и говорю что дело не в языке, а в индустрии. В целях, в приоритетах.
| |
4.418, Facemaker (?), 21:12, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Тогда почему бы просто не выработать гайдлайн безопасного программирования на Си++ и его строго придерживаться?
Офигеть как просто ☺. Сначала выучи Стандарт (ты не можешь быть квалифицированным C++-программистом, не зная Стандарт, ведь не можешь?). Потом выучи "гайдлайн безопасного программирования" такого же объёма. Ну, а потом просто программируй, не делая ошибок.
| |
|
5.420, Аноним (560), 21:17, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так Бьёрн Страуструп как раз и предлагает для этих целей инструментальное упрощение в виде профилей.
| |
5.491, Аноним (-), 05:32, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Офигеть как просто ☺. Сначала выучи Стандарт (ты не можешь быть квалифицированным C++-программистом, не зная Стандарт, ведь не можешь?). Потом выучи "гайдлайн
Ты не прав. Прежде чем начать программировать, он должен 5 лет изучать математику. Уж потом "каунт хеловрот".
| |
|
|
3.444, нет ты (-), 22:59, 03/03/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>нет функционального программирования
В свежих делфях есть лямбды, дженерики и циклы на итераторах — самый минимум чтобы начать функциональное мракобесие в коде.
Но вообще очень хорошо, что у паскаля слава процедурного и объектного языка. Он оазис чистоты подхода в мультипарадигменном болоте языков тащащих все самое модное без разбора. А функциональщина в целом это тупик — мозгового онанизма много, а практического смысла мало.
| |
|
4.450, Аноним (560), 23:28, 03/03/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Но вообще очень хорошо, что у паскаля слава процедурного и объектного языка.
> Он оазис чистоты подхода в мультипарадигменном болоте языков тащащих все самое
> модное без разбора.
Золотые слова.
Язык для эффективного решения задач.
А у Си++ был главный фейл: уродливое изобретение Саши Степанова - библиотека 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 нечитаемым?
| |
|
2.455, Нуину (?), 00:19, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Щас бы сранвивать язык с GC и без. CLS при этом во сколько раз медленней лучше озвучить для начала?
| |
2.530, n00by (ok), 10:15, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Нет, я говорю, что у меня от однообразия скобочек в глазах рябит.
| |
|
1.437, warlock66613 (ok), 22:13, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> arithmetic - блокируются целочисленные переполнения, запрещены знаковые/беззнаковые преобразования, изменяющие значение
Допустим мне нужно получить младший байт двухбайтового слова. И как это сделать без преобразований, изменяющих значение? Ну то есть да, я-то могу сообразить, что в static_cast<uint8_t>(x & 0xFF) приведение не изменяет значение, но как компилятор об этом догадается? А раз не догадается, то придётся писать [profile::suppress(arithmetic))]? Но тогда пропадает почти весь смысл затеи.
Для сравнения в Rust это пишется как u8::try_from(x & 0xFF).unwrap() и если лажанул, будет паника.
| |
|
|
3.591, warlock66613 (ok), 20:57, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Интересно. А особенно интересно как они будут это впихивать в стандарт. Одно дело — добрая воля компилятора, который хочу анализирую, не хочу — не анализирую, и совсем другое — описать анализ потока данных в стандарте.
| |
|
|
1.443, Ан Оним (?), 22:57, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Некоторые тут уже собрались хоронить С++, я скажу - подождите. Смотрите, есть компания Red Hat, она лидер в мире Linux-дистрибутивов, и она делает новую версию менеджера пакетов DNF 5 на С++ (не на Rust'е!) и переписывать его на Rust не собирается.
https://github.com/rpm-software-management/dnf5
Привязки для Python уже есть, для Perl и Ruby в разработке, а для Rust'а не только нет, но и не планируются даже. Так что старичку С++ ещё придётся помучатся ...
| |
|
2.454, Аноним (440), 00:16, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Некоторые тут уже собрались хоронить С++, я скажу - подождите. Смотрите, есть
> компания Red Hat, она лидер в мире Linux-дистрибутивов,
А есть компания гугл, которая делает AOSP, хромиум и хромось.
И там раст во все поля.
А еще есть амазон которая, и клоудфаря, которая конечно поменьше...
> Привязки для Python уже есть, для Perl и Ruby в разработке, а для Rust'а не только нет, но и не планируются даже.
Про "не планируется" это ты сам выдумал?
> Так что старичку С++ ещё придётся помучатся ...
И правда) Вместе с программерами.
| |
|
3.462, Аноним (462), 00:46, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Вы бы хотя бы статистику языков в перечисленных проектах на гитхабе посмотрели бы. Например, rust там в принципе нет. А это значит, что его там меньше 4%.
Где во все поля? В фантазиях.
| |
|
4.469, Аноним (479), 01:59, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Rust, он такой он скрытный.
Ты не видишь его на git хабе а он есть.
| |
|
|
|
|
2.453, Аноним (560), 23:58, 03/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Да, я пару дней назад уже замечал в списках этот проект (https://github.com/rsashka/memsafe)
Непонятно только почему так мало активности/популярности.
Пока это только proof-of-concept, надо думать.
Если нащупают решение, то это будет революция.
| |
|
1.448, Аноним (448), 23:23, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Тут, наверное, кто-нибудь уже пошутил про раннее зажигание насчёт первого апреля?
| |
|
2.488, Аноним (-), 05:23, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Спасибо. Теперь мы знаем, как его имя произносится на норвежском языке и английском языке.
| |
2.536, Аноним (536), 11:58, 04/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Его имя
У нас в 8Д аналогичный случай был. В кабинете литературы висит "Вильям Шекспир", а в учебнике по литературе написано "Уильям Шекспир". Такие дела...
| |
|
|
2.576, Аноним (-), 16:41, 04/03/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Си++ за столько лет хорошо зарос авном, в отличии от С
Который им был изначально (начиная с того цирка под названием стандартизация)))
Все таки не зря бедный автор ругал комитетчиков, которые сотворили такое, на чем писать нормально невозможно.
| |
|
3.623, Совершенно другой аноним (?), 16:27, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
>> Си++ за столько лет хорошо зарос авном, в отличии от С
> Который им был изначально (начиная с того цирка под названием стандартизация)))
> Все таки не зря бедный автор ругал комитетчиков, которые сотворили такое, на
> чем писать нормально невозможно.
https://www.stroustrup.com/From-C-to-Cpp-dmr.pdf
про комитет:
The upshot is that I think they did a good job. Certainly, though, if I'd continued to work on things, some of the details would have been different.
...
So, to summarize X3J11, the two largest things the committee did were function prototypes and the standardization of the library. It was more work than anybody expected, but I'm perfectly happy with what they did.
| |
|
4.625, анонимусс (-), 17:39, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
Речь была про С и Ритчи.
То что Бьйорни не будет ругать комитет в котором ему дали пожизненное место - это понятно.
| |
|
5.626, Совершенно другой аноним (?), 18:36, 05/03/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Речь была про С и Ритчи.
> То что Бьйорни не будет ругать комитет в котором ему дали пожизненное
> место - это понятно.
Вообще-то это интервью Ритчи.
И да, там он ругался на "no alias" и в стандарт этот "no alias" не приняли. Ещё ругался на прототипы функций, точнее, как я понимаю, на то, что оставили и старый вариант и новый. И тоже, его пожелание как-то учли.
| |
|
|
|
|
|