The OpenNET Project / Index page

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

C++ Alliance продвигает в C++ механизмы безопасной работы с памятью, опробованные в Rust

17.09.2024 13:50

Президент организации C++ Alliance объявил о работе над спецификацией, добавляющей в язык C++ расширения для безопасной работы с памятью, напоминающие возможности, реализованные в языке Rust. Для осуществления проекта привлечён Шон Бакстер (Sean Baxter), автор экспериментального C++-компилятора Circle, развивающего идеи по повышению безопасности кода C++, реализуемые на стороне компилятора без использования сборки мусора. В рамках проекта Шон опубликовал документ с анализом применимости тех или иных мер защиты, предлагаемых в языке Rust, оценкой возможности их реализации для C++ и предложениями по добавлению в язык C++ расширений, повышающих безопасность кода.

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

Безопасность работы с памятью предлагается обеспечить при помощи механизмов, реализуемых на этапе компиляции и не приводящих к дополнительным накладным расходам, свойственным языкам, использующим сборщики мусора. В качестве основных предлагаемых методов обеспечения безопасности упоминается отслеживание владения объектами, проверка заимствования переменных (borrow checker), использование безопасного контекста (safe), создание интерфейсов std2::send и std2::sync. Работа также охватывает создание защищённого варианта стандартной библиотеки, предлагающего реализации алгоритмов и структур данных, позволяющих безопасно работать с памятью.

  1. Главная ссылка к новости (https://www.theregister.com/20...)
  2. OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
  3. OpenNews: Создатель C++ раскритиковал навязывание безопасных языков программирования
  4. OpenNews: 70% проблем с безопасностью в Chromium вызваны ошибками при работе с памятью
  5. OpenNews: Cloudflare перешёл с NGINX на собственный прокcи Pingora, написанный на языке Rust
  6. OpenNews: АНБ рекомендует переходить на языки программирования, безопасно работающие с памятью
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61878-cpp
Ключевые слова: cpp, rust, memory, safity
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (323) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Минона (ok), 14:42, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    > C++-компилятора Circle

    Убийца Rust № 1.
    Кто следующий?

     
     
  • 2.89, Аноним (89), 17:08, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Если в какой-нибудь C++2next примут, то все компиляторы станут убиийцами.
     
  • 2.385, adolfus (ok), 12:22, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Смишно. Этот альянс -- сборище жуликоватых хитрованов. Зарегистированы, как торговая организация с очень интересными правами -- донаты юридических и физлиц не облагаются налогами, плюс исключаются из налогооблагаемой базы донатящих.Ну и фоты на интернет-простыне -- к ак говорится, бог шельму метит.
     

  • 1.4, Аноним (4), 14:43, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    +100500% compilation times?
     
     
  • 2.91, Аноним (89), 17:12, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +13 +/
    Ради такого дела и дела вытеснения Rust стоит подождать. Это лучше, чем +90 Gb для сборки Rust.
     
     
  • 3.99, Аноним (99), 17:33, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +10 +/
    > Это лучше, чем +90 Gb для сборки Rust.

    А почему не 900 Gb? Слабенько набрасываешь...

     
  • 3.175, Аноним (175), 21:17, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Это лучше, чем +90 Gb для сборки Rust.

    А зачем вы его пересобираете?

     
     
  • 4.213, Прохожий (??), 01:45, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Как-то время скоротать, например. Видимо, других, более полезных занятий не нашлось.
     
  • 4.250, Аноним (250), 09:15, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы пересобирать, надо для начала хотя бы собрать.
     
     
  • 5.262, that is not this (?), 09:43, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    beyond from beyond from rust
     
  • 5.310, Аноним (310), 17:27, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Бинарный кеш в ваших репах не изобретён?
     
  • 2.123, Аноним (123), 18:35, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так-то и Раст довольно медленно компилиться, медленнее С++
     

  • 1.5, Аноним (5), 14:43, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ёж++ птица гордая... Но лучше поздно, чем никогда. Ещё бы модули везде были.
     
     
  • 2.31, Fjyj (-), 15:31, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –9 +/
    Так боюсь уже поздно.
    Просто представь новичков, которые ищут "а какой язык стоит учить?".
    Если они поумнее и не хотят идти в вебкамаки на всяки JS/TS, то выбора из современных у них не так уж много.

    Если мобилки - то swift/kotlin,  ну и всякие флаттеры.
    Если серваки то там гошка и прочая вебня.
    Если хочеться в геймдев (с кранчами по 80 часов) - С++.
    Но не факт, что там будет это новый C++ Circle.
    Значит или учить оба или выбирать.

    Чистую СИшку учить может только любитель всяких некропрограмм и легаси.
    Т.к даже под микроконтролееры можно писать и на плюсах и на расте.

    Когда это примут, будет ли оно частью стандарта или просто сбоку прилеплено..
    А тут уже есть Rust, который добавляют в ядро, на котором уже пишут проекты и даже ОС.
    Выбор кажется очевидным.

     
     
  • 3.39, Аноним (39), 15:40, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Если хочеться в геймдев (с кранчами по 80 часов) - С++.

    Но не факт, что там будет это новый C++ Circle.

    В геймдеве в гробу видали как новые стандарты C++, так и стандартную библиотеку полюсов.  А на вопросы безопасности там и подавно наплевать.

     
     
  • 4.142, Александр (??), 19:25, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, не то, что бы видали. Сам из геймдева. Стандартную библиотеку используем, ибо со своими граблями проблем больше. На соседнем проекте своя, но там исторически сложилось: игре порядка 15 лет, ещё под симбианы выпускалась. Да и то пытаются отвинтить.
    Что касается новых стандартов, это похоже у всех в плюсах. И дело не в том, что не нужно, а в том, что:
    1. Свежие стандарты сырые. Минимум следующий жди.
    2. Не очень поддержка (в пример модули те же).
    3. Переход бывает затратен без особого профита.
     
  • 4.257, n00by (ok), 09:36, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > В геймдеве в гробу видали как новые стандарты C++, так и стандартную
    > библиотеку полюсов.

    EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations.

    https://github.com/electronicarts/EASTL

     
  • 3.66, Аноним (66), 16:10, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Т.к даже под микроконтролееры можно писать и на плюсах и на расте

    Так можно хоть на луа писать, вот только пишут все равно на сишке.

     
     
  • 4.93, Аноним (-), 17:18, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Естественно.
    У нас есть целые поколения покалеченные сишкой.. на чем им еще писать?
    Когда тебе просто плевать на надежность кода и ты как "самые лучшие инжинеры тойоты" просто ребутаешь микроконтролер в случае ошибки,  то можно и на дыряшке писать.

    А если нет, то испольузется Ada/SPARK.
    Сейчас к этому списку может добавиться раст.

     
     
  • 5.267, cr (??), 10:04, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что вы носитесь из темы в тему с этой тоётой? какбудто она единственная кто пишит МК на сях, а остальные на божественном^W расте^W хз чём.
    в чём язык виноват, если тоёта набрала чудаков
     
  • 3.94, Аноним (89), 17:18, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Так боюсь уже поздно.

    Не поздно. Тот пресловутый корован, который, как бы, идёт, но только всё ещё больше лает, чем идёт.

     
     
  • 4.103, Аноним (103), 17:54, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Не поздно. Тот пресловутый корован, который, как бы, идёт, но только всё ещё больше лает, чем идёт.

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

    Хаха, тогда твоя наивность просто необъятная.
    Естественно копротивеление будет максимальное.
    Понятно что старички будут держаться за насиженные теплые местечки и делать себе job safety любыми способами.

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

     
     
  • 5.109, Аноним (109), 18:05, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > "да, конечно, я готов учить что-то новое"

    как в анекдоте про байкеров "вы каждый год новые". Диды просто видят, что не осилят и свою работу и переписывание и видят, что осиляторов полным-полно

     
     
  • 6.119, Аноним (-), 18:23, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > как в анекдоте про байкеров "вы каждый год новые".

    Угу, думаю конюхи точно так же думали про эти ваши новомодные тарахтелки.
    Мало того что жужжит, так еще и топливо в аптеке покупать нужно, оно воняет.. не то что родной конский навоз!

    > Диды просто видят, что не осилят и свою работу и переписывание и видят, что осиляторов полным-полно

    Да, по кол-ву CVE видно как диды осиливают свою работу.
    Бедняга Линус ноет что за 33 года (наверное на печи лежали) не осилили даже базовый менеджмент памяти:
    "You'd think that all the basics would have been fixed long ago, but they're not. We're still dealing with basic issues such as memory management."


     
     
  • 7.160, Аноним (109), 20:20, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Угу, думаю конюхи точно так же думали про эти ваши новомодные тарахтелки.

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

    > Да, по кол-ву CVE видно как диды осиливают свою работу.

    да я уже понял, что диды плохие. Я не понял, почему они должны что-то осиливать в отношении раста. Вообще не понимаю зачем чего-то требовать от плохих дидов, если можно сделать хорошо.
    Сделаете хорошо -- диды останутся без работы и им придется выучить раст

     
  • 7.204, RM (ok), 01:02, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > "You'd think that all the basics would have been fixed long ago, but they're not. We're still dealing with basic issues such as memory management."

    Сдается мне что это не про аллокатор, а про 12309 и обработку oom.

     
  • 6.132, _ (??), 19:00, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хороший анекдот! Таки надо рассказать Сонечке (С)
     
  • 5.145, Александр (??), 19:31, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема не в осиляторстве. Проблема в том, что за это осиляторство платить никто не будет. Вот есть проект, хотя бы на 500тыс строк. Сколько надо влить, дабы его переписать на раст? Допустим, частично, ок. Тогда ловим траблы со связыванием: обиблиотечивание того, что не особо надо обиблиотечивать. Плюс пайплайн сборки курочить. На это добрый мес уйти может вполне, а за чей счёт?
     
     
  • 6.167, Аноним (-), 20:32, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Просто так, ради искусства Не, тогда не имеет смысла Или у нас просто куча баг... большой текст свёрнут, показать
     
     
  • 7.198, Аноним (109), 23:50, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    только проблема в том, что куча багов у нас уже есть и теперь нужны еще программ... большой текст свёрнут, показать
     
     
  • 8.244, Аноним (-), 08:56, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На божественной сишечке куча багов А не еретик ли ты Но даже если эта куча е... большой текст свёрнут, показать
     
     
  • 9.268, Аноним (109), 10:05, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    так вроде никто не утверждал, что на божественной сишечке не делают логических о... большой текст свёрнут, показать
     
     
  • 10.275, Аноним (-), 10:46, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так проблема не в логических ошибках Против них реально работает только формаль... большой текст свёрнут, показать
     
     
  • 11.296, Аноним (109), 16:23, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема, что их тоже надо исправлять Но это не я еретиков каких-то рассмотрел т... большой текст свёрнут, показать
     
  • 7.207, Александр (??), 01:07, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не знаю, как там на сях, у нас sigabrt 2-5 раз в год по большей части либо в др... большой текст свёрнут, показать
     
  • 6.188, Аноним (175), 22:41, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Вот есть проект, хотя бы на 500тыс строк. Сколько надо влить, дабы его переписать на раст? Допустим, частично, ок. Тогда ловим траблы со связыванием: обиблиотечивание того, что не особо надо обиблиотечивать

    Нужно переписывать плавно и неспеша. https://habr.com/ru/articles/511478/
    >На это добрый мес уйти может вполне, а за чей счёт?

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

     
     
  • 7.211, Александр (??), 01:13, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Нужно переписывать плавно и неспеша.

    Статья про си. С плюсовым такое не проканает: минимальная переписываемая единица будет класс, да и то не всегда, если он покрыт шаблонной магией. А это от дня до недели разработки + тестирование

    > А делается это за счёт тех, кому данный проект нужен

    Им нужен проект и деньги с него, а не защита от каких-то мифических багов

     
  • 6.194, adolfus (ok), 23:19, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Есть проект на коболе. Сколько нужно заплатить, чтобы переписать его на <...>?
    Есть проект на фортране. Сколько нужно заплатить, чтобы переписать его на <...>?
    Так вот, никто никому ничего платить не будет, поскольку все написанное на "опасных", бл..ть, для тупых программиздовъ языках, работает без осечек.
    Пример: "дид" Д. Кнут xep знает когда написал TeX. Одна из тех программ, которые не нуждаются в постояном дописывании/переписывании. И никаких проблем с выделением/освобождением памяти и выходом за какие-то пределы там не наблюдается. Может просто признать, что 99% так называемых "программистов" тупые дoлбойoбы, не способные без сработавшего UB даже helloword написать.
     
     
  • 7.241, Аноним (241), 08:33, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Может просто признать, что 99% так называемых "программистов" тупые дoлбойoбы, не способные без сработавшего UB даже helloword написать.

    О, ну это классика. "Зачем вы пишете с багами? Просто пишите без багов!".

     
  • 7.242, Аноним (-), 08:44, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Только если это хеллоуволрд Посмотри на ядро где менеджмент памяти до сих пор с... большой текст свёрнут, показать
     
  • 5.176, Диды (?), 21:21, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Что диды неосиляторы, которые одной ногой в маразме

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

     
     
  • 6.190, Аноним (175), 22:45, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Всё что есть в индустрии - это написали мы, диды.

    Спасибо, диды, за IE 6, сам по себе такой бы монстр не появился. А ведь сколько подобных монстров диды насоздавали: SysVinit, bash, perl, make, autotools и куча прочего. До сих пор от всего не избавились.

     
  • 3.111, Аноним (111), 18:06, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Можно Но 1 На сях вы будете выдавать продуктивный результат сильно быстрее... большой текст свёрнут, показать
     
     
  • 4.114, Аноним (-), 18:12, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > safety critical и прочие требовательные штуки на сях - тупо проще и быстрее

    Слава богу, в safety critical сишку чаще всего не подпускают на пушечный выстрел. Иначе бы был целый самолетопад.
    А где пускают - то там всякие мисры, которые к си отношения практически не имеют, один синтаксис общий.

    > использование своего субдиалекта

    Не хуже чем написание своих велосипедов на си, когда чего-то не находится в стандартной либе.
    Вон недавно свой сплит писали... и дописались до CVE.

     
  • 4.115, Аноним (-), 18:16, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что такое продуктивный результат Если х-к-х-к и в продакшн, то да Но почему-... большой текст свёрнут, показать
     
  • 4.147, Bottle (?), 19:38, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Чел, этот миф про субдиалект уже всем порядком надоел. В любом тьюринг-полном языке можно выработать свой особый стиль написания кода.
    Си, к слову, ещё хуже, так как то, что решается из коробки плюсовыми шаблонами и consteval'ом, решается в Си через такой жуткий костыль как макросы, и то не полностью.
     
  • 3.143, Александр (??), 19:27, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    С МК у раста пока не шибко хорошо. Какие-нибудь arm - норм, а вот тот же avr, на сколько знаю, ещё в третьей стадии поддержки
     
     
  • 4.159, Аноним (-), 20:16, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > С МК у раста пока не шибко хорошо. Какие-нибудь arm - норм,
    > а вот тот же avr, на сколько знаю, ещё в третьей стадии поддержки

    Вообще не вижу смысла в avr для новых проектов. Вот совсем.
    Для новых есть сотни вариантов stm32, причем младшие дешевле avr и производительнее.
    Есть прочие ARMы, есть ESP32, есть еще куча других.
    А старые никто переписывать не будет.

    Но если вы в теме, может опровергнете такое мнение.


     
  • 3.302, 1 (??), 17:01, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Выбор кажется очевидным.

    JAVA ?

     

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

  • 1.6, 13 (??), 14:44, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    > растущую в среде разработчиков потребность в безопасных методах программирования

    Эталонная подмена понятий. Браво.

     
     
  • 2.34, Аноним (39), 15:34, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Какие именно понятия тут подменили?
     
     
  • 3.40, Хру (?), 15:41, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Подмена в том, что это не разработчикам, а крупным клиентам корпооаций надо (и самим корпам!)
    Ну а разрабы 99% работают "на отъе..сь", ну а конечным покупателям кто ж обеспечит безопасность за те копейки, которые они платят?..
     
     
  • 4.46, Аноним (39), 15:53, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Подмена в том, что это не разработчикам, а крупным клиентам корпооаций надо (и самим корпам!)

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

     
     
  • 5.85, Аноним (85), 17:05, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    зачем ему на такие мелочи обращать внимание. он отважный диванный борец с корпорациями, четкий бородатый админ на бюджете. его красные глаза наполняются слезами, когда видят как злобные корпы угнетают все открытое и доброе
     
  • 3.58, Анонимусс (-), 16:03, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Оно скорее больше юзерам нужно, а не разрабам.
    Потому что их задобало, что им могут ломануть напр. телегу или фейсбучек просто прислав картинку.
    Ну а какой умелец в либе разбора не проверил входные данные и всё - кровь, кишки...
    А юзеры в свою очередь делают дырку в голове корпам, предоставляющим сервис...
    Да и просто новости про дыры хорошо тиражируются журналистами и немного портят настроение совету директоров)))
     
     
  • 4.124, Аноним (89), 18:37, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что их задобало, что им могут ломануть напр. телегу или фейсбучек

    Ломануть Фейсбучек - смишно. Те, "кому положено" и "там разберутся", в Фейсбучеках и без взломов пасутся.

     
     
  • 5.155, Анонимусс (-), 20:01, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Те, "кому положено" и "там разберутся", в Фейсбучеках и без взломов пасутся.

    Да. У них есть если не прямой доступ, то доступ по запросу "выгрузите мне все". И с этим ты ничего не сделаешь.

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


     

  • 1.7, Аноним (7), 14:45, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    В C++ первым делом нужно добавить стандартные профили, ограничивающие некоторые возможности языка (вроде арифметических операций с указателями или вообще доступность указателей как таковых) по требованию и более полно определяющие поведение в различных ситуациях.
     
     
  • 2.23, Аноним (-), 15:10, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > и более полно определяющие поведение в различных ситуациях.

    Может ты еще и UB предложишь убрать??
    На последние скрепы решил покуситься?!
    На костер еретика!

     
     
  • 3.314, Аноним (314), 17:42, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет стандарта - нет UB.
     
  • 2.156, slavanap (?), 20:04, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так это уже можно сделать. Определить шаблоны, перекрывающии такие операции, но без реализации или со static_assert(false) и линковка/компиляция начнёт падать. Тут, скорей, проблемы не только в указателях, но и в ссылках на объекты, у которых может истечь время жизни раньше разрушения объекта с ссылкой.
     
  • 2.161, Аноним (161), 20:21, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    С любыми этими профилями это уже будет не C++. Делайте свой язык, а там видно будет.
     
     
  • 3.313, Аноним (314), 17:39, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если это будет строгое подмножество, то это все еще C++.
     

  • 1.8, Аноним (8), 14:48, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот только это уже будет не С++, сломается обратная совместимость, деды и тут будут недовольны.
     
     
  • 2.50, Аноним (50), 15:58, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Гы, считай что в каждом стандарте плюсов есть "Removed and deprecated".
    Для примера:
    C++20: Use of comma operator in subscript expressions has been deprecated
    C++23: Use of comma operator in subscript expressions was no longer deprecated but the semantics has been changed to support overloadable n-adic operator[]
     
  • 2.83, Bottle (?), 16:56, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да пох на этих дедов, ни один компилятор не соответствует стандарту на 100%, а значит, в общем случае невозможно написать корректный кроссплатформенный код. Либо корректный, либо кроссплатформенный (и то второе не гарантируется).
     
  • 2.113, Аноним (-), 18:09, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вот только это уже будет не С++, сломается обратная совместимость, деды и
    > тут будут недовольны.

    Ну так пусть и компилят под свой замшелый стандарт типа CPP98, никто ж не запрещает! ;). Просто придется сказать "проект юзает C++98". А не C++23 или сколько там.

     
     
  • 3.117, Аноним (-), 18:19, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну так пусть и компилят под свой замшелый стандарт типа CPP98, никто ж не запрещает! ;).

    Ты тут такого не говори (с)

    > Просто придется сказать "проект юзает C++98". А не C++23 или сколько там.

    Нытье и вой будет.. до небес)
    Понятно что обратная совместимость это хорошо, но меру надо знать.
    А у комитетчиков (что СИ, что плюсы) ее нету.
    Так и будут тянуть поддержку инструкций для всяких допотопных архитектур "а вдруг кто-то найдет на складе 100500 миллионов 8008"


     
  • 2.129, Аноним (129), 18:53, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > сломается обратная совместимость

    Каким образом, если проверка только на стороне комрилятора?

     
     
  • 3.133, Аноним (-), 19:00, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> сломается обратная совместимость
    > Каким образом, если проверка только на стороне комрилятора?

    Не знаю.
    Но разработчики стандарта такие затейники, что думаю что-то придумают.
    Например в C23 они поменяли zero-sized reallocations with realloc are undefined behavior.

    Т.е был валидный код
    void *ptr = malloc(0);
    free(ptr);

    а вот
    void *ptr = malloc(4096);
    ptr = realloc(ptr, 0);
    уже UB на откуп разработчикам компилятора.


     
  • 3.380, Хоан Неб (?), 11:43, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    таким, что если раньше какие-то хаки были "ничего", то теперь компиллер откажется это собирать или будет сыпать ворнингами.
     

  • 1.10, Аноним (10), 14:51, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Порог входа неуклонно растёт, а количество полностью знающих язык и его стандартную библиотеку падает.
     
     
  • 2.60, Аноним (60), 16:05, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    неправда, книги как были около 1300 страниц в 2003, так и остались по с++23
     
     
  • 3.67, Аноним (66), 16:12, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > книги как были около 1300 страниц в 2003

    Так ты забыл умножить количество страниц на количество стандартов. В новых книгах и акцент на новом.

     
     
  • 4.102, 12yoexpert (ok), 17:54, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну так а нефиг в 2024 писать while(*dst++=*src++)
     
     
  • 5.107, Аноним (107), 18:04, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Только что писал для выноса анимации в вебе на C/WASM. Видишь ли libc чтобы дёрнуть memcpy нет в среде исполнения Wasm.
     
  • 3.88, Аноним (-), 17:07, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Как правильно заметил анон выше - умножь на количество стандартов.
    А потом еще умножь на количество самых распространенных компиляторов.
    Ну чтобы не сесть в лужу, когда делаешь простейши действия.
     
  • 3.259, n00by (ok), 09:40, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    N4860 - 1829 страниц.
     
  • 3.381, Хоан Неб (?), 11:46, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    [учебники] и [спеки] - это, какбы, разные книги
     
  • 2.86, Bottle (?), 17:05, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это нормально. Со временем комитет осознаёт, какие вещи наиболее востребованы среди программистов и стандартизирует подход.
     
     
  • 3.95, Аноним (95), 17:21, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Со временем комитет осознаёт, какие вещи наиболее востребованы среди программистов и стандартизирует подход.

    Для стандартизации подхода нужно будет создавать отдельный коммитет или можно использовать текущий?
    Нужна ли стандартизация подходов стандартизации?
    Может ли случиться рекурсивное создание коммитетов или уход текущего в бесконечный цикл?

    Столько вопросов на которые нет ответов (((

     
  • 2.90, Аноним (123), 17:08, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Другие языки тоже обрастают фичами. Я думаю, немногие питонисты или яваскриптчики знают вот прямо абсолютно все фичи Питона или Яваскрипта.


    > стандартную библиотеку

    Стандартная библиотека Явы гораздо больше, чем у С++, все её уголки тем более никто не знает. Однако же пишут как-то на Яве. :)

     
     
  • 3.149, Bottle (?), 19:40, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Даже более того, её кто-то да знает. Например, сами разработчики из Oracle.
     
     
  • 4.228, Аноним (228), 06:53, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Имеется ввиду, что ни один человек её целиком от и до не знает. Разумеется эти знания размазаны по большому числу людей...
     
  • 3.247, Писатель (?), 09:09, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Стандартная библиотека Явы [ ... ], все её уголки тем более никто не знает

    - JavaDoc?
    - Не-е ... Не слышали ...

     
     
  • 4.274, Аноним (274), 10:45, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И Doxygen, ага. Что сказать-то хотел?
     

  • 1.11, Аноним (7), 14:55, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Был проект по добавлению аннотаций времени жизни в Clang C++, но почему-то сдулся: https://discourse.llvm.org/t/rfc-lifetime-annotations-for-c/61377
     
  • 1.12, Rev (ok), 15:00, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Какой только хернёй они не занимаются, чтобы только не переходить на Раст...

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

     
     
  • 2.25, Аноним (25), 15:12, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Нельзя было что-ли сделать раст нормальным языком? Тогда бы все на него перешли.
     
     
  • 3.233, Проходил мимо (?), 07:45, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Rust - это нормальный язык. В чем-то даже офигенный. Просто факт в том, что не все иксперды с OpenNET способны его осилить.
    Реально некоторые косяки есть не с самим языком а с отдельными вещами в стандартной библиотеке Rust, но их, при желании, так или иначе можно обойти.
     
     
  • 4.315, Аноним (314), 17:49, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ясно, не язык плохой, а программисты плохие. Где-то мы это уже слышали.
     
     
  • 5.378, Проходил мимо (?), 07:19, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы таки думаете, что среди хаящих Rust икспердов с OpenNET есть программисты?
     
  • 2.52, Аноним (52), 16:01, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Давно уже есть smart pointers в C++. unique_ptr с move semantics это то что в Rust реализуется как владение (ownership) с той разницы что в C++ это не реализовано  на уровне компиляции программы, а во время выполнения. Что мешает делать подобные вещи во время компиляции? Ничего.
     
     
  • 3.80, Аноним (39), 16:46, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > move semantics это то что в Rust реализуется как владение (ownership)

    Эмм... Нет, это вообще практически не связанные вещи.

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

     
  • 3.283, Аноним (283), 12:37, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    нет
    в C++ move-семантика изначально убогая, т.к. делалась с оглядкой на обратную совместимость

    искать "c++ destructive move", если что

     
  • 2.57, Karl Richter (?), 16:03, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А в чем костыль? В компилятор не смогут реализовать статическую проверку памяти для C++?
     
     
  • 3.196, yet another anonymous (?), 23:33, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    При наличии indirect pointers? Флаг вам в руки и ветер в спину.
     
  • 2.63, Аноним (52), 16:06, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Другое дело что ownership (владение) давно уже реализовано в Spark (язык Ada) и было заново переизобретено в Rust
     

  • 1.15, Аноним (15), 15:05, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    1. зачем чучхе, вместо интеграции в clang и LLVM?
    2. Есть же уже Cabron.
     
     
  • 2.32, Аноним (-), 15:33, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    1. Ну так свой продвигает, разве не очевидно?

    2. Карбона нет. github.com/carbon-language/carbon-lang
    "Carbon Language is currently an experimental project."

    Причем они сами рекомендуют использовать раст если есть возможность.
    "Existing modern languages already provide an excellent developer experience: Go, Swift, Kotlin, Rust, and many more. Developers that can use one of these existing languages should"

     
     
  • 3.285, Аноним (285), 13:17, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как будто сабж не экскрементальный.
     
  • 3.316, Аноним (314), 17:52, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Swift и Kotlin будут получше и перспективнее с точки зрения работы. В Swift также есть Automatic Reference Counting (ARC), что гораздо более практично для безопасного управления памятью.
     
  • 2.75, Маняним (?), 16:28, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Гугли, после того как их выкинули из С++ комитета за попытку загнуть плюсы под свои хотелки, высрали кирпичей и один из них оказался карбон. Но как оказалось звездеть о новом убийце плюсов проще чем создать востребованный язык и потому карбон так и остался кирпичом.
     
     
  • 3.96, Аноним (95), 17:24, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бедный Гугл быстро нашел раст на замену плюсов (для нового кода).
    А гордый коммитет сейчас питыется лепить костыли.

    Может если бы послушали гугловцев, то идеи начали реализовывать лет 5-8 назад, а не только начинать разглагольствовать.

     
  • 2.76, ProfessorNavigator (ok), 16:29, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Есть же уже Cabron.

    Да, есть. И даже не один. Только это - не ЯП. Посмотрите перевод слова "cabron" с испанского...

     
     
  • 3.284, Аноним (285), 13:15, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я как бы знаю, игра слов намеренная.
     
     
  • 4.287, ProfessorNavigator (ok), 13:22, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Я как бы знаю, игра слов намеренная.

    Ну тогда будем считать, что я шутку оценил))

     

  • 1.21, Аноним (21), 15:09, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Теперь еще это в сишку, чтоли, запилить - и вообще нормуль. А то плюсы - больно уж навороченные. И это вовсе и не фича даже.
     
     
  • 2.41, Аноним (7), 15:42, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Уже запилили: https://en.wikipedia.org/wiki/Zig_(programming_language)#Memory_handling
     
     
  • 3.48, Аноним (-), 15:56, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    О... опять эта поделка.
    Когда оно мне попадалось пару лет назад на глаза, то позволяло весело и непринужденно делать всякие непотребства.

    var hello = try allocator.dupe(u8, "zig sucks");
    allocator.free(hello);
    std.debug.print("{s}\n", .{hello});
    и получаем use after free

    Не знаю исправил ли автор такое, но судя по доке где
    Out of Bounds Float to Integer Cast
    TODO
    оно еще очень сырое.

     
     
  • 4.317, Аноним (314), 17:55, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Пару лет назад это вечность для нового языка. Сейчас многие переходят на Zig, разочаровавшись в Rust, так что его развитие заметно ускорилось. У него больше перспектив.
     
  • 3.186, Аноним (175), 22:29, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Уже запилили
    >First appeared 8 February 2016; 8 years ago
    >Preview release 0.13.0

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

     
     
  • 4.271, Самый умный аноним (?), 10:27, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > можно за условные пару месяцев реализовать первую версию

    Пара месяцев это для новичков.
    Ты за 21 день бы сделал новый язык

     
  • 4.318, Аноним (314), 17:58, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Если иметь чёткое представление, что должно получится, то можно за условные пару месяцев реализовать первую версию, и объявить о стабилизации апи, после чего можно годами неспешно расширять библиотеки.

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

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

     
     
  • 5.343, Аноним (175), 19:14, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Что же тогда разработчики Раста не использовали этот разумный подход, а вместо него:

    Раст уже давным давно зарелизил 1.0, и имеет обратную совместимость https://doc.rust-lang.org/edition-guide/editions/

     
  • 2.238, bOOster (ok), 08:23, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не осиливаешь все навороты - пользуйся только тем что осиливаешь. Никаких проблем с этим нет.
    Шаблоны мощная штука - но многие их реализации практически нечитаемы и сложны в понимании и отладке.
     

  • 1.24, Fjyj (-), 15:11, 17/09/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.26, Аноним (15), 15:16, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    >#feature on safety

    В C и C++ для этого используются #pragma

     
     
  • 2.237, bOOster (ok), 08:18, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Точно. на текущий момент есть always acceptable
    #pragma region ....
    #pragma endregion ....

    Реализовать логику #pragma region safe/unsafe Особой проблемы нет.

     

  • 1.27, Аноним (39), 15:16, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    > переводить проекты на безопасные методы, сохраняя при этом совместимость с уже существующим "небезопасным" кодом.

    Странная идея. Нужен Раст - берите Раст, в чем проблема-то?

    Если эту спеку и примут, то сперва бюрократы из комитета C++ будут мусолить ее лет шесть, а потом еще лет шесть-десять придется ждать ее сколь-нибудь сносной поддержки в компиляторах. Обалденный план  с учетом того, в Расте все эти упомянутые фичи работают прямо здесь и сейчас.

    Ну и самое главное: кто-то всерьез считает, что все так и ломануться переводить свои десятилетиями пишущиеся легаси-копролиты в миллионы строк C++ на эти новые костыли?

     
     
  • 2.35, Аноним (35), 15:35, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Тяжело им в Rust идти. Вакансий нет и специалистов нет.
    Как они пойдут сами что ли проичтабт книжку?
     
     
  • 3.112, Аноним (112), 18:08, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Просто выкинут раст и всё.
     
  • 2.43, Аноним (-), 15:45, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Странная идея. Нужен Раст - берите Раст, в чем проблема-то?

    Тогда г-н Vinnie Falco не сможет влиять на развитие языка и на программеров, которые им будут пользоваться.
    Когда у тебя есть власть, то всегда хочется еще.

    > Ну и самое главное: кто-то всерьез считает, что все так и ломануться переводить свои десятилетиями пишущиеся легаси-копролиты в миллионы строк C++ на эти новые костыли?

    Ну.. во-первых были бы деньги)))
    Во-вторых - даже если завернуть в эти костыли какие-то особо кривые куски кода, типа парсинг пользоватльского ввода - то уже стало бы гораздо лучше.
    Но да, возникнет вопрос "а чего не создать раст обертку?" Как поступает например гугл.

     
  • 2.319, Аноним (314), 18:01, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема в том, что это другой, несовместимый с C++ язык, который хорошо знают только его создатели.

    И для него в первую очередь справедливо утверждение
    >кто-то всерьез считает, что все так и ломануться переводить свои десятилетиями пишущиеся легаси-копролиты в миллионы строк C++ на эти новые костыли?

    тогда как на новый C++ переписать его будет вполне реально.

     

  • 1.28, Аноним (15), 15:17, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >mut
    >std2
    >safe

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

     
     
  • 2.30, Аноним (30), 15:27, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > сами

    Неверно.
    Проблема pointer provenance до сих пор не решена в силу ее сложности. См. статьи Ralf Jung.

     

  • 1.29, Аноним (29), 15:19, 17/09/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.36, eugene_martein (ok), 15:37, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Я принёс вам современное безопасное программирование на C++:

    target_compile_options(${target} PRIVATE
                    -Wall
                    -Werror
                    -Wextra
                    -Wpedantic
                    -pedantic-errors
                    -Wunused
                    -Wctor-dtor-privacy
                    -Wnon-virtual-dtor
                    -Wnrvo
                    -Wimplicit-fallthrough
                    -Wshift-negative-value
                    -Wswitch-default
                    -Wswitch-enum
                    -Wuseless-cast
                    -Wuninitialized
                    -Wstrict-overflow=5
                    -Wstringop-overflow=4
                    -Warray-bounds=2
                    -Wduplicated-cond
                    -Wfloat-equal
                    -Wshadow
                    -Wunsafe-loop-optimizations
                    -Wcast-qual
                    -Wconversion
                    -Wparentheses
                    -Wenum-conversion
                    -Wflex-array-member-not-at-end
                    -Wlogical-op
                    -Wmissing-declarations
                    -Wpacked
                    -Wredundant-decls
                    -Winline
                )

     
     
  • 2.37, Аноним (37), 15:38, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо ты не знаешь о существовании -Weverything
     
     
  • 3.44, Вы забыли заполнить поле Name (?), 15:50, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Явное указание все опций не сломает сборку на новом компиляторе, если в эврифинг что-то добавят.
     
     
  • 4.49, Аноним (39), 15:56, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Явное указание все опций не сломает сборку на новом компиляторе,

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

     
     
  • 5.53, Вы забыли заполнить поле Name (?), 16:01, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >> Явное указание все опций не сломает сборку на новом компиляторе,
    > Каким образом предупреждения могут сломать сборку?

    -Werror

     
     
  • 6.62, Аноним (39), 16:05, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    -Werror не входит в -Weverything.
     
     
  • 7.104, 12yoexpert (ok), 17:58, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    учи матчасть. ты понятия не имеешь, о чём говорят в этой ветке.
    https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
     
     
  • 8.134, Аноним (99), 19:02, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    и кидает ссылку да доку GCC Чел, -Weverything - это опция clang Хотел поум... текст свёрнут, показать
     
     
  • 9.140, 12yoexpert (ok), 19:22, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    тебе про Фому, ты про Ерёму иди читай, что такое -Werror ... текст свёрнут, показать
     
  • 5.59, Аноним (7), 16:04, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    -Werror
     
     
  • 6.65, Аноним (39), 16:07, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    -Werror - это не предупреждение и в -Weverything не входит 🤦
     
     
  • 7.69, Вы забыли заполнить поле Name (?), 16:15, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > -Werror - это не предупреждение и в -Weverything не входит 🤦

    И дальше что? Оно указано отдельно в начальном комментарии.

     
     
  • 8.74, Аноним (39), 16:26, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    То, что ты умничаешь в ветке, где ответили на ... текст свёрнут, показать
     
     
  • 9.101, Вы забыли заполнить поле Name (?), 17:46, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Опять кексперт пытается поднять своё эго в комментариях Изначально обсуждались ... текст свёрнут, показать
     
     
  • 10.138, Аноним (99), 19:15, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, обсуждалось конкретно твое заявление Явное указание всех опций не сломает ... текст свёрнут, показать
     
     
  • 11.162, Вы забыли заполнить поле Name (?), 20:24, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Выше читай https www opennet ru openforum vsluhforumID3 134833 html 37 и https... текст свёрнут, показать
     
  • 4.130, Соль земли (?), 18:54, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Лучше, если сломает. Явное лучше неявного.
     
  • 2.61, Аноним (50), 16:05, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё бы к этому добру аналог: cargo fix
     

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

  • 1.38, Аноним (38), 15:39, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Позитив. Ибо нефиг выпендриваться. Тоже могём.
     
  • 1.45, keydon (ok), 15:51, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Раст здорового человека.
     
  • 1.47, Karl Richter (?), 15:55, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот, теперь C++ начало этим заниматься, потому что есть потребность в это. В первую очередь, потребность США по кибербезопасности.
     
     
  • 2.56, Вы забыли заполнить поле Name (?), 16:03, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот, теперь C++ начало этим заниматься, потому что есть потребность в это.
    > В первую очередь, потребность США по кибербезопасности.

    Им потребно наличие бэкдоров. На расте можно встроить прямо в компилятор, затимв разум неокрепшим умам верой в безопасность.

     
     
  • 3.64, Аноним (-), 16:07, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Им потребно наличие бэкдоров.

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

    > На расте можно встроить прямо в компилятор

    Можно. И в сишку можно.
    Но в сишке проще на null проверочку забыть.

     
     
  • 4.68, Вы забыли заполнить поле Name (?), 16:14, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Им потребно наличие бэкдоров.
    > Всем потребно. Но кроме бекдоров есть еще и дыры.
    > И они не хотят, чтобы их ломали через эти дыры всякие узкоглазые
    > и чучхе.

    В эту игру в одного не играют.

    >> На расте можно встроить прямо в компилятор
    > И в сишку можно.

    Компилятор для си можно забутстрапить, притом там все начинается с простого компилятора, написанного на scheme, которым уже потом собирается tcc. Кто собирает раст? Где исследование исходников на бэкдоры? Одна реализация по факту, все качают бинари. Куда проще встроить?

     
     
  • 5.72, Karl Richter (?), 16:21, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В эту игру играют в OpenSorce ПО.
     
     
  • 6.201, Аноним (201), 00:56, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ты не понял.
     
  • 5.81, Аноним (-), 16:46, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Какой именно У нас их просто куча Даже пованивает, тк минимум половина уже по... большой текст свёрнут, показать
     
     
  • 6.163, Вы забыли заполнить поле Name (?), 20:27, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Раст кстати тоже можно бустстрапить
    > github.com/rust-lang/rust/tree/master/src/bootstrap
    > Bootstrap build system goes through a few phases to actually build the compiler. What actually happens when you invoke bootstrap is:
    > 1. The entry point script (x for unix like systems, x.ps1 for windows systems, x.py cross-platform) is run. This script is responsible for downloading the stage0 compiler/Cargo binaries

    То есть на первом шаге бутстрапинга предлагается скачать бинари компилятора и cargo? Это бред.

     
     
  • 7.364, Аноним (175), 23:55, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >То есть на первом шаге бутстрапинга предлагается скачать бинари компилятора и cargo? Это бред.

    Да, и это более чем логично, так как компилятор уже прошёл стадию раскрутки. А вы что предлагаете, скачивать llvm ir код? Для тех, кто не доверяет текущему компилятору есть возможность собирать его версию за версией, начиная с той, что написана на ocaml.

     
     
  • 8.390, Вы забыли заполнить поле Name (?), 13:40, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И стадию внедрения бэкдора Это не бутстрапинг Почитай как сделано в gnu mes ... текст свёрнут, показать
     
     
  • 9.391, Аноним (-), 13:46, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Бремя доказательства лежит на утверждающем Даже если он балаболка Но пруфов от... текст свёрнут, показать
     
  • 6.164, Вы забыли заполнить поле Name (?), 20:28, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > И много людей собирают из исходников GCC и CLang?

    Clang хз, gcc - да.

     
  • 6.165, Вы забыли заполнить поле Name (?), 20:29, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Зачем что-то встраивать в компилятор, если проще сделать out-of-bounds прямо в коде?

    За свой код ответственнен ты. За компилятор нет, как и за уровни ниже. Разницу понимаешь?


     
  • 6.200, Аноним (201), 00:55, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > У нас их просто куча!

    А знаешь почему? Потому что есть стандарт.

    > Даже пованивает

    Пока тут ты пованиваешь только.

     
     
  • 7.216, Прохожий (??), 02:44, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Потому что есть стандарт.

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

     
     
  • 8.261, Аноним (112), 09:41, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Начать, начать, Карл ... текст свёрнут, показать
     
  • 8.321, Аноним (314), 18:07, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Закончить помешало Как обычно ... текст свёрнут, показать
     
  • 3.71, Karl Richter (?), 16:18, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Бэкдоров полно, что в ПО, что в процессорах. У США явно будет/есть возможность получить к ним доступ. А обезопасить свою инфраструктуру не только от бэкдоров, но и багов - это задача. Уязвимости, связанные с памятью - самые распространенные, поэтому Rust привлекателен.
     
     
  • 4.82, Аноним (29), 16:49, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Уязвимости, связанные с памятью

    там выше мой комент как раз про это - скрыли, ну пусть с такой же "пеной у рта" придумают "безопасТную модель памяти", а не 1000500-ый "безопасТный механизм" работы с "небезопасТной моделью памяти".

     
     
  • 5.217, Прохожий (??), 02:49, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Твой комментарий выше - это мешанина тёплого с мягким, или мух с котлетами. Небезопасные языки добавляют проблем к потенциально нестабильной работе аппаратной памяти. Люди пытаются с этим бороться с помощью безопасных языков. Вроде, простая мысль. А поди ж ты, приходится разжевывать.
     
     
  • 6.289, Аноним (29), 14:23, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а кто-то отменил существование котлет из мух азиаты с вами бы поспорили бы, у н... большой текст свёрнут, показать
     
  • 4.105, Вы забыли заполнить поле Name (?), 18:00, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > что в процессорах

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

    > поэтому Rust привлекателен

    Пока что это решение вендорлок, со стремным вектором развития, одной реализацией, странным сообществом.

     
     
  • 5.121, Аноним (-), 18:31, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Пока что это решение вендорлок,

    Что правда?
    Там те самые компании в foundation'е сидят, что и в ядре.
    И почти те же самые корпорации, что в коммитете С++.

    > со стремным вектором развития,

    стремное - это твое мнение, на которое, как ты догадываешься, всем плеевать
    но зато развитие есть, а не деградация

    > одной реализацией,

    Неправда, есть как минимум 2 компилятора + еще несколько надстроект ferrocene.
    Другое дело, что тут нет такого "мы не знаем как сложить 2 числа, пусть разработчики компилятора как-то сделают"

    > странным сообществом.

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


     
  • 4.195, yet another anonymous (?), 23:22, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    cargo, доставка on-the-fly, и т.д. Конечно, rust привлекателен. Для доставки чего надо куда надо.
     
  • 2.79, Аноним (29), 16:44, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В первую очередь, потребность США по кибербезопасности.

    они 4 летний опыт работы отменили буквально на днях, делайте вывод.

     

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

  • 1.54, Аноним (60), 16:01, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Я как программист полностью одобряю: теперь мне ту же работу нужно будет делать в 5 раз дольше, а мне кредит за дом платить и вообще деньги откладывать. а на плюсах быстро всё сделал и не остаётся уже, что делать
     
     
  • 2.70, Аноним (-), 16:18, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Глупости ты говоришь.
    Да возможно переписать займет не год, а пять..
    (в чем я очень сомневаюсь тк гугл переучивает 2/3 гошников и фортовиков на раст, за 2 месяца!)

    А если писать на С - то можно годами ковырять древние баги, которым по 20-30 лет, и создавать новые, для будущих поколений.
    Как в том анекдоте про адвокатов "Что же ты сынок наделал! Это дело нас уже четверь века кормило!!"

     
  • 2.139, Аноним (99), 19:21, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > а на плюсах быстро всё сделал и не остаётся уже, что делать

    В смысле "не остается"?

    Если в плюсах "быстро все сделал", то у тебя еще на полгода вперед будет работы над списоком багов из-за висячих ссылок, протухших итераторов, выходов за пределы буфера, UB и прочих C++ чудес.

    Ты наоборот должен быть против!

     
     
  • 3.153, Bottle (?), 19:49, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >выходов за пределы буфера

    Используй умные указатели.
    >UB

    В C++ используются нормальные строки, это уже улучшает ситуацию значительно.

     
     
  • 4.219, Аноним (175), 04:13, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Используй умные указатели.

    В лучшем случае получится только в своём коде, но не в библиотечном.

     
     
  • 5.256, Аноним (250), 09:31, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А, ну да, Rust же не используют библиотеки, написанные на C.
     
     
  • 6.266, Аноним (241), 09:59, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какое мастерское приплетание Расте в ветке обсуждения C++...
     
     
  • 7.323, Аноним (314), 18:15, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Какой детский уход от темы.
     
     
  • 8.354, Аноним (175), 20:59, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если уж брать раст, то там можно взять банальный grep и проверить А вот в плюса... текст свёрнут, показать
     
  • 2.295, Аноним (295), 16:10, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тебе Может быть У середнячков-неосиляторов нового всегда так А у чуть более х... большой текст свёрнут, показать
     
     
  • 3.324, Аноним (314), 18:18, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да ты это уже раз 50 в комменты вставлял. И одно это говорит как мало положительных отзывов о внедрении Rust в реальные проекты.
     

  • 1.77, leap42 (ok), 16:33, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Надо добавить все фичи всех языков... и не останавливаться на этом 😆😆😆
     
     
  • 2.255, Аноним (250), 09:30, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А не остановившись, что же добавлять дальше?
     

  • 1.78, НяшМяш (ok), 16:34, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Этап "принятие". Видимо ощутили, как от плюсовиков денежки утекаю, вот и начали суетиться и воровать хорошие идеи. Безопаснее кресты конечно же не станут, а вот повыступать на конференциях и пособирать донаты на этом ужасе - благое дело.
     
     
  • 2.92, Аноним (123), 17:14, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Таким как ты не угодишь. Не тащат в С++ фичи Раста - плохо. Тащат - тоже плохо.
     
     
  • 3.98, Аноним (-), 17:29, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Не тащат в С++ фичи Раста - плохо.

    Кто сказал что плохо? Те самые, которые кричали "ненужОн нам ваш раст с его боровом, нам и с++ хватит!" ?
    Или это другие?))

    > Тащат - тоже плохо.

    Наоборот хорошо! До них наконец-то стало доходить!

     
     
  • 4.325, Аноним (314), 18:19, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот теперь C++ действительно хватит, непонятно чем ты недоволен ))
     
  • 2.120, Аноним (120), 18:24, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Принятия что все будет в плюсах и ни в каком расте нет необходимости? Так мы тебе это уже который год это талдычим, а до тебя всё не дойдет.
     
     
  • 3.125, Аноним (-), 18:39, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Принятия что все будет в плюсах и ни в каком расте нет необходимости?

    А когда будет?
    В 26 стандарт уже не попадает, в 29й тоже сомнительно.
    Т.е возможно, если они договорятся в 32-35 году на плюсовиком снизойдет благодать.

    > Так мы тебе это уже который год это талдычим, а до тебя всё не дойдет.

    Странно, раньше талдычили что "раст не нужон! боров ваш тоже не нужон!! смартпойнтеров всем хватит!".
    А тут целый президент C++ Alliance говорит "там классные идеи".
    Вот это переобувание в прыжке))

     
     
  • 4.127, Аноним (112), 18:46, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так в нынешнем стандарте и ненужен. А в будущем может ещё телепатию в стандарт примут кто знает.
     
  • 4.154, Аноним (99), 20:00, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А тут целый президент C++ Alliance говорит "там классные идеи".
    > Вот это переобувание в прыжке))

    Так это засланный казачок от проклятых корпораций коварно пускает метастазы раковой опухоли в чистый, свободный, независимый сад C++ 😂

     
  • 3.144, Аноним (99), 19:27, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Принятия что все будет в плюсах и ни в каком расте нет необходимости? Так мы тебе это уже который год это талдычим, а до тебя всё не дойдет.

    Только вот в Расте это все уже есть здесь и сейчас. А в плюсах нет и не будет ближайшие лет 10 точно.

    Талдычте дальше...

     
     
  • 4.146, Аноним (112), 19:37, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Трехтысячный раз лично тебе повторяю.

    Раст это отсутствие совместимости между версиями и полное отсутствие бекпортировпния фиксов в старые версии. Ужасный синтаксис переполненный спецсимволы и ужасное комьюнити. Поэтому раст не может взлететь как концепция.

    Борова почекать можно в с++ прям сейчас. Умные указатели нет ничего проще. Добавить новую спецификацию в будущем почему бы и нет.

     
     
  • 5.151, Аноним (99), 19:45, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как скажешь.
     
  • 5.152, Аноним (39), 19:48, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Борова почекать можно в с++ прям сейчас. Умные указатели нет ничего проще.

    Oh my sweet summer child...

    Я смотрю, чем меньше эксперт шарит в C++ и Rust, тем сильнее у него "нет ничего проще" и "Rust не нужен".

     
     
  • 6.157, Аноним (112), 20:05, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чекер борова просто при существовании алиаса для ссылки запрещает мутации. Чем ужасно всех бесит даже адептов раста. И пишется кем угодно левой ногой настолько он приметивен.
     
     
  • 7.269, Аноним (241), 10:15, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Чекер борова просто при существовании алиаса для ссылки запрещает мутации.

    Так может в этом есть какой-то смысл? Или для всего непонятного у тебя есть одно универсальное объяснение, что авторы - дураки?

    > И пишется кем угодно левой ногой настолько он приметивен.

    Молодец: ты еще раз подтвердил утверждение выше "чем меньше эксперт шарит в C++ и Rust, тем сильнее у него "нет ничего проще".

     
  • 5.174, Аноним (175), 21:11, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Раст это отсутствие совместимости между версиями

    https://doc.rust-lang.org/edition-guide/introduction.html
    >Ужасный синтаксис переполненный спецсимволы

    Взяли худшее от семейства си. Кресты так же уродливы, со своими cout << "123"; T<A> a; [&, i]{}; [=, *this]{ };

     
     
  • 6.231, bOOster (ok), 07:37, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В С++ у тебя есть выбор писать коряво спецсимволами либо в нормальный синтаксис. В расте этой возможности много где нет.
     
     
  • 7.240, Проходил мимо (?), 08:26, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не будет ли любезен многоуважаемый джинн привести небольшой пример кода на Rust ... большой текст свёрнут, показать
     
  • 7.270, Аноним (241), 10:16, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > В С++
    > нормальный синтаксис

    Ты же шутишь, да?

     
  • 7.308, Аноним (310), 17:24, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что из этого необычный синтаксис плюсов?
     
  • 6.232, bOOster (ok), 07:40, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А писать несколько операторов в одну строчку - это неизлечимая болезнь в мозгу недопрограммиста.
     
  • 5.235, Проходил мимо (?), 08:03, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не надо пороть чушь - ей больно. Написанное вами показывает, что в предмете вы не разбираетесь от слова совсем и язык Rust просто не осилили.
     
  • 3.297, Аноним (295), 16:25, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Принятия что все будет в плюсах и ни в каком расте нет необходимости? Так мы тебе это уже который год это талдычим

    О какое виртуозное переобувание в воздухе. Лицемеры. Вы который год уже талдычите, что Настоящему Погроммисту все эти ваши боровы чекеры и битиЕ компилятором линейкой по рукам не нужно, ибо Он, Богоподобный Погроммист, сам всё знает и умеет, и, главное, НЕ ОШИБАЕТСЯ (а кто ошибается, те не настоящие и гнать их в дворники). А тут такое.

     
     
  • 4.326, Аноним (314), 18:31, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы хотели чекер борова - вам дают чекер борова в C++. Но внезапно это оказывается - "воровать хорошие идеи". И он еще что-то говорит про лицемерие.
     
     
  • 5.382, Аноним (382), 11:59, 19/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.166, Вы забыли заполнить поле Name (?), 20:32, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > воровать хорошие идеи

    Какое слово нехорошее подобрал, явно специально. Раст, конечно, все изобрел с нуля.

    Многие идеи перекачевывают из проекта в проект. Что в этом плохого?


     
  • 2.203, Аноним (201), 01:00, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Видимо ощутили, как от плюсовиков денежки утекают, вот и начали суетиться и воровать хорошие идеи.

    Не пишешь на плюсах, вот и бесишься!

     

  • 1.122, Аноним (122), 18:35, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Оригинал всегда лучше копии!
     
     
  • 2.128, Аноним (112), 18:47, 17/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да Пёрл лучше всех.
     
     
  • 3.258, Аноним (250), 09:36, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нишевый язык. Можно сказать, DSL.
     
  • 2.327, Аноним (314), 18:33, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У нас вестник из будущего, ловите!
     

  • 1.169, Аноним (175), 20:58, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Спали, спали, зачем проснулись Итак, какие минусы у данного решения Ошибки, в ... большой текст свёрнут, показать
     
     
  • 2.205, Вы забыли заполнить поле Name (?), 01:04, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Код хромиума уже может собираться больше суток на среднем ноутбуке, упираясь как в количество ядер, так и в количество оперативки, без возможности как-то это ускорить.

    На расте он быстрее будет собираться что-ли?

    > типа зависимых типов

    И зачем они если тебе не нужны доказательства?

     
     
  • 3.220, Аноним (175), 04:16, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >На расте он быстрее будет собираться что-ли?

    А при чём тут раст? Я писал про то, какой монстр плюсы
    >если тебе не нужны доказательства

    С чезо вдруг тагие утверждения?

     
     
  • 4.224, Аноним (175), 04:29, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >С чего вдруг такие утерждения?
     
     
  • 5.292, Вы забыли заполнить поле Name (?), 15:07, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что одна из основных задач для завтипов — это различные пруверы типа Идриса и кока. Если нет, то приведи пример зачем нужны завтипы для бытового программирования. Возможность взять голову пустого списка и получить ошибку не принимается.
     
     
  • 6.305, Аноним (310), 17:16, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Возможность взять голову пустого списка и получить ошибку не принимается.

    Почему это? Вы предпочитаете попортить память/упасть?

    Типизация поможет в том чиле и против утечек памяти и против двойного освобождения.

     
     
  • 7.309, Вы забыли заполнить поле Name (?), 17:25, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>Возможность взять голову пустого списка и получить ошибку не принимается.
    > Почему это? Вы предпочитаете попортить память/упасть?

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

    > Типизация поможет в том чиле и против утечек памяти и против двойного
    > освобождения.

    Завтипы? Можно подробнее в этом месте? Вроде же idris, coq, lean все с gc.

     
     
  • 8.344, Аноним (175), 19:21, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ими пользуются по необходимости Посмотри на ATS - язык с линейными и зависимыми ... текст свёрнут, показать
     
  • 2.206, Вы забыли заполнить поле Name (?), 01:05, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Стандарт плюсов уже огромен, со всем этим он станет ещё больше.

    А зачем тебя это так волнует? Вон в расте стандарта никакого нет, каждый релиз новую порцию апи публичат (и не малую).

     
     
  • 3.226, Аноним (175), 04:43, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >А зачем тебя это так волнует?

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

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

     
     
  • 4.293, Вы забыли заполнить поле Name (?), 15:10, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вопрос возможности чтения кода посторонними людьми и понимания самим автором. А то с этим частенько бывают проблемы, когда автор сам не понимает, как должен работать его код

    Ты сейчас на серьезных щах утверждаешь, что все кто пишут на расте все понимают? И знают ллвм?

    Чтобы писать на с++ не надо досконально знать стандарт, да и кроме комитетчиков его реально мало кто знает.

     
     
  • 5.304, Аноним (310), 17:10, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Чтобы писать на с++ не надо досконально знать стандарт,

    Я не пишу ни на c ни на c++. Однако, читая код на этих языках, регулярно вижу отсутствие понимания происходящего типа такого https://github.com/ProfessorNavigator/mylibrary/blob/b249bf8e5198dcf1f8ffe8913 https://habr.com/ru/articles/522208/
    И я крайне сомневаюсь, что те, кто не осилили парсер не побьют память, ведь их общийуровень понимания крайне низок

     
     
  • 6.311, Вы забыли заполнить поле Name (?), 17:30, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>Чтобы писать на с++ не надо досконально знать стандарт,
    > Я не пишу ни на c ни на c++. Однако, читая код
    > на этих языках, регулярно вижу отсутствие понимания происходящего типа такого https://github.com/ProfessorNavigator/mylibrary/blob/b249bf8e5198dcf1f8ffe8913
    > https://habr.com/ru/articles/522208/

    Можно обернуть данный код в с++ в класс, в котором надо проверять ошибку типа absl::Status, outcome::result, Boost::Outcome или std::expected из с++23. Просто это разный подход к обработке ошибок.

    > И я крайне сомневаюсь, что те, кто не осилили парсер не побьют
    > память, ведь их общийуровень понимания крайне низок

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

     
     
  • 7.345, Аноним (175), 19:23, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Можно обернуть данный код в с++ в класс

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

     
  • 6.358, ProfessorNavigator (ok), 22:24, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > И я крайне сомневаюсь, что те, кто не осилили парсер не побьют память, ведь их общийуровень понимания крайне низок

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

     
     
  • 7.359, Аноним (175), 23:34, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >в надежде, что никто не будет вникать

    Как вижу, вы до сих пор не поняли в чём проблема, и не поправили парсер

     
     
  • 8.366, ProfessorNavigator (ok), 00:16, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так расскажите А то я от вас ничего, кроме всякого бреда, пока что-то не ви... текст свёрнут, показать
     
     
  • 9.368, Аноним (175), 00:47, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Удовлетворительный результат - это понятие весьма растяжимое Я не будут перечис... большой текст свёрнут, показать
     
     
  • 10.373, ProfessorNavigator (ok), 02:34, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, не растяжимое Задача была - создать программу, которая будет собирать базу... большой текст свёрнут, показать
     
     
  • 11.375, Аноним (175), 03:16, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что У вас какое-то своё собственное понимание данного термина Алгебраические т... большой текст свёрнут, показать
     
     
  • 12.386, ProfessorNavigator (ok), 12:38, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да, каюсь - не посмотрел значение термина сначала Теперь выяснил И всё оказало... большой текст свёрнут, показать
     
     
  • 13.389, Аноним (-), 13:15, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И не в первый раз вы с умным видом рассуждаете про вещи, о которых почти ничего ... большой текст свёрнут, показать
     
     
  • 14.393, ProfessorNavigator (ok), 14:07, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да-да, я ничего не знаю, конечно Но, проблема, повторюсь не в моём знании или ... большой текст свёрнут, показать
     
     
  • 15.394, Аноним (-), 15:47, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Подмена понятий это не очень красивая манипуляция Приравнивание почти ничего ... большой текст свёрнут, показать
     
  • 15.396, Аноним (175), 18:17, 19/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 13.395, Аноним (175), 17:56, 19/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 4.294, Вы забыли заполнить поле Name (?), 15:12, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Есть огромная разница между добавлением новой семантики и новым апи.

    И где кроме 11 стандарта как-то в корне меняли семантику?

    Ты не переживай, раст это не про стабильность компилятора, там семантику сменят и узнаешь об этом по сломаной сборке.

     
     
  • 5.303, Аноним (310), 17:02, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >И где кроме 11 стандарта как-то в корне меняли семантику?

    А зачем её менять в корне? Достаточно добавить каких нибудь модулей

     
     
  • 6.312, Вы забыли заполнить поле Name (?), 17:32, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>И где кроме 11 стандарта как-то в корне меняли семантику?
    > А зачем её менять в корне? Достаточно добавить каких нибудь модулей

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

     
     
  • 7.346, Аноним (175), 19:25, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >И в чем проблема?

    Проблема в понимании c++ кода. Огромное количество фич, и у каждой фичи есть свои особенности. Возможно, новые способы отстрелить ногу.

     
  • 2.208, Вы забыли заполнить поле Name (?), 01:07, 18/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.209, Вы забыли заполнить поле Name (?), 01:10, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Время компиляции: в плюсах есть десятки разных способов затормозить компиляцию, начиная с возможности инклюдить произовльные файлы в произвольные места

    То есть ты предлагаешь СПЕЦИАЛЬНО делать ерунду и говорить что все плохо?

     
     
  • 3.222, Аноним (175), 04:20, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >СПЕЦИАЛЬНО делать ерунду

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

     
     
  • 4.290, Вы забыли заполнить поле Name (?), 14:54, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нужно переписать весь хромитам на раст и померить время сборки на холодную. А без этого твои слова ничем не доказуемы. У них много кода, вот он долго и компилится первый раз. К слову в расте раньше не было инкрементальной сборки и Дропбокс плакался по этому поводу достаточно сильно.
     
     
  • 5.299, Аноним (310), 16:46, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Нужно переписать весь хромитам на раст

    У вас болезненная зацикленность на расте?
    >А без этого твои слова ничем не доказуемы.

    Вы не видите очевидных доказательств. Вот один из примеров https://www.opennet.ru/opennews/art.shtml?num=56475
    >У них много кода, вот он долго и компилится первый раз.

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

     
     
  • 6.328, Аноним (314), 18:38, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Зато сишники освоили более одного production-ready компилятора, и все благодаря наличию стандарта.
     
  • 6.329, Вы забыли заполнить поле Name (?), 18:41, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>Нужно переписать весь хромитам на раст
    > У вас болезненная зацикленность на расте?

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

    >>А без этого твои слова ничем не доказуемы.
    > Вы не видите очевидных доказательств. Вот один из примеров https://www.opennet.ru/opennews/art.shtml?num=56475

    Нашел новые?) Могу еще подсказать поискать новости про то, что в ядре повторяется куча кода в разных подсистемах.

    >>У них много кода, вот он долго и компилится первый раз.
    > Нет, это сишники не осилили нормальный компилятор. Запрети циклические зависимости, и проблема
    > выше решится сама собой, без необходимости строчить огромные патчи.

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

    > А даже если патч примут, то снова разведут бардак.

    Попробуй посопровождай проект подобного уровня и посмотрим какой там будет бардак. Чел, это не бардак)


     
     
  • 7.348, Аноним (175), 19:38, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы ссылку читали Функционал остался тем же, но собираться стал более чем в четы... большой текст свёрнут, показать
     
     
  • 8.360, Вы забыли заполнить поле Name (?), 23:36, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем сравнивать функциональный язык с GC и императивный без GC Блин, да для oc... текст свёрнут, показать
     
     
  • 9.365, Аноним (175), 00:00, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А какая разница Почему нельзя запретить циклические ссылки на исходники в импер... текст свёрнут, показать
     
  • 8.361, Вы забыли заполнить поле Name (?), 23:40, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Никто не отказывается ничего признавать Ее решают по другому просто Я тебе еще... текст свёрнут, показать
     
     
  • 9.367, Аноним (175), 00:21, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как решают Периодически патчи присылают, как с linux Это не решение проблемы я... текст свёрнут, показать
     
     
  • 10.370, Вы забыли заполнить поле Name (?), 01:49, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Кэш, распределенная сборка ... текст свёрнут, показать
     
     
  • 11.372, Аноним (175), 02:02, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я не помню точных цифр, но вместе с кешем хромиум собирался не больше суток, а ч... текст свёрнут, показать
     
  • 10.371, Аноним (175), 01:59, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Нашёл пример для плюсов https habr com ru companies jugru articles 438260 ... текст свёрнут, показать
     
  • 6.334, Вы забыли заполнить поле Name (?), 18:50, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > это сишники не осилили нормальный компилятор

    Для си есть верифицированный компилятор https://compcert.org/, компиляторы попроще tcc (используется для бутстрапинга) и куча других проектов. Так что тут не прав. Выбор - это всегда хорошо.

     
  • 2.210, Вы забыли заполнить поле Name (?), 01:12, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >  Часть проектов будут сочетать в себе безопасные и небезопасные части, при этом любой коммит будет менять их в произвольные стороны

    У нормальных проектов есть различные чекеры (тот же clang-tidy, который можно настроить на следование различныи фичам) и ревью. А проблема, которую ты описываешь - это общая проблема всех развивающихся во времени систем.

     
     
  • 3.223, Аноним (175), 04:27, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >У нормальных проектов есть различные чекеры

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

     
     
  • 4.291, Вы забыли заполнить поле Name (?), 14:58, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот вы и назвали важный недостаток. Нужно, чтобы повезло и в проекте оказался анализатор, чтобы договорились включить диагностику, чтобы если диагностика выдаст пару сотен тысяч ошибок её не отключили, чтобы библиотеки тоже проверялись и так далее.

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


    > В реальности же целый гугл не смог реализовать парсер json, и им пришлось брать его из раста

    Бред.

     
     
  • 5.298, Аноним (295), 16:42, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Кто будет следить, что я не расставляю ансейфы для обхода борова?

    Тут два варианта - у вас есть код-ревью или ты сам себе хозяин.

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

     
     
  • 6.330, Аноним (314), 18:42, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так это работает и с C++. Есть кому следить за использованием анализатора кода - будет толк, нету - сам себе злобный буратино и никакой раст не спасет.
     
  • 6.331, Вы забыли заполнить поле Name (?), 18:43, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >> Кто будет следить, что я не расставляю ансейфы для обхода борова?
    > Тут два варианта - у вас есть код-ревью или ты сам себе
    > хозяин.

    Ну дык в проекте на с++ также.

    >   Если на код-ревью у тебя в растовском коде увидят сотни/тыщщи
    > участков с ансейфом, к тебе возникнут вопросы. Почитают комментарии к этим
    > участкам кода, присмотрятся, подумают, насколько это оправданно и заствят переписать.
    > Повторится - скорее всего выкинут на улицу как диверсанта или неосилятора.

    Тоже самое для проекта на ___ (подставь что хочешь).


     
  • 5.301, Аноним (310), 16:53, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Если у тебя в этом месте проблемы, то и срастом такие же будут

    При чём тут раст? И да, в расте это делатся явно и проверяется примитвно, банальным grep. В плюсах вручную перелопачивать миллионы строк
    >Бред

    Вашемнение реальность не изменит, а аргументов от вас нет

     
     
  • 6.333, Вы забыли заполнить поле Name (?), 18:47, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>Если у тебя в этом месте проблемы, то и срастом такие же будут
    > При чём тут раст? И да, в расте это делатся явно и
    > проверяется примитвно, банальным grep. В плюсах вручную перелопачивать миллионы строк

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

    >>Бред
    > Вашемнение реальность не изменит, а аргументов от вас нет

    Чел, ты видимо не переписывал большие проекты. Никто не будет переписывать на раст сложные подсистемы в хроме, а начнут с чего пропроще. Генерато qr кодов там или вот парсер json. Потому что повесточка такая от начальсва, а глупцам наружу скажут, что безопасно. Ну по CVE парсер json явно не на 1-ом месте.

     
     
  • 7.362, Аноним (175), 23:49, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно и как Вот в расте - понятно, берём grep unsafe -rn и готово В языках... большой текст свёрнут, показать
     
     
  • 8.392, Вы забыли заполнить поле Name (?), 13:49, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я просил в той новости привести пример такого некорректного джейсона, но никто н... текст свёрнут, показать
     

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

  • 1.192, maxis11 (ok), 23:00, 17/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я так и не понял почему надо создавать новый продукт, если можно подключить clang-tidy в CI/CD с проверкой на cppcoreguidelines-owning-memory (можно ещё кучу дополнительных проверок взять)? Суть такова: в CI/CD добавить этап, который будет блокировать PR изменений если они не прошли проверку линтера, зе энд.
     
     
  • 2.202, Аноним (201), 00:58, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > clang-tidy

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

     
  • 2.300, Аноним (295), 16:47, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Гуглу всякие "анализаторские" инструменты и фаззинг-тестирования не помогают в сишных/плюсовых проектах, всё равно ошибки просачиваются. Потому они и нахваливают раст и горлапанят о желании всю новую или ответственную нативную системщину в андроиде писать на расте.
     
     
  • 3.332, Аноним (314), 18:45, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно что нахваливают и горланят, но переходить не торопятся.
     
  • 3.336, Вы забыли заполнить поле Name (?), 18:52, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > о желании всю новую или ответственную нативную системщину в андроиде писать на расте

    На фучсии они также делали, но с++ там тоже дофига был (задание подумать почему). И где теперь фучсия?

     

  • 1.212, Аноним (212), 01:29, 18/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    вот реально не понимаю проблемы - запросил памяти отработал, освободил. кто отменил культуру написания кода ? или вообще все без задней мысли как все работает ? капец просто, сколько это уже можно мусолить.
     
     
  • 2.215, Аноним (215), 02:27, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Опять про Настоящих Сишников™®© заливает.

    У Линуса спроси, он разъяснит как они там тридцать лет в ядре по этим граблям зодят и конца-края этому не видно.

     
     
  • 3.218, Аноним (218), 03:17, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Он наверное про RAII.
     
  • 3.229, Аноним (229), 07:17, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    std::shared_ptr<Твой суперский тип>
    и все, как только исчезнут владельцы ссылок на объект он освободится.
    Прям капец трудно, дааа ? 1000 страниц прочитать надо, даааа ?

    Для клас-обертка вокруг ресурса с освобождением в деструкторе тоже пишется без каких-либо проблем...

    раст делает это "по умолчанию"
    с++ делает только то о чем его явно попросили.

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

    Все загоны растоманов от не знания базовых вещей, что етсь в с++ с 11 стандарта.  

     
     
  • 4.272, Аноним (241), 10:27, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > std::shared_ptr<Твой суперский тип>

    и все, как только исчезнут владельцы ссылок на объект он освободится.
    > Все загоны растоманов от не знания базовых вещей, что етсь в с++ с 11 стандарта.

    Лол. Если бы у тебя было знание базовых вещей C++, то был бы в курсе, что проблема владения не ограничивается возней с heap и RAII. Это проблема в дырявом фундаменте языка.

    Как твой shared_ptr поможет в этом:

    auto a = 0;
    auto& b = std::max(a, 1);

    Вот у тебя b - висячая ссылка.

    > с++ делает только то о чем его явно попросили.

    C++ ничего не делает.

     
     
  • 5.337, Аноним (314), 18:53, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты делай так:

    auto a = std::make_shared<int>(0);
    auto b = std::max(*a, 1);

    C++ ничего не делает за ленивых программистов.

     
  • 4.286, Facemaker (?), 13:21, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >от не знания базовых вещей

    Вот эта вот системная безграмотность очень красноречива.

     
  • 4.307, Аноним (310), 17:21, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > std::shared_ptr<Твой суперский тип>

    и все, как только исчезнут владельцы ссылок на объект он освободится.
    Простейший двусвязный список и объект застрял навечно. А если это подкостылить слабыми ссылками, то уже можно получить висячий указатель

     
     
  • 5.335, Аноним (314), 18:51, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если так старатся, то можно и ошибку памяти в Rust организовать https://github.com/Speykious/cve-rs
     
     
  • 6.350, Аноним (175), 19:43, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Если так старатся

    Что значит стараться? Условный студент по вашему специально ошибки в курсовую вносит?

     
  • 3.249, Аноним (249), 09:14, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну верит человек до сих пор в Деда мороза, - пускай и дальше верит!:)
     
  • 2.245, Аноним (249), 09:07, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>> запросил памяти отработал, освободил. кто отменил культуру написания кода ? <<<

    Это хорошо звучит только в теории, на практике это не работает, - просто смиритесь с этим! Rust придумали не просто так!!!

     
     
  • 3.253, Аноним (250), 09:28, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно не просто так, а из-за NIH.
     
  • 2.251, Аноним (250), 09:23, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    При этом котроль выхода за границы массива, как бы, не помешает.
     
  • 2.273, Аноним (241), 10:32, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > вот реально не понимаю проблемы - запросил памяти отработал, освободил. кто отменил культуру написания кода ?

    Не понимаешь потому, что проблема владения не ограничивается возней с new/delete. В плюсах ты можешь в это вляпяться вообще без динамического выделения памяти.

     
     
  • 3.277, Аноним (249), 11:09, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, забей! Таким бесполезно что-то объяснять; cразу видно, что человек никогда не писал ничего серьёзного на С++, иначе он бы не писал глупости в стиле - да это же элементарно!

    ПС: Лично у меня бывали случаи когда приходилось писать код по 10, а то и по 12 часов в день. В таких случаях, лично я предпочту компилятор rustc, который скажет мне если я, скажем на 10 часу, когда я устал и моя концентрация упала, попытаюсь сделать какую-нибудь "элементарную" глупость, что я не прав, где именно, в чём не прав и самое главное как это исправить, вместо того, чтобы разбираться в "шаблонных портянках C++" из серии - упс извините, но "что-то" не так!

     
     
  • 4.279, Аноним (112), 11:24, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Только на раст для той же работы тебе понадобится 60 часов. Но да компилятор тебе точно скажет и много плохих слов про себя от него узнаешь.
     
     
  • 5.281, Аноним (281), 11:40, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Только на раст для той же работы тебе понадобится 60 часов.

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

    У гугла как-то получается, что раст-команды продуктивнее чем плюсовики.
    Но туда конечно не васянов с улицы берут.

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

    Компилятор не анон, он если ругается - то по делу.


     
     
  • 6.339, Аноним (314), 18:56, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    "Сначала добейся", и сразу ссылка на авторитет. Просто ходячая демагогия.
     
  • 5.282, Аноним (249), 11:45, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Только на раст для той же работы тебе понадобится 60 часов. <<<

    Разумеется в С++ есть херова туча библиотек почти на все случая жизни в отличии от Раста, - и именно поэтому вам кажется что писать код на плюсах быстрее, - и это нормально! Однако, если вы Раст не знаете, то вполне возможно вам и этого будет мало (и как это часто и бывает) вы вообще ничего не напишите!

     
     
  • 6.340, Аноним (314), 18:59, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    но люди не поэтому пишут статьи "Почему я отказался от разработки игр на Rust"
     
  • 5.379, Проходил мимо (?), 07:35, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Уважаемый анонимный иксперд, довожу до вашего сведения, что настолько большой разницы в скорости написания сферического кода в вакууме на Си, Си++, GoLang и Rust нет от слова совсем.
    Хотя, в некоторых случаях, вам потребуется гораздо меньше времени для написания кода на Rust, но это касается тех случаев, когда что-то, реализованное в стандартной библиотеке Rust, отсутствует в стандартной библиотеке Си++ либо сделано там через жопу. Стандартная библиотека GoLang в этом отношении еще круче, особенно в плане обработки связанных с вебом вещей и генерации страниц по шаблонам.
     
  • 4.288, Аниним (?), 14:20, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > ПС: Лично у меня бывали случаи когда приходилось писать код по 10, а то и по 12 часов в день. В таких случаях, лично я предпочту компилятор rustc

    А йа лучше меньше часов попрогаю :)

     
     
  • 5.320, Аноним (29), 18:04, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    я даже не представляю, что можно прогать 12 часов, кек
     
     
  • 6.388, Аноним (89), 12:49, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    "Hello, World!" на Rust? Borrow checker-с, знаете ли.
     
  • 2.306, Аноним (310), 17:18, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >вот реально не понимаю проблемы - запросил памяти отработал, освободил. кто отменил культуру написания кода ? или вообще все без задней мысли как все работает ?

    Вы не знаете про существование кучи? Где вы там память освобождать собрались?

     
     
  • 3.322, Аноним (29), 18:08, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы не знаете про существование кучи?

    программист на "высокоуровневом безопасТном ЯП" - знать не должен!

     
     
  • 4.352, Аноним (175), 20:03, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >программист на "высокоуровневом безопасТном ЯП" - знать не должен!

    Зато плюсовики просто обязаны

     

  • 1.265, n00by (ok), 09:51, 18/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Таким образом дальше может возникнуть подозрение, что кого-то после знакомства с OCaml посетила гениальная идея сделать члены class по умолчанию const и перенести часть работы сборщика мусора на этап трансляции. Но потом что-то пошло не так и автор Rust нарулил из проекта.
     
  • 1.338, nc (ok), 18:55, 18/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    У меня проблем с памятью в С++ вообще не было, хотя и смартпоинтерами практически не пользуюсь, и отслеживание владения объектами мне как-то не требуется - объекты просто не меняют владельца в течение всего времени жизни.
    А вот чего не хватает, так это рефлексии и императивных синтаксических макросов.
     
     
  • 2.351, Аноним (175), 20:01, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >У меня проблем с памятью в С++ вообще не было

    Откуда вы это знаете? Фазеры, например, находят неочевидные проблемы

     

  • 1.342, Аноним (342), 19:12, 18/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это уже можно назвать Rust с классами?
     
  • 1.347, Аноним (314), 19:35, 18/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Безопасная работа с памятью и 100% совместимость с существующей кодовой базой. И даже специалистов не нужно переучивать на новый язык. Что еще нужно для счастья.
     
     
  • 2.353, Аноним (-), 20:41, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, мечтай У них в драфте есть пример int main safe std2 vector int v... большой текст свёрнут, показать
     

  • 1.355, Аноним (-), 22:09, 18/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    NVIDIA пишет драйвер на Rust, но тут многим виднее...
    https://lists.freedesktop.org/archives/dri-devel/2024-March/446709.html
     
     
  • 2.356, Аноним (-), 22:11, 18/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    точнее RedHat
     

  • 1.363, Другой Аноним (?), 23:50, 18/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Есть всего одна простая опция как радикально повысить безопасность C++ - отбросить поганое наследие Си:
    - char* в коде?  Ошибка, остановка компиляции.
    - memcpy в коде? Ошибка, остановка компиляции.
    - malloc/free в коде? Ошибка, остановка компиляции.
    - сишное преобразование переменных? Ошибка, остановка компиляции.

    и.т.п.

    Всё, безопасность вашего кода улучшена многократно.

     
     
  • 2.369, Аноним (175), 00:48, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Этого не хватит - останется как минимум ошибка на миллиард долларов - null.
     
     
  • 3.374, Аноним (374), 03:00, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если запретить хранить "сырые" указатели, то нужно очччень постараться чтобы сломать себе ногу о nullptr. Так и на автомобиле можно в дерево въехать если очень захотеть.

    Вообще ошибки с nullptr - самые простые для отлова и исправления, всегда понято где навернулось и почему.  В отличие от того же use-after-free, от которого у сишных программистов на лбу уже должна быть вмятина по форме ручки от грабель. Вот последнее реально на миллиард долларов.

     
     
  • 4.376, Аноним (175), 03:29, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Вообще ошибки с nullptr - самые простые для отлова и исправления, всегда понято где навернулось и почему.

    Нет, же, нет. Даже мне, человеку не пишущему на c++ известно, что a[b] аналогично *(a+b). И если взять достаточно большой массив, то в итоге адресной арифметики хватит, чтобы указатель вышел за несколько первых зарезервированных страниц памяти и влез в чужую память. Насколько мне известно, это не единственный вариант

     
     
  • 5.377, Аноним (374), 05:41, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > что a[b] аналогично *(a+b)

    Есть такое, да. Только это не проблема null, а buffer overflow. Может придумают что с этим делать, как решили проблему use-after-free и владения памятью. Пока что есть range based for и всякие отладочные костыли.

     
  • 5.387, Аноним (274), 12:45, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В С++ есть некоторые средства, снижающие риск, хоть и не убирающие его полностью:
    * std::vector и std::array вместо "сырых" массивов и их функция at()
    * Итерация контейнеров без указателей и индексов через for (auto& obj: container), std::for_each()

    Но иногда надо и проверять индексы, да. Например, получил какие-то данные из сети и парсишь их. Но и в таких случаях, если ты контролируешь формат обмена - можно использовать форматы обмена, для которых есть готовые библиотечные парсеры. Например, JSON, CBOR, Protobuf.

     
     
  • 6.397, Аноним (175), 18:25, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >Но иногда надо и проверять индексы, да.

    Тогда чем это будет отличаться от условного Ocaml/Java, где границы точно так же проверяются? Смысл плюсов в скорости, а с такими ручными проверками они её потеряют. Тут уже ATS нужен или любой другой язык с зависимыми типами.

     
     
  • 7.398, Аноним (-), 18:46, 19/09/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 7.399, Аноним (374), 18:55, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Смысл плюсов в скорости, а с такими ручными проверками они её потеряют.

    Пишу по работе высокопроизводительный код, всегда проверяю выход за границы массива. Брат жив,  рекомендую. Хотя это странно, словно рекомендовать не перебегать дорогу, предварительно не посмотрев в обе стороны. Предвижу ответ "Но я же потеряю одну секунду пока бегу за пивом!"

     

  • 1.383, Аноним (249), 12:08, 19/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, походу Rust это только начало! На горизонте уже появляется "следующее поколение". Например, недавно наткнулся на вот такое:

    https://www.hylo-lang.org/
    https://www.youtube.com/watch?v=5lecIqUhEl4

     
     
  • 2.384, Аноним (-), 12:17, 19/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, походу Rust это только начало! На горизонте уже появляется "следующее поколение".
    > Например, недавно наткнулся на вот такое:
    > https://www.hylo-lang.org/

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

    У некоторых будут новыи идеи, которые возможно перекочуют в раст. А может нет.
    Другие пока не приносят ничего супер ценного - как например зиг, который типа безопасный, но use-after-free позволяет.

    Будет ли hylo успешный? Может быть.
    Но протолкнуться в ядро, в дрова или андроид будет очень сложно.

     

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



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

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