The OpenNET Project / Index page

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

Бьёрн Страуструп призвал стандартизировать профили C++ для безопасной работы с памятью

03.03.2025 12:08

Бьёрн Страуструп (Bjarne Stroustrup), создатель языка C++, призвал комитет WG21, отвечающий за разработку стандартов для языка C++, предпринять меры для сохранения актуальности C++ в условиях активного продвижения инициатив по переходу на языки, обеспечивающие безопасную работу с памятью. Страуструп считает, что язык С++ уже содержит все возможности, необходимые для безопасной работы с памятью. Остаётся только предоставить средства, гарантирующие, что код написан с использованием только безопасных возможностей.

По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры, так как Агентство по кибербезопасности и защите инфраструктуры США и ФБР стали более активно продвигать среди производителей ПО идею перехода на языки, безопасно работающие с памятью. До 2026 года производителям ПО рекомендовано разработать план по применению в своих продуктах технологий, защищающих от ошибок при работе с памятью, или переходу на использование языков, безопасно работающих с памятью.

Стандартизация возможностей для безопасной разработки на C++ позволит сохранить интерес к языку С++, особенно с учётом того, что разработчики существующих проектов на С и C++ смогут постепенно наращивать безопасность своих продуктов, не прибегая к инициативам по переписыванию на другом языке. В частности, проекты на C можно преобразовать в код С++, а за тем поэтапно переводить код на безопасные конструкции, следуя рекомендациям из руководства "C++ Core Guidelines".

Для обеспечения разработки безопасного кода Страуструп предлагает стандартизировать систему профилей C++, вводящих дополнительные требования к коду. Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции, но в отличие от них работают на уровне запрета применения определённых возможностей языка. К реализации предлагаются профили для безопасных типов, контроля времени жизни объектов, работы с допустимыми диапазонами значений и целочисленной арифметики. Привязку к профилям можно задавать не только для проекта и файлов (например, "[[profile::enforce(type)]]"), но и включать/отключать на уровне отдельных конструкций (например, "[profile::suppress(lifetime))] this->succ = this->succ->succ;").

Работа по повышению безопасности будет сводится к включению профиля для определённого кода и переписыванию частей, использующих небезопасные возможности языка, охватываемые выбранным профилем. Например, использование профилей поможет уйти от применения в коде сырых указателей и массивов, избавиться от приведения типов и защититься от обращений к неинициализированным объектам. Вместо сырых указателей можно использовать, например, умные указатели std::unique_ptr и std::shared_ptr с отслеживанием владения. При наличии в коде циклов "for", перебирающих отдельные элементы Си-массива, потребует заменить данные циклы на вариант с обработкой диапазонов "for(type variable : vector)", использующий std::vector.

Предложены следующие профили:

  • type - каждый объект должен быть инициализирован, не допускается приведение типов.
  • lifetime - запрещены ссылки на освобождённые или неиспользуемые области памяти, разыменование указателей, явный вызов new/delete.
  • bounds - требуется проверка допустимых диапазонов при работе с указателями, запрещены арифметические операции с указателями.
  • arithmetic - блокируются целочисленные переполнения, запрещены знаковые/беззнаковые преобразования, изменяющие значение.
  • concurrency - исключает операции, приводящие к взаимным блокировкам и состояниям гонки.
  • RAII (Resource Acquisition Is Initialization) - требует проверки владения для каждого ресурса.

Гарантии, реализуемые при использовании профилей:

  • Обращение к объекту допускается только в соответствии с типом, под которым этот объект был определён.
  • Каждый объект должен быть корректно создан и освобождён.
  • Каждый указатель должен указывать на корректный объект или нулевой указатель.
  • Каждая ссылка через указатель не должна переходить по нулевому указателю.
  • Каждое обращение через индексированный указатель должно находиться в пределах допустимого диапазона.


  1. Главная ссылка к новости (https://www.theregister.com/20...)
  2. OpenNews: Fil-C - компилятор для языков C и C++, гарантирующий безопасную работу с памятью
  3. OpenNews: Проект TrapC развивает Си-подобный язык, безопасно работающий с памятью
  4. OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
  5. OpenNews: C++ Alliance продвигает в C++ механизмы безопасной работы с памятью, опробованные в Rust
  6. OpenNews: Создатель C++ раскритиковал навязывание безопасных языков программирования
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62821-cpp
Ключевые слова: cpp, lang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (345) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, kravich (ok), 12:21, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +37 +/
    Засуетили, забегали)
    Это хорошо, хорошо
     
     
  • 2.2, НяшМяш (ok), 12:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Но ведь раст не настоящий язык, почему такая реакция /s

    Дидов корёжит и это хорошо. В результате выиграют все.

     
     
  • 3.6, Аноним (6), 12:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/
    От этого выиграет даже раст, которой без C++ного LLVM может примерно ничего.
     
     
  • 4.177, Соль земли (?), 15:05, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это будет его единственное предназначение.
     
  • 3.12, анонд (?), 12:33, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –6 +/
    Rust конкурент C т.к. в обоих языках нет ОПП в принципе. ООП черты имитируются и там, и там очень похоже.

    Go норм - на нем держится инфраструктура вроде Kubernetes, Docker, Helm, Prometheus, Grafana и тд. Java в морг, но C# норм. Ruby фтопку, уж лучше Python. SWift не пробовал никогда. Довольно нишевой, для macOS/iOS.

     
     
  • 4.19, Ося Бендер (?), 12:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Думаю, что Бэйсика хватит всем!
     
     
  • 5.107, Аноним (107), 14:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я соглашусь, только надо говорить о Free Pascal
     
  • 5.199, Аноним (199), 15:34, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В каких-то Бейсиках было обращение к адресам памяти - небезопасТно.
     
  • 4.29, Аноним (29), 12:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Rust конкурент C т.к. в обоих языках нет ОПП в принципе.

    на Rust не написать ничего подобного seL4, а ООП не нужен в принципе

     
     
  • 5.201, Аноним (199), 15:35, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лично тебе ненужен - не испольщуй.
     
  • 4.37, Аноним (37), 13:05, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > уж лучше Python

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

     
  • 4.46, n00by (ok), 13:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Rust конкурент C т.к. в обоих языках нет ОПП в принципе. ООП
    > черты имитируются и там, и там очень похоже.

    В Си++ нет ООП в принципе. ООП черты имитируются. Слова "метод класса" могут оказаться последними.

     
     
  • 5.122, тоже Аноним (ok), 14:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    C++ - мультипарадигменный язык. На нем можно писать объектно и аккуратно, как на Джаве. А можно настрогать портянку, как на С.
    К сожалению, студентов учат только второму, и они вообще не понимают, что такое С++. В принципе. Но при этом считают, что они этот язык - "выучили".
     
     
  • 6.137, n00by (ok), 14:24, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не понял, какая связь с моим сообщением. Намёк на то, что на Си++ можно написать паттерн синглтон?
     
     
  • 7.147, тоже Аноним (ok), 14:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Намек на то, что не надо тупых вбросов про "нет в принципе".
     
     
  • 8.267, n00by (ok), 17:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно, не надо тут вбрасывать Приму лишь цитату стандарта ... текст свёрнут, показать
     
     
  • 9.285, тоже Аноним (ok), 17:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https lleo me dnevnik 2011 09 16_mail - что уж цитату, вот сам стандарт ... текст свёрнут, показать
     
     
  • 10.303, n00by (ok), 18:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Стандарты у меня есть, и черновики есть Мне бы цитату про ООП Что-то вроде Th... текст свёрнут, показать
     
     
  • 11.309, тоже Аноним (ok), 18:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы сегодня уже второй человек на этом сайте, убедительно демонстрирующий мне пре... текст свёрнут, показать
     
     
  • 12.319, n00by (ok), 18:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я знаю, что цитаты из стандарта Си на тему ООП быть не может -- этим валят джу... текст свёрнут, показать
     
     
  • 13.334, тоже Аноним (ok), 18:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А я знаю, что человека-граммофона бесполезно сбивать с заготовленной речи - он т... текст свёрнут, показать
     
     
  • 14.361, n00by (ok), 19:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Осталось понять, зачем он влез со своим особо ценным мнением Не увидел подвох ... текст свёрнут, показать
     
  • 4.70, laindono (ok), 13:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В rust другая вариация ООП. Нет классов. Нет наследования. И то и другое есть хорошо. Плюс ООП не является доминирующей частью rust, которая диктует, как писать весь код. Оставаясь при этом инструментом на каждый день.
     
     
  • 5.96, Аноним (96), 13:52, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > И то и другое есть хорошо.

    Потому что ты так сказал?

     
     
  • 6.117, laindono (ok), 14:07, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Об этом даже в вики успели написать: https://en.wikipedia.org/wiki/Composition_over_inheritance
     
     
  • 7.257, penetrator (?), 16:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    тебе никто не мешает использовать композицию вмест с наследованием

    не нужно заменять наследование композицией, и наборот

    если использовать не подходящий вариант, то можно испортить что угодно

    а вот отсутствие такой возможности в принципе уже накладывает констрейнты на проектирование

     
  • 5.98, Аноним (98), 13:54, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >В rust другая вариация ООП.

    Не нужно изобретать свою собственную терминологию.

     
     
  • 6.138, laindono (ok), 14:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Рекомендую пойти и попробовать разные языки. Скажем, в JavaScript или Lua вариация ООП, основанная на прототипах.

    На счёт ООП в rust рекомендую 18 главу учебника: https://doc.rust-lang.org/book/ch18-00-oop.html
    https://doc.rust-lang.org/book/ch18-01-what-is-oo.html
    https://doc.rust-lang.org/book/ch18-02-trait-objects.html
    https://doc.rust-lang.org/book/ch18-03-oo-design-patterns.html

    Хотя предыдущие 17 могут быть нужны для контекста.

     
     
  • 7.148, Аноним (96), 14:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ООП для части - "поднятие солнца руками"

    ООП для другой части - мы поднимаем НОЧЬЮ прожектор и глядите - он как солнце

    Если чего-то сделать нельзя - это не достоинство - это недостаток. Хотя, кому я это говорю.

     
     
  • 8.178, laindono (ok), 15:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Продолжая аналогию, ООП в rust от самого сердца Не очень понимаю, о невозможност... текст свёрнут, показать
     
     
  • 9.182, Аноним (96), 15:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Для работы с железом нет необходимости в ФП, хотя использовать можно Для работы... текст свёрнут, показать
     
     
  • 10.207, laindono (ok), 15:42, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    С этим прекрасно справляются макросы Разумеется я не про C , там макросы скоре... большой текст свёрнут, показать
     
     
  • 11.208, Аноним (96), 15:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Часть структур с резервом в конце В подтипах в этом резерве лежат данные необхо... текст свёрнут, показать
     
     
  • 12.210, Аноним (96), 15:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И да Иногда резерв бывает в начале Со смещениями в минус ... текст свёрнут, показать
     
  • 10.313, n00by (ok), 18:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Функция не является объектом в терминологии Си , а не ООП Нельзя передать ... текст свёрнут, показать
     
  • 9.242, Аноним (98), 16:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте не смешивать в одну кучу разные понятия ООП вполне себе может жить и в ... текст свёрнут, показать
     
  • 8.365, YetAnotherOnanym (ok), 19:34, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Из-за ремней и подушек безопасности при аварии нельзя разбить голову о торпеду и... текст свёрнут, показать
     
  • 7.235, Аноним (98), 16:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Давайте хотя бы терминологию в программировании оставим в далеке от повестки Это... большой текст свёрнут, показать
     
     
  • 8.272, laindono (ok), 17:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какая ещё повестка Ты твитора обчитался или что ты несёшь вообще Есть ли где-т... большой текст свёрнут, показать
     
     
  • 9.355, Аноним (98), 19:10, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда смысл слов начинает перекручиваться, типа положительной дискриминации Таки... текст свёрнут, показать
     
  • 5.209, Аноним (199), 15:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как будто, C++ диктует, как писать. Да хоть в стиле C.
     
  • 4.97, Аноним (98), 13:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >Ruby фтопку, уж лучше Python

    Python тоже фтопку. Уже куча репозиториев заражена python-ом, хотя он там не нужен совсем, и в отличии от rust-а это почти никого не возмущает.

     
     
  • 5.135, waylandbeliver (ok), 14:21, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А руби-то лучше на самом деле, там хотя бы отступов нет.
     
  • 5.165, Аноним (165), 14:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что профессиональных, квалифицированных программистов знающих СИ, С++ становится всё меньше, а им на смену приходят вкатуны просле курсов, которые кроме Pyton не знаю ничего. Скоро всё будет на Pyton и тебе будут рассказывать что C++ не безопасен, а Pyton идеально подходит.
     
     
  • 6.189, Имя (?), 15:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что полно людей, для которых ЯП и программирование в целом вторичны по отношению к их основной специальности, всякие там млщики, математики и ученые. Им нецелесообразно разбираться какая там модель памяти в языке и как нужно классы отнаследовать, чтобы код был расширяемым. Лучше потратить время на развитие основных скиллов. Те же самые люди, которые напишут код на С вообще без отступов.

    Вот для них питон как раз хороший выбор и вкатывание ни при чем.

     
  • 6.247, Аноним (98), 16:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Потому что профессиональных, квалифицированных программистов знающих СИ, С++ становится всё меньше

    Вот как раз такие проекты и подвержены заражению питоном. Взять тот же vim - зачем ему питон? Или apparmor? Да что там, даже uBlock зачем-то заразился питоном, хотя у них уже есть js, могли бы и без питона обойтись.
    >и тебе будут рассказывать что C++ не безопасен

    Да, кресты небезопасны. Это неоспоримый факт, как бы вы к этому не относились

     
  • 6.253, User (??), 16:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это еще что! Тут вот набИгают неспособные название - название, Карл! языка программирования выучить...
     
  • 3.196, Аноним (199), 15:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так, ведь, поэтому и прелагается сделают в настоящем языке.
     
  • 3.226, Нуину (?), 16:04, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Дидов корёжит и это хорошо.

    Судя по таким комментариям - корежит только их авторов.

     
  • 2.5, kravich (ok), 12:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +6 +/
    >Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции, но в отличие от них работают на уровне запрета применения определённых возможностей языка

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

     
     
  • 3.36, trolleybus (?), 13:04, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > в кодстилях команд

    Точнее "в костылях команд". Увы, при нынешнем состоянии языка это костыли.

     
  • 3.144, sena (ok), 14:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Нигде больше, насколько мне известно, нет настолько выраженной ситуации, когда новые или мощные средства языка были бы проблемой на проектах, и требовали дисциплины от разработчика.

    perl

     
  • 2.102, xPhoenix (ok), 13:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что случилось? Ведь нормально же всё было. Что ни день, так новое CVE из-за неправильной работы с памятью. Где теперь хакеры харчеваться будут?
     
     
  • 3.152, Аноним (96), 14:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А что случилось?

    Тебе де сказали - требование оборонки.

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

     
     
  • 4.268, yet another anonymous (?), 17:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А ребята с той оборонки (?), что эти требования сформулировали (под определённую часть цифровиков), свои стулья сохранили в нынешней обстановке?
     
     
  • 5.270, Аноним (-), 17:17, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > А ребята с той оборонки (?), что эти требования сформулировали (под определённую
    > часть цифровиков), свои стулья сохранили в нынешней обстановке?

    Думаешь придут новые и скажут "а давайте писать как диды, ну чтобы китайские и корейские хакеры нас ломали полностью!"

    Хотя учитывая какой там сейчас сброд, то не удивлюсь)

     
     
  • 6.357, yet another anonymous (?), 19:14, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > "а давайте писать как диды, ну чтобы китайские и корейские хакеры нас ломали полностью!"

    Я придерживаюсь мнения, что новые веяния направлены на одновременное упрощение/унификацию внедрения и точное тагетирование объекта атаки. Это экономически целесообразнее, да и требует куда меньшей квалификации от атакующих. При современных реалиях разработки, естественно.

     
  • 3.219, Нуину (?), 15:57, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Где теперь хакеры харчеваться будут?

    Возьмутся наконец за раст, увидишь тогда, что нет CVE:)

     

     ....большая нить свёрнута, показать (57)

  • 1.3, Аноним (3), 12:22, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Какой ужасный синтаксис теперь в С++, код с вариадиками, обвешанный if constexpr, макросами, концептами и теперь уже профилями совершенно не читаем.
     
     
  • 2.4, Аноним (4), 12:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вопрос привычки. Раст слишком уж инородный, чтобы найти применение в большинстве областей.
     
     
  • 3.24, Аноним (24), 12:50, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –8 +/
     
     
  • 4.82, Аноним (82), 13:42, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +6 +/
     
  • 2.8, Hck3r (?), 12:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Пример бы такого кода на плюсах и аналог на расте для наглядности еще
     

  • 1.7, Аноним (7), 12:27, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Каждый объект должен быть корректно создан и освобождён.

    Ну надо же!
    Я думал что это должно быть по умолчанию для любой программы для с++.
    Ну, чтобы она работала правильно хотя бы в этом контексте.
    А тут оказывается для этого нужен отдельный профиль!

    Ну а если профиль не включен, то можно создавать и освобождать объекты не корректно?
    Как диды раньше?))

     
     
  • 2.14, Аноним (14), 12:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Прямо как программисты на Typescript. Вроде бы классы и красивая типизация, а в обертках код на жиэс, где на все эти типы кладется. Без кода на жиэс ничего работать не будет. И убрать его слишком долго/дорого.
     
     
  • 3.103, Аноним (98), 13:59, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Typescript давным давно можно было бы заменить любым вариантом: Ocaml, ReasonML, ReScript. Если особо хочется, то можно было бы взять даже Haskell или PureScript.
    >Вроде бы классы и красивая типизация

    Эта типизация прекрасно обходится даже без кода на js. Во-первых тип Any, во-вторых, если писать на ts как будь-то это динамически типизированный язык, то никаких ошибок компиляции не будет
    >Без кода на жиэс ничего работать не будет. И убрать его слишком долго/дорого.

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

     
     
  • 4.227, Нуину (?), 16:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Typescript давным давно можно было бы заменить любым вариантом: Ocaml, ReasonML, ReScript. Если особо хочется, то можно было бы взять даже Haskell или PureScript.

    Только не заменяется никак. В чем проблема?

     
     
  • 5.249, Аноним (98), 16:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Опять диды виноваты. Ой, то есть эти, как их там, а, да, сму3ихлёбы, да, они. Нормальным языкам к0пр0тивляются, ибо думать придётся.
     
  • 3.315, bdrbt (ok), 18:18, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Прямо как программисты на Typescript. Вроде бы классы и красивая типизация, а
    > в обертках код на жиэс, где на все эти типы кладется.
    > Без кода на жиэс ничего работать не будет. И убрать его
    > слишком долго/дорого.

    Что значит "обёртки" и "убрать"? Typescript - изначально надстройка над яваскриптом, в который он и транспилируется. Ляпнуть такое это всё равно что сказать, что любой язык - фуфло, потому что все эти классы, функторы это обёртки над ассемблером который поклал на классы и функции, а убрать его долго и дорого.

     
  • 2.99, Аноним (96), 13:55, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну а если профиль не включен

    То ты можешь прибить все что нужно туда куда нужно.

     
  • 2.129, тоже Аноним (ok), 14:16, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В С++ полно библиотек, предполагающих, что объект создается в пользовательском коде, а временем его жизни и освобождением памяти занимается библиотека. И компилятор от этой библиотеки видит только заголовки, так что проконтролировать не может ничего в принципе.
     

  • 1.11, Аноним (-), 12:31, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    "Вы зачем код с багами пишете? Пишите код без багов!"
    — Бьорн Страуструп, автор 14 разных методов инициализации в C++

    дед опять выдает базу, абсолютно базированную и абсолютно бесполезную))

     
     
  • 2.17, Аноним (17), 12:46, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Зачем вам топоры, пилы, струганки, наждачка, долота, гвозди и клей? Все надо делать одним топором!

    (с) очередной неосилятор с++ на опеннете.

     
     
  • 3.23, Аноним (-), 12:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Это ты так про Бьорна?
    Не надо, чел сделал большую работу. И заслуживают уважение.
    Да она получилась кривоватая, но... он сами в интервью рассказывал, что не является спецом по созданию языков.
     
  • 3.39, Аноним (39), 13:07, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Собственно так и изобрели мультитул
     
  • 3.65, Аноним (65), 13:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ты это серьезно?

    топоры, пилы, струганки, наждачка, долота, гвозди и клей для одной задачи - инициализация? кучей разных способов?

    учитывая, что это база, точно не надо к набору из "топоры, пилы, струганки, наждачка, долота, гвозди и клей" добавить специализированный инструмент "инициализатор", который будет заниматься, внезапно, инициализированием, и только им одним, единообразно и прозрачно?

     
     
  • 4.79, Аноним (-), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > ты это серьезно?

    Уверен на 99%, что да.

    > топоры, пилы, струганки, наждачка, долота, гвозди и клей для одной задачи

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


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

     
  • 4.85, Аноним (82), 13:43, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    если задача огреть по голове, то любое справится
     

  • 1.13, Аноним (14), 12:33, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Уместно спросить - может надо было сразу делать отдельный язык, а не надстройку, которая за сорок лет так и не смогла Embrace и Extinguish?
    Пора плюсам на свалку истории. Кто работает и не может перестроиться - никакой жалости, валите на пенсию.
     
     
  • 2.25, X512 (?), 12:50, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не забывайте, что все актуальные компиляторы Си написаны на C++. GCC был сначала на Си, но потом перешёл на C++.

    Компилятор Си на Си -- это разве что примитивный TCC, не умеющий оптимизации.

     
     
  • 3.156, Аноним (29), 14:36, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Не забывайте, что все актуальные компиляторы Си написаны на C++.

    актуальный как раз не на С++

    https://compcert.org

     
  • 2.38, Admino (ok), 13:07, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, выкинуть 40 с гаком лет написания кода и начать всё с нуля, такая прелесть.
     
     
  • 3.60, Фнон (-), 13:21, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Да, выкинуть 40 с гаком лет написания кода

    Делаются биндинги, новый код пишется на нормальном ЯП.

    > и начать всё с нуля

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

    > такая прелесть.

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

     
     
  • 4.101, Аноним (96), 13:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Одна проблема, когда вместо лошадки пробуют заставить впрячь в повозку слизня, ибо на нем ехать безопасно, как-то мало ассоциируется с прогрессом
     
     
  • 5.143, Аноним (-), 14:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > вместо лошадки пробуют заставить впрячь в повозку слизня

    Плохая аналогия подобна котенку с дверцей (с)

    Вон недавно раст-либа обогнала по скорости СИшную - у дидов предсказуемо подгорело)

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

     
     
  • 6.154, Аноним (96), 14:35, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > По скорости раст сравним с си или плюсами.

    Вот только на си и плюсах пишут полноценные проекты.

    А на rust уже почти допереписывали и планируют догнать по паритету функциональности к...

     
  • 6.288, Аноним (-), 17:51, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.126, Аноним (165), 14:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Что поделаешь. Прогресс не остановить, можно только замедлить суванием палкок в колеса.

    Прогресс, ага, про GNOME тоже самое твердят.

     
  • 2.130, тоже Аноним (ok), 14:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    На ту "свалку истории" изрядная очередь.
    Перед Плюсами туда давно отправлен, например, Пых - ужасный, неконсистентный, несколько раз переделанный... и продолжающий работать на 75% сайтов интернета, например.
     
     
  • 3.162, Аноним (-), 14:42, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    То что у нас есть уже 100500 написанных это одно.
    А сколько новых сайтов пишутся на пыхе? Это другое)

    Всегда новая технология будет соседствовать со старой.
    Например дома из "глины, овна и палок" стоили тысячелетиями.
    Потом пошел нормальный кирпич.
    А сейчас рядом с ним есть и железобетон, и пенобетон + ЖБ плиты, и всякие пустотелые керамики.
    Но куча домов по старой технологии будет стоять ровно столько, пока не развалятся или их не снесут.

     
     
  • 4.190, тоже Аноним (ok), 15:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А сколько новых сайтов пишутся на пыхе?

    Да столько же, ЧСХ. Ни одного альтернативного варианта, который позволит дешевле создать сравнимый результат, для массового сайта просто нет.

    Прогресс происходит отнюдь не в выпиливании Пыха и переползании на смузи-Ноду, например.
    А в более четком разделении фронта и бэка и передаче первому все больше работы. Причем не потому, что Пых плохой, а потому, что браузеры нынче стали достаточно жирными и достаточно стандартными, чтобы владелец сайта мог меньше тратить на сервер, свалив нагрузку на клиентов.

     
     
  • 5.250, Аноним (250), 16:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не только деление на фронт и бек, но и деление бека на экземпляры и модули, которые можно безопасно подменять, чтобы можно было по частям переписать с одного языка на другой, не останавливая сервис.

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

     
     
  • 6.261, тоже Аноним (ok), 16:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > экземпляры и модули, которые можно безопасно подменять, чтобы можно было по частям переписать с одного языка на другой, не останавливая сервис.

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

     
  • 6.356, Аноним (98), 19:14, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Но проблема больше в мотивации и в кадрах, потому что если у вас куча пхпшников, то они не все захотят переучиваться

    Зачем? Вы хоть десять фронтендов, хоть сто сделайте, без бекенда это работать всё равно не будет

     

  • 1.15, bdrbt (ok), 12:43, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры

    Не успеют, а если и родят что-либо, то это опять будет нечто монструозное, тянущее за собой половину буста и c сопроводительными доками чуть меньше "Войны и Мира" Толстого.

     
     
  • 2.18, Аноним (18), 12:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не смеши публику. Большинство из указанного включается с помощью опций -Werror у gcc или clang.
     
     
  • 3.22, bdrbt (ok), 12:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не смеши публику. Большинство из указанного включается с помощью опций -Werror у gcc или clang.

    Осталось рассказать это Страуструпу, а то он не в курсе поди.

     
     
  • 4.106, Аноним (96), 14:01, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема не в выявлении подобных мест. Это, очевидно, хотели сказать.

    Проблема только в том, что бы договориться разным разработчикам, как ОДИНАКОВО включать и выключать эти фильтры доступности функциональности для разных артефактов программы.

     

  • 1.20, MUTbKA (?), 12:47, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Страуструп - топовый тролль, конечно. Глумится и не скрывает этого.
     
     
  • 2.44, n00by (ok), 13:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле, что комитету следует успеть до конца года? :)
     
     
  • 3.81, Аноним (81), 13:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не только. Это полумеры все. Будет чуть лучше и чуть тормознее и больше похоже на Java.

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

    Или он думает, что те, кто не смогли в Rust, смогут проделать все то, что он написал? В любом случае придется корежить свои привычки.

     
     
  • 4.112, Аноним (96), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты или тролишь или не понимаешь о чем речь.

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

    То есть программа без таких настроек имеет доступ ко всей функциональности и, соответственно, компилируется.

    Добавляешь артефакту программы ограничивающую настройку и переписываешь его. Все остальное не трогая.

    В этом варианте программа ВСЕГДА готова к использованию в процессе такого рефакторинга.

     
  • 4.113, n00by (ok), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я "не смог" (не нашёл причин и целей) в Rust, но смог проделать описанное в стандарте. В чём проблема? Вполне проработанное ТЗ, если воспринимать его так.
     
  • 3.84, Аноним (84), 13:43, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вы зачем поставили слова "комитет" и "успеть" в одном предложении?
     
     
  • 4.115, n00by (ok), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так после "топовый тролль" же. Не все знакомы с работой комитета.
     

  • 1.21, fdn721 (ok), 12:48, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    По моему С++ уже ни чего не спасёт. Он просто устарел.
     
     
  • 2.30, X512 (?), 12:54, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Только вот беда, что в основе IT инфраструктуры по прежнему C++ и переписывать это не собираются. Компиляторы Си GCC, Clang -- на C++. Все браузерные движки на C++.
     
     
  • 3.40, n00by (ok), 13:08, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    "Бывает нечто, о чем говорят: «смотри, вот это новое»; но это было уже в веках, бывших прежде нас."

    В СССР было написано ПО под PDP-11 больше чем в США. Где сейчас DEC?

    В России было написано масса ПО на Delphi. Появился C#.

     
     
  • 4.375, Bottle (?), 19:59, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Лучше упомянуть такие языки как Алгол и BCPL, о них только помнят, никто ими не пользуется.
    А на Delphi до сих пор есть софтина - например, FL Studio.
     
  • 3.73, Аноним (-), 13:33, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Все браузерные движки на C++.

    Servo смотрит на это утверждение с недоумением.
    Не все конечно умеет, по сравнению с двумя (ок, тремя) другими, но если в него вложить столько же денег, то будет не хуже.
    Нужно только простимулировать к этому))

     
     
  • 4.119, Аноним (96), 14:08, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Нужно только простимулировать к этому))

    Что бы получить в  итоге "ну не смогла я, не смогла"?

     
     
  • 5.188, Аноним (-), 15:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Что бы получить в  итоге "ну не смогла я, не смогла"?

    С чего бы это?
    WebRender и многопоточное css прекрасено работают в FF.
    В остальном Servo сейчас работает отлично в контексте вложенных ресурсов.
    И нет никаких причин почему он станет работать хуже или вообще перестанет работать если туда сложить еще пару сотен лямов.

     
     
  • 6.204, Аноним (96), 15:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кобыла:
    Мужик, поставь на меня
     
  • 4.231, Аноним (250), 16:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > вложить столько же денег
    > Нужно только простимулировать к этому

    Надо просто убрать кучу ненужных web api и не раздувать веб-стандарты, тогда и свои бразуерные движки можно будет писать на любом языке.

     
  • 3.78, laindono (ok), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и переписывать это не собираются

    То-то столько драмы каждый раз, когда таки переписывают. Аж целого Линуса призвали.

     
     
  • 4.157, Аноним (96), 14:38, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тут есть ньюанс. Переписывать и переписать немного отличаются.
     
     
  • 5.349, Аноним (-), 18:55, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.83, Аноним (83), 13:42, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты бы хоть читал на что отвечаешь… Как всё написанное тобой соотносится с «C++ просто устарел»? :)
     
  • 3.86, Аноним (82), 13:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ну так переезжайте на марс, там ничего переписывать не придётся, всё с нуля. вам уже и язык подходящий сделали
     
     
  • 4.362, Аноним (362), 19:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    По-твоему там не будет доступа на GitHub?
     
  • 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 [^] [^^] [^^^] [ответить]  
  • +/
    > сравнительно недавно пропал смысл его использовать

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

     
  • 3.202, Аноним (202), 15:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    GCC это не «компилятор c»
    GCC это GNU Compilers Collection
    Коллекция компиляторов GNU
    Чуешь разницу?

    А то вы своей фантазией уже задолбали

     

  • 1.26, Аноним (-), 12:51, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > времени осталось очень мало и необходимо до 2026
    > года успеть предпринять какие-то меры

    Учитывая скорость работы комитета по стандартизаци...
    удачки, хехе))

    Учитывая, что отчет АНБ был опубликовал в конце 2022 года и никто не чесался больше двух лет, то как раз к 2036 плюсовики сделают новый стандарт. Но это не точно.

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

     
     
  • 2.32, Аноним (32), 12:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А чего АНБ свой проект Тор на Раст перевела.
     
     
  • 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 формы попытки взлома компанией апл телефонов пользователей и ВСЕ три были применены к управленцам Касперского.

    Так что запас карман не тянет.

     
  • 6.230, Аноним (199), 16:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >закладку прям в ядре линукса - 10 лет жила и всем было норм

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

     
     
  • 7.256, Аноним (-), 16:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ты бы хоть раз ссылочку привёл на эту закладку.

    Ищи по Bvp47.

    > А то, может, это и не закладка, а уязвимость, которых там немало бывает?

    Уязвимость, потому что сишник "забыл" проверить входные данные и получилось RCE с получением рута?

    Да-да, ну разумеется это точно не закладка, а просто уязвимость))
    Все сишники рано или поздно так делают, поэтому прекратите задавать глупые вопросы, гражданин.

     
  • 3.205, Аноним (202), 15:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Фантазеры, блин
    Tor Project был создан не АНБ(гражданская структура), а NRL(структурой военно-морского флота)
    Как же ваши фантазии про АНБ вокруг утомили
     
     
  • 4.232, Аноним (199), 16:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Главное, не отечественный т. майором.
     
     
  • 5.317, Холоп (?), 18:23, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, заморский барин получше будет.
     
  • 4.263, Аноним (96), 17:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    - Одно слово румын
    - Так он болгарин
    - Да?! А какая разница...

    Для большинства это обобщенное "тов. майор" только забугорный.

    И да. Операция Кондор. Проект синяя птица. И т.д. И т.п.

    Мы такого не придумаем, какое они отморозят...

     
     
  • 5.276, Аноним (202), 17:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да вот в том-то и дело, что нет там майоров, в АНБ этом вашем
    А в NRL есть(ну или капвторанги какие-нибудь)
    АНБ, как и ЦРУ, это гражданская организация и в ней нет воинских или специальных званий
     
     
  • 6.287, Аноним (96), 17:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    - Одно слово румын
    - Так он болгарин
    - Да?! А какая разница...
     
  • 3.265, yet another anonymous (?), 17:04, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Tor не АНБ (как тут верно уже указали). Он "инструмент", но в другом смысле --- ("если вы не поняли, кто тут лох, ..."). У АНБ-то как раз инструментаий наполовину на C++/наполовину на на Java'е.
     

  • 1.28, User (??), 12:52, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Воу, воу! Палехше! Куда так гнать, ну? Этж в 26 стандарт принять, в 30м поддержка (частичная, всеми разная) стандарта компиляторами появится, в 31 понять, что все не так и вот вам ещё один (но другой!, лудший) способ получения безопасной безопасности - так году в 35м придётся начинать ДУМАТЬ что-то там переписывать под самую пенсию? Неее. На это комитет пойтить не могет - мужики, может ещё годика три форму скобочек пообсуждаем? Юникод он большой...
     
  • 1.31, Аноним (32), 12:56, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А это не тот самый мужик, который в своей книжке писал что насоедование 8-го уровня это нормально?
     
     
  • 2.124, Аноним (96), 14:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > насоедование 8-го уровня это нормально?

    Трудно понять о чем ты. Переформулируй.

     
     
  • 3.298, Аноним (32), 18:01, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Про наследование.
     

  • 1.33, Аноним (107), 13:01, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Все сходится: ФБР, жесткое проталкивание и реклама Rust, слова Торвальдса
     
     
  • 2.142, Аноним (142), 14:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Про рептилоидов и плоскую землю забыл добавить
     
  • 2.332, Karl Richter (ok), 18:42, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ФБР и государству нужна кибербезопасность от внутренних и внешних врагов.
     

  • 1.34, Аноним (39), 13:03, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Средства(т.е. инструменты) есть, у̶м̶а̶ желания их использовать при политике "****, **** и в продакшн" нет.
    Когда от тебя требуют скорость, плевав на качество и тем более сферические стандарты в вакууме, то так то не до феншуя.
     
  • 1.35, n00by (ok), 13:03, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Жаль деда. Линуксоиды по сути его предали, не осилили плюсы в ядро.
     
     
  • 2.212, Аноним (212), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Жаль деда.

    Так он и не стал дедом, все такой же "мальчишка". Дед тот, слово (мысль, идея) которого имеет вес, а тут какое-то КИСА (осколок АНБ) имеет больше веса, и вес то совсем не мысли, а дубинки.

     
     
  • 3.283, n00by (ok), 17:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вряд ли его таким ужалить. Дед спорный, как и Вирт, но свой след оставил. В отличие от нытиков по поводу включения Rust в ядро, но их и совсем не жалко.
     
  • 2.289, Аноним (-), 17:52, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.41, Аноним (37), 13:08, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Жаль деда. Линуксоиды по сути его предали, не осилили плюсы в ядро.

    Не нужно его в ядро. По-моему мнению, C++ - это язык для прикладного программирования.

     
     
  • 2.63, n00by (ok), 13:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Мнение - это из области мнимого. В действительности драйвера антивирусов нередко пишут на плюсах.
     
  • 2.233, Аноним (199), 16:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Авторы Genode с вами несогласны,
     

  • 1.43, Аноним (37), 13:09, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Каждый объект должен быть корректно создан и освобождён.

    Гениально. А что, можно иначе?

     
     
  • 2.45, Прохожий (??), 13:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно. А еще некоторые в бинарниках шестнадцатиричным редактором заголовки правят.
     
  • 2.50, Фнон (-), 13:16, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Конечно!
    Просто добавляешь коммент "тут все ровно, мамой клянусь" и пишешь как получится.
    А там пусть потомки лет через 10 разбирают CVEшки.
     
  • 2.125, Аноним (96), 14:14, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Гениально. А что, можно иначе?

    Иногда НУЖНО иначе.

     
  • 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.
     
  • 3.359, Аноним (98), 19:18, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И дрежать только одно соединение за раз
     

  • 1.47, Аноним (47), 13:13, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    И как на таком новом-кленовом C++ написать linked-list?)
     
     
  • 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 единожды и использовать его везде. Свой список в каждом проекте писать это уже пережиток прошлого.
     

  • 1.48, Аноним (48), 13:13, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Поздно спохватились. Доктор сказал в морг, значит в морг. С++ изжил свое.
     
     
  • 2.57, X512 (?), 13:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что на замену?
     
     
  • 3.77, Аноним (48), 13:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Rust. Если уже Линус Торвальдс (ярый сторонник C и противник C++) начал отказываеться от C в пользу Rust - уже говорит о многом. А он в ЯПах разбирается получше местный диванных экспертов.
     
     
  • 4.299, Аноним (-), 18:02, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.88, Аноним (-), 13:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что на замену?

    Условный C++2.0.
    Нужно просто решиться и сломать обратную совместимость с++ сильнее чем при переходах между стандартами.

    Убрать все UB. Добавить то, что описано в предложении, на уровень языка, сделав его по умолчанию. А для использования всяких опасных штук сделать специальные директивы, тоже на уровне языка.
    Выкинуть всякие неудачные вещи, которые тянуть только ради совместимости.

     
     
  • 4.128, Аноним (96), 14:16, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Убрать все 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.

     
     
  • 8.192, Аноним (96), 15:27, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я вообще-то только это и комментировал А комбинаторный Из за одного типа над... текст свёрнут, показать
     
     
  • 9.193, Аноним (96), 15:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Забыл добавить похорошему бы А так разработчики решили забить ... текст свёрнут, показать
     
  • 9.195, Аноним (-), 15:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Давай по пунктам 1 сколько таких платформ 2 сколько из них живы 3 неужели о... текст свёрнут, показать
     
     
  • 10.206, Аноним (96), 15:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какая разница Это был пример ... текст свёрнут, показать
     
     
  • 11.255, Аноним (-), 16:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Разница огромная Если мы можем выкинуть 100500 ifdef ов для 100500 некроплатфор... текст свёрнут, показать
     
     
  • 12.273, Аноним (96), 17:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Любая хрень становится некро - только когда исчезают люди способные это поддержи... текст свёрнут, показать
     
  • 7.252, Аноним (98), 16:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >До недавнего времени тип char в ядре linux был для разных платформ разным. Где то знаковым, где-то беззнаковым

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

     
     
  • 8.274, Аноним (96), 17:23, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Операции сдвига UB ... текст свёрнут, показать
     
  • 4.146, Аноним (142), 14:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так ржавый и получится же ну. Только он уже готов и даже стабилен
     
     
  • 5.237, Аноним (199), 16:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не получится. Классов нет, наследования, шаблонов. В C++ 2.0, если таковой появится, это всё будет, но уже без сырых указателей, с контролем границ массивов по умолчанию.
     
     
  • 6.322, Вася Пупкин (?), 18:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так в русте же все эти штуки одним общим механизмом трейтов реализованы
     
  • 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 [^] [^^] [^^^] [ответить]  
  • +/
    Так комментарий выше - в аккурат про то, что а вот давайте теперь напишем... то, что Александреску уже двадцать лет назад написал, внезапно.
     
  • 6.238, Аноним (199), 16:24, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    SafeD там там теперь по умолчанию из коробки.
     
  • 4.161, Аноним (165), 14:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Условный C++2.0.

    С++++

     
     
  • 5.241, Аноним (199), 16:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    C+=2
     
  • 2.229, Нуину (?), 16:09, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > С++ изжил свое.

    Буквально все, чем ты пользуешься на нем. Изжил:) Откуда вы лезите? Где у вас гнездо? (с)

     
     
  • 3.246, Аноним (-), 16:36, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> С++ изжил свое.
    > Буквально все, чем ты пользуешься на нем.

    И? Когда появилось эл-во и факелы и свечки заменяли на него, наверняка такие же бухтели "вы эти лампочки пилят при свечах!! позор! никакого уважения к тысячелетним технологиям".

    > Изжил:)

    Ага. Именно изжил. В комитете раскол и Драма за Драмаю.
    Как минимум 2 группы тянут одеяло на себя.

    Тащится просто жуткое старье в угоду древним платформам.
    При некоторые вещи можно ускорить в 2-3 раза если поломать совместимость.

    open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1863r0.pdf

     
     
  • 4.340, Аноним (96), 18:46, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если бы электричество.

    А то ведь предлагают вместо свечей дыру в потолке прорубить. Правда ночью невидно ничего и дождь на голову падает, зато пожара не будет - безопасно!

     
  • 3.302, Аноним (-), 18:03, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.234, Аноним (199), 16:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Что-то Qtшники переписываться на Rust не спешат.
     
     
  • 3.305, Аноним (-), 18:04, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.326, НяшМяш (ok), 18:37, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Их уже переписали =)

    https://slint.dev/alternative-to-qt

     

  • 1.49, Аноним (49), 13:15, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    ИЧСХ, Паскаль с самого начала не давал программисту делать всё что угодно, а только то, что правильно. Потому что программист делает ошибки. Потому что программист хочет то, что он хочет, а не то, что он пишет. Через 50-60 лет до мэйнстрима дошло.
     
     
  • 2.56, Аноним (52), 13:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Просто до этого нехаватоло мощностей и приходилось выжимать до капли любым способом.
     
  • 2.61, Анонем (?), 13:23, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема Паскаля не в том, что он "слишком правильный". И даже не в том, что медленный. А в том, что он придуман в Европе, а не в США.
     
     
  • 3.140, SAI (ok), 14:25, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Насчёт "медленности" Паскаля вопрос сомнительный.
    Зависит от многих факторов, в том числе и от компилятора, но в среднем, примерно в 2 раза медленнее Си (в рейтинге сразу за Си).
    Та же Java (на тех же задачах), показывала производительность в 10 раз меньше.

    Была на опеннете такая статья с исследованием несколько лет назад. Не могу найти.

     
  • 3.321, Аноним (-), 18:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Проблема Паскаля не в том, что он "слишком правильный". И даже не в том, что медленный. А в том, что он придуман в Европе, а не в США.

    Не в бровь, а в глаз. 50 лет назад, американцы всячески игнорировали Алгол, и везде где могли протаскивали свой Фортран. В XXI веке создатель Питона внёс в язык оператор присваивания := , и тут американские программисты начали сильно возмущаться. Гвидо опечалился и хотел было покинуть пост лидера. В Америке был сговор компаний, не принимать на работу людей, которые пишут программы на Дельфи. Прикол в том, что Дельфи это американская программа.

    Я люблю Си и Юниксы. Но вынужден признать, у американцев есть неприязнь к европейским языкам программирования. Это факт.

     
  • 2.108, User (??), 14:03, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 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, что будет если его разыменновать, бывает ли там утечка памяти, бывает ли двойное освобождение и так далее. И как ко всему этому относится компилятор.
     
  • 2.149, Аноним (142), 14:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Паскаль - отличный язык. Но создавался он исключительно для обучения и там только и должен применяться
     
     
  • 3.243, Аноним (199), 16:33, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да что всё Поцкаль да Поцкаль? Ведь, есть же более промышленный Modula-2, который теперь и в GCC имеется. Со строгостью у него, должно быть, не хуже.
     
     
  • 4.308, Аноним (308), 18:09, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 3.307, Аноним (-), 18:07, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 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па - соловей".

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

     
  • 5.342, Аноним (-), 18:47, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 6.347, тоже Аноним (ok), 18:53, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.314, Аноним (-), 18:16, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Так удивился этому заявлению, что аж заглянул в свой архив. Нет, похоже, исходники тех программ из прошлого века, где использовались ассемблерные вставки и прямая запись в видеопамять (потому что штатные библиотеки люто тормозили

    То есть ты ставишь знак равенства между американской реализацией компилятора (Turbo Pascal), и настоящим компилятором созданным Никлаусом Виртом? А железо на котором ты запускал свои программы, тоже американского производства.

     
     
  • 4.341, тоже Аноним (ok), 18:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > тоже американского производства.

    Так точно! Сжечь на Вечном огне, без суда и следствия.

     
     
  • 5.345, Аноним (-), 18:50, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.311, Аноним (-), 18:11, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >ИЧСХ, Паскаль с самого начала не давал программисту делать всё что угодно, а только то, что правильно. Потому что программист делает ошибки. Потому что программист хочет то, что он хочет, а не то, что он пишет. Через 50-60 лет до мэйнстрима дошло.

    Проблема не в том, что до мэйнстрима что-то дошло или не дошло. Американцы были против Паскаля. Потому-что это европейский язык программирования. И все идеи идущие от Паскаля они упрямо игнорировали. Иногда они поступали хитро, потихоньку заимствовали идеи европейских учённых в обласи Информатики.

     

  • 1.51, Аноним (51), 13:17, 03/03/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +1 +/
     
  • 1.58, Аноним (58), 13:19, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > lifetime - запрещены ссылки на освобождённые или неиспользуемые области памяти, разыменование указателей, явный вызов new/delete.

    Тут уже поднапряглись авторы и пользователи Qt…

     
     
  • 2.72, Прохожий (??), 13:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Qt закрыть и забыть. Хорошо, много на нем не успел сделать.
     
     
  • 3.93, Аноним (93), 13:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А что вместо него?
     
     
  • 4.150, Аноним (29), 14:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    flutter, slint
     
     
  • 5.244, Аноним (199), 16:35, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Помнится, ещё какой-то Клиттер пытался взлетать, не вышло.
     

  • 1.59, Аноним (59), 13:20, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Отличная инициатива. Так оно и будет, затащат все основные примочки растов и никто никуда миргировать не станет, моментально отпадет желание переносить огромные пласты легаси кода.

    Так от части происходит и с другими платформами. Например java много впитал из scala, и теперь смысла как-то перекатываться на scala особо и нет.

     
     
  • 2.67, Фнон (-), 13:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так оно и будет,

    Может и будет, вопрос "когда")
    Пока комитетчики расшевелятся, пока это попадет в компиляторы...
    В некоторых крупных проектах уже полным ходом от дырявых ЯП избавляются - весь новый код пишут на более новых.

    Даже через три года, кол-во написанного кода будет достаточно существенным, программисты обучены, процессы настроены.
    А лет через 5-6 о возвращении к плюсам можно будет забыть.

     
     
  • 3.133, Аноним (96), 14:20, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Даже через три года, кол-во написанного кода будет достаточно существенным, программисты обучены, процессы настроены.

    Сколько там прошло с момента появления 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 - да, обещают, ... вот-вот...

     
     
  • 8.266, Аноним (-), 17:13, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Э То что оне не ПОФИГС совместимый не делает его упрощенным Pingora, Хикорри, ... текст свёрнут, показать
     
     
  • 9.346, Аноним (96), 18:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну не смогла я - не смогла Что это Это есть в дистрибутивах А вот в это верю ... текст свёрнут, показать
     
  • 4.175, Аноним (-), 14:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Сколько там прошло с момента появления rust.

    Первый стабильный релиз - май 2015.
    В андроид добавили в начале 2021 года.
    В ядро добавили в октябре 2022.

    > А в новостях про переписывальщиков только: паритет по функциональности планируется достич к ...

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

    Чего в расте меньше, так это возможностей отстрелить себе ногу, по самую опу.

     
     
  • 5.327, Вася Пупкин (?), 18:38, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а еще помимо языка удобный тулинг, стандартизированный подход к тестам, доке и бенчмаркам.
     
  • 2.114, Аноним (98), 14:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >и теперь смысла как-то перекатываться на scala особо и нет

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

     

  • 1.66, Прохожий (??), 13:26, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > запрещены ... явный вызов new/delete

    Всегда так делал и буду делать. Мне так удобно контролировать выделение/освобождение памяти. Кстати, GCC предупреждает, если в программе для объекта есть new, но нет delete.

     
     
  • 2.69, Аноним (69), 13:30, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты и без них можешь контролировать
     
  • 2.71, Аноним (-), 13:31, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А если 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 [^] [^^] [^^^] [ответить]  
  • +/
    >Функция исполнилась - освобождает ресурсы, которые выделяла

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

     
  • 4.80, Прохожий (??), 13:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вообще, считаю высшим пилотажем, когда вычисления производятся в тех же массивах, что были переданы в функцию (например, в некоторых алгоритмах линейной алгебры или теории дифференциальных уравнений). Хотя, конечно, о разрушении исходных массивов программист должен быть предупрежден.
     
     
  • 5.92, Аноним (92), 13:50, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    высший пилотаж :D
    тебе что 20 лет, как можно быть таким зелёным?
     
     
  • 6.100, Аноним (37), 13:57, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, зеленый он совсем. То ли дело, взять готовую библиотеку, которая хрен знает как и что считает, написать обвязку на Python и выдать на-гора готовый продукт. Всё равно никто пользоваться не будет.
     
  • 5.105, laindono (ok), 13:59, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Неужели это настолько сложно делать в C++, что это считается чем-то... стоящим упоминания?

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

    Звучит так, будто у вас до сих пор нет нормальной документации. Опять же, что значит "разрушение исходных массивов"? Это типа вот так:

    fn do_some_math<'a>(input: &'a mut [f32]) -> &'a [f32]

    Я для наглядности оставил маркер времени жизни, но оно так по умолчанию работает в данном конкретном случае (все 'a для наглядности). Тут буквально сказано, что функция использует входной кусочек памяти в качестве выходного кусочка памяти. И все подводные камни, связанные с таким использованием проверяются на уровне компиляции.

     
     
  • 6.131, Аноним (-), 14:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это не подойдет, по многим причинам:
    - у дедов уже зрение не то, они просто не видят мелкие символы


    '


    - других просто пугают незнакомые значки
    - да и это же надо подумать заранее, а то компилятор будет ругаться
     
     
  • 7.136, Аноним (96), 14:23, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какая-то мелкая букашка по монитору пробежала.
     
  • 7.168, laindono (ok), 14:47, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дедов на поддержку легаси можно оставить.

    > да и это же надо подумать заранее, а то компилятор будет ругаться

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

     
  • 6.172, Аноним (107), 14:54, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда сидишь на диване и палец об палец не ударяешь, всё предельно просто
     
  • 6.181, Аноним (181), 15:08, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > fn do_some_math<'a>(input: &'a mut [f32]) -> &'a [f32]

    У тебя ошибка, растолюб.

    Правильно вот так:
    fn do_some_math<'&^$a>(input: &!@#$'a mut [f32]) -> &()&%#'\'a [f32]

     
     
  • 7.183, laindono (ok), 15:17, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В реальном коде этот конкретный случай вот так выглядит:

    fn do_some_math(input: &mut [f32]) -> &[f32]

    На сишечке скорее всего что-то такое будет:

    void do_some_math(float*const input, int input_length, float**const output, int*const output_length);

     
     
  • 8.218, Аноним (181), 15:56, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Растолюб, почему у тебя длинна знаковая в примере на Си Вы же типа, в отличие о... текст свёрнут, показать
     
     
  • 9.245, laindono (ok), 16:36, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там скорее всего нужно использовать size_t Хотя всё это не важно для контекста ... текст свёрнут, показать
     
     
  • 10.262, Аноним (181), 17:00, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ну т е без раста вы также не можете чистый безопасный код написать Ясно-понятн... текст свёрнут, показать
     
     
  • 11.264, Аноним (-), 17:03, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 11.310, laindono (ok), 18:10, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я могу потратить полчаса времени и вспомнить детали С другой стороны я пишу на ... текст свёрнут, показать
     
  • 9.269, Аноним (-), 17:17, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А почему бы и нет Может это закладка чтобы потом туда -100500 передать Вот зах... текст свёрнут, показать
     
  • 8.260, Совершенно другой аноним (?), 16:57, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    скорее всего будет вообще не так Вы там const-ов наставили вообще не в тему Ск... большой текст свёрнут, показать
     
     
  • 9.295, laindono (ok), 17:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Неизменяемый указатель на изменяемую память fn do_some_math input mut f32 ... текст свёрнут, показать
     
  • 5.259, Аноним (98), 16:55, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А если мне эти данные ещё нужны, как быть в этом случае?
     

  • 1.89, Аноним (93), 13:48, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > lifetime - запрещены ссылки на освобождённые или неиспользуемые области памяти

    Ну, и как он предлагает этого достичь? Да еще и во время компилиции? Ну вот банальное типа:

    const int& i = std::max(x, 10);

    Сори, но у плюсов родовые травмы от С: в языке фундаментально не заложена безопасность - ни при работе с ресурсами, ни с арифметикой.

     
     
  • 2.95, Аноним (49), 13:51, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну как, запретить такие конструкции.
     
     
  • 3.222, Аноним (93), 16:00, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какие "такие конструкции"? Возврат ссылки, что ли?
     
     
  • 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.

    Нет, не продлевает.

     
     
  • 6.368, anonymous (??), 19:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    продлевает
     

  • 1.166, хрю (?), 14:47, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ага то есть был язык с++, наверно, самый переусложнённый из ныне используемых, а будет ещё и ещё переусложнённый? Причём обработка даже какого-нить utf8 на стандартных библиотеках какой-от цирк с конями. Далеки это трупы страусов от народа. Уж лучше пусть даже хруст будет.
     
     
  • 2.248, Аноним (82), 16:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Когда с++ разрабатывался, utf8 ещё не придумали.
     
     
  • 3.330, Вася Пупкин (?), 18:41, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    но большинство мейнстрим языков его смогли осилить, хоть даже и через боль. кто не смог скоро отомрет, раз плохо умеет адаптироваться?
     

  • 1.176, slew (ok), 15:02, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    На современном С++ (вернее, на стандарте 11 и выше) вообще можно писать как на питоне. Чуть ограничить совместимость с С-шными практиками, и это все что нужно, чтоб несиляторы не наделали себе в штаны. А то понаберут несоиляторов, вроде тех небинарных из мозиллы, которых к программированию просто нельзя подпускать. А те потом верещат на весь тырнет, что это ЯП-ы плохие, а не они бараны.
     
     
  • 2.211, Арман (?), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это ещё они про MISRA не слышали — вообще массовый подрыв произошёл бы.
     
     
  • 3.214, Карман (?), 15:48, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 2.333, Вася Пупкин (?), 18:43, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >На современном С++ (вернее, на стандарте 11 и выше) вообще можно писать как на питоне.

    С 14ю способами инициализации, ага.. что еще с чем сравнишь?

     
     
  • 3.350, slew (ok), 19:00, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >С 14ю способами инициализации, ага..

    Выбери один по вкусу, и используй только его. Или абы чо ляпнуть?

     
  • 2.337, Аноним (-), 18:45, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >небинарных из мозиллы, которых к программированию просто нельзя подпускать.

    Что за стереотипы. Откуда ты лохматый такой? Из пещеры?

     

  • 1.184, Аноним (184), 15:18, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вообще говоря, авторы Си задумывали так, что программы на Си будут использоваться со сборщиком мусора.

    По признанию самого Кернигана, ни одна программа на Си не должна превышать 500-1000 строк и в программе не будет более 1-2 вызовов malloc.

    А всё, что крупнее, будет уже обвязками на shell вокруг маленьких Си программ.

     
     
  • 2.213, Аннноним (?), 15:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Хм, весьма интересно, а нет какой-нибудь ссылки на исходник или около того? Хотел бы детальнее ознакомится с вопросом
     
     
  • 3.296, Аноним (184), 17:58, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    AWK programming language, Aho/Kernighan/Weinberger.

    The Unix Programming Environment, тот же Kernighan.

    Вторая книга особенно показательна, проводится в пример, например, troff, который состоит из десятка маленьких программ, соединённых пайпами.

    AWK это вообще по сути C со сборщиком мусора.

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

     
  • 2.280, Аноним (181), 17:38, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ага, верим. Особенно учитывая что Си создавался чтоб переписать UNIX с/на PDP11. Включая его ядро. Ядро с не более 1-2 malloc'ами и не длинее 1000 строк, и обвязки в ядре(!) на шелле(!) - это реально круто, без стёба (нет)
     
     
  • 3.300, Аноним (184), 18:02, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    При чём тут ядро?

    Во-первых, ядро тогда было сильно меньше.

    Во-первых, в ядре не так много malloc'ов.

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

    Обычный программист почти никогда не пишет ядерный код, поэтому ваша критика ну совсем пустая.

     
     
  • 4.320, Аноним (181), 18:29, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Изначально вброс был, что Си создавался чтоб писать проги не длинее 1000 строк и с 1-2 malloc'ами. Но Си создавался чтоб портировать UNIX, а не для того что ты только что придумал.

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

    Плйать, да откуда ты всё это берешь? Почему тогда физические сетевые интефрейсы не файлы /dev? А если все было бы не файл, а просто в памяти лежало без отражения на фс, то syscall'ы бы не работали?

    З.Ы. Напишешь amdgpu.ko чтоб не больше 1000 строк там было? Ну или может ядерный гипервизор?

     
     
  • 5.331, Аноним (-), 18:42, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чо так возбудился-то? Он просто процитировал мнение Кернигана, из книги написанной самим Керниганом. Кстати, Керниган не дурак и дельные вещи говорит.
     

  • 1.185, Аноним (185), 15:18, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот думаю.. если ИИ начнет писать код, то скоро требование человекочитаемости станет не важным... Тогда зачем все эти новые стандарты?
     
     
  • 2.217, Аноним (217), 15:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не начнет, сейчас только общий код выдает, который надо много править.
    А если начнет то тостеры будут писать композиции произведения получше людей, что обесценит это.
     
  • 2.316, slew (ok), 18:22, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >если ИИ начнет писать код

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

     
     
  • 3.351, Аноним (96), 19:01, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Э... галюцинированние без которого невозможно ни одно ИИ как на разработку ложится?
     

  • 1.191, Ivan_83 (ok), 15:27, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Даёшь ещё больше сахару в ЯП!!!!


    > Профили близки к применению флагов "-Wall" и "-Wextra" при компиляции

    Так а кто ж раньше то мешал это юзать?)

     
     
  • 2.224, Аноним (93), 16:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Даёшь ещё больше сахару в ЯП!!!!

    Где ты это увидел в новости?

     
     
  • 3.291, Ivan_83 (ok), 17:53, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А настройки профилей это не расширяет список того что надо знать и прописывать куда то?
     
     
  • 4.367, Аноним (367), 19:40, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Еще раз: При чем здесь синтаксический сахар, о котором ты вещал?
     

  • 1.215, Аноним (217), 15:52, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Наконец то достойный конкурент rust y, если я правильно понимаю.
     
  • 1.220, Аноним (220), 15:58, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень даже логично заюзать флаги при компиляции, не ломая кода

    Хочешь пиши Си с классами, хочешь C++

     
     
  • 2.329, Аноним (-), 18:39, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.370, чатжпт (?), 19:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Хочешь пиши Си с классами, хочешь C++

    и получится лапша из смеси того и другого обмазаная CVE, что собственно практика и показывает

     

  • 1.221, Нуину (?), 16:00, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > По мнению Страуструпа, времени осталось очень мало и необходимо до 2026 года успеть предпринять какие-то меры

    Смешно. Там просто ГОРЫ важного кода на С++ и С, который никто не будет переписывать. Разве что с помощью AI. Но они даже крипту осилить не могут пока.

     
  • 1.223, Нуину (?), 16:02, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сейчас все навалятся на раст, потребуют чего не хватает. Раст скатится в еще больщее УГ. Все ошибки все равно ловить не будет. Потом будете сами стонать раст - не торт! Скриньте.
     
  • 1.225, Big Robert TheTables (?), 16:03, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Они так уже с TCP на OSI переходили, даже целый RFC наваяли, №1169 - с дедлайном август 1990го.
    В айти такое форсирование не работает.
     
     
  • 2.271, Аноним (-), 17:19, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В айти такое форсирование не работает.

    Работает, но не в контексте TCP.
    Просто на тендер не допустят часть фирм. А другие пройдут.
    Есть маленькая веротяность, что на тендер нитко не придет, но учитывая суммы - это очень-очень-очень маловерятно))

     

  • 1.275, Аноним (275), 17:32, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Агентство по кибербезопасности и защите инфраструктуры США и ФБР стали более активно продвигать среди производителей ПО идею перехода на языки, безопасного работающие с памятью.

    Теперь все стало понятно.

     
     
  • 2.282, Аноним (308), 17:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вой гуманитариев на болоте. Пусть продолжают предлагать и сражаться с ветряными мельницами.

    Аду спецслужбы уже давно пролюбили, хотя язык был куда интереснее хипстерского расто-поделия.

     

  • 1.281, Аноним (-), 17:38, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >В частности, проекты на C можно преобразовать в код С++

    А ха--а-ха! Держи карман шире! Сишный код останется сишным плюсовики идут лесом. Пусть ФБР и Агентство по кибербезопасности засунут свои рекомендации в одно место.

    Руки прочь от божественной сишки!

     
     
  • 2.338, Вася Пупкин (?), 18:46, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Эскобарщина
     

  • 1.284, Аноним (-), 17:45, 03/03/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.290, Аноним (308), 17:52, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так других вариантов и нет. Бьёрн Страуструп абсолютно прав. Нужно допиливать инструменты.
     
     
  • 2.304, Аноним (304), 18:04, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Qt 8 на Rust, KDE 8  на Rust.
    Трепещите!
     
     
  • 3.312, Аноним (308), 18:14, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     
  • 3.318, Аноним (199), 18:23, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Гостья из будущего?
     
     
  • 4.323, Аноним (304), 18:32, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Либо код для оборонщиков под Qt после 2026 просто не примут, а бабки терять не захотят.
     
     
  • 5.328, Аноним (199), 18:39, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну будем посмотреть, как не примут импортозаместительный (будто, у них выбор будет).
     
  • 5.348, Аноним (308), 18:55, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.372, чатжпт (?), 19:50, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    его не допиливать нужно, а выкидывать, но жалко
     

  • 1.292, Аноним (292), 17:53, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > язык С++ уже содержит все возможности

    Нихрена он не содержит. Во-первых, о какой безопасности можно говорить без поддержки лайфтаймов в синтаксисе? А без явной связи мутекса с данными которые им синхронизируются? Сделайте хотя бы чтобы нельзя было обращаться к moved-from объектам, пока это вообще абсолютно легальное поведение.

     
     
  • 2.301, Аноним (32), 18:03, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если это будет отключаемой или опциональной возможностью никто пользоваться не будет.
     
     
  • 3.306, sena (ok), 18:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Если это будет отключаемой или опциональной возможностью никто пользоваться не будет.

    Будут когда государство при закупке напишет в тендере, что софт должен компилироваться с этой опцией,

     
     
  • 4.325, Аноним (-), 18:36, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Будут когда государство при закупке напишет в тендере, что софт должен компилироваться с этой опцией,

    Омага! Запахло расиянщиной.

     
     
  • 5.343, sena (ok), 18:48, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>Будут когда государство при закупке напишет в тендере, что софт должен компилироваться с этой опцией,
    > Омага! Запахло расиянщиной.

    Ты думаешь тендеры придумали в РФ? :)

     
     
  • 6.353, Аноним (96), 19:06, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Причём на их тендерах зарапилят на порядки больше
     

  • 1.297, Аноним (304), 18:01, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    RIP C++
    А Бьёрну всё денег мало с книг.
     
     
  • 2.324, Аноним (308), 18:35, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.336, Facemaker (?), 18:44, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Бьёрну всё денег мало с книг

    Я не думал, что он прям такой меркантильный. На фотках выглядит аскетом :).

    Возможно, просто работает инстинкт защиты любимого дитяти :). Как многие выдающиеся творцы, не смог вовремя уйти на покой.

     
     
  • 3.339, Аноним (339), 18:46, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну ты знаешь, зай, не думал, так полдумай.

    Тут скорее инстинкт нападения на чужеродное

     
     
  • 4.363, Facemaker (?), 19:26, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя, ещё немного подумал... На Страуструпе лежит огромная ответственность. От C++ сейчас зависит очень многое, и если он махнёт рукой и скажет "да порасти оно всё огурцами, пусть творят что хотят", последствия могут быть катастрофичными для множества компаний и людей.
     

  • 1.352, Аноним (-), 19:06, 03/03/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.354, Аноним (354), 19:07, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Rust это не только про безопасную работу с памятью, но и про оптимизацию работы с памятью. Получится ли в C++ при включении безопасного профиля автоматически применять __restrict к указателям?
     
     
  • 2.358, Аноним (4), 19:15, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Не совсем так. Раст -- это про бесконтрольные утечки памяти в неизвестном направлении, которые невозможно нормально диагностировать. И постоянные сложности с многопоточными приложениями. Средства инструментирования для плюсов на гораздо лучшем уровне.
     
     
  • 3.364, Facemaker (?), 19:28, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Раст -- это про бесконтрольные утечки памяти в неизвестном направлении, которые невозможно нормально диагностировать. И постоянные сложности с многопоточными приложениями.

    Отборнейший бред!

     
     
  • 4.369, Аноним (4), 19:47, 03/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.360, Аноним (360), 19:18, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Допустим нет, не получится. Тогда получается, что раст отстой потому что в LLVM __restrict не будет применяться к уккзателям автоматически, а раст компилируется LLVM'ом.
     

  • 1.366, Аноним (308), 19:38, 03/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А почему бы и в самом деле не реанимировать Паскаль? К нему претензий нет у Агентства по кибербезопасности и защите инфраструктуры США и ФБР.
    Паскаль приятнее ржавчины во всех отношениях.
     
     
  • 2.371, anguest (?), 19:49, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Он никуда не девался, FreePascal потихоньку что то там пинают еще оставшиеся в живых олды. Сам пару лет назад делал один проект на нем и даже получилось лучше всех новомодных шляп. Но время идет.. теперь копаюсь в rust и go, так как ума не хватило осилить сборку проектов кhоме как в IDE паскаля. Если интересно покопать, CodeTyphon вам в помощью.
     
     
  • 3.374, Аноним (308), 19:56, 03/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это лишь вопрос финансирования. На Паскале очень много всего написано, в отличие от Го и Раста. По любому далеко не всем понравится ковырятся в синтаксисе Раста, поэтому возрождение Дельфи - уже не звучит как шутка.
     
  • 2.373, Аноним (308), 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"

    Лучший кандидат на замену Си++ - это Паскаль. На втором месте Го. Раст - это если уж совсем нет вариантов.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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