LINUX.ORG.RU
ФорумTalks

АНБ призвало отказаться от С++

 ,


0

6

вот что бывает при достижении инклюзивности на местах, т.е. постах

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

https://www.cnews.ru/news/top/2023-01-23_vlasti_ssha_rekomenduyut_otkazatsya

★★★★★

Последнее исправление: leave (всего исправлений: 3)

Ответ на: комментарий от One

перепишут

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

thesis ★★★★★
()
Ответ на: комментарий от Aswed

Например сделать модуль ядра для линукса.

Модуль сделать как раз можно. Его в репозиторий ядра не примут, но это уже out of scope.

trex6 ★★★★★
()
Ответ на: комментарий от hibou

Другая проблема, с которой я часто сталкивался в коде - вызов чистых виртуальных функций из конструкторов/деструкторов. 3-4 уровень вложенности, обернуто if-ом - все как мы (не) любим.

Некоторые решают эту проблему через Init() / Deinit(). Не очень элегантное решение, возвращающее нас в мир с ручным контролем освобожения ресурсов.

Эта проблема получила какое-то внимание со стороны комитета?

P.S. Я уже давно за С++ не слежу.

trex6 ★★★★★
()

Это американский заговор, разве кому-то это не очевидно? С++ — язык-красавец, задокументированный и стандартизированный. Он кремень. На него можно положиться в трудную минуту. Раст же напротив — ублюдок курильщика, кроме референсной реализации у него пук. Так и сама реализация его — переусложненнаа ансэйф лапша, которая во время компиляции майнит биткоины. В такой параше закладкой больше, закладкой меньше, никто не заметит. Потому АНБ и рекомендует.

filosofia
()
Последнее исправление: filosofia (всего исправлений: 1)

Бгг. Это про тот Rust, который при сборке чего-то чуть сложнее хелловорлда без спроса тащит со сторнних сайтов тонну какого-то говнища?

АНБ совсем уж своё население за баранов держат. Зато сразу понятно кто на самом деле crates.io держит и почему не стоит использовать Rust ни для чего.

Stanson ★★★★★
()
Ответ на: комментарий от filosofia

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

Syncro ★★★★★
() автор топика
Последнее исправление: Syncro (всего исправлений: 2)

Мощно. По объявлениям понабирали... :)

BceM_IIpuBeT ★★☆☆☆
()
Ответ на: комментарий от fluorite

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

Aswed ★★★★★
()
Ответ на: комментарий от fluorite

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

Aswed ★★★★★
()
Ответ на: комментарий от trex6

вызов чистых виртуальных функций из конструкторов/деструкторов

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

Psilocybe ★★★★
()
Ответ на: комментарий от Psilocybe

Не удержался:

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

Можно подумать за не pure virtual дёргать хоть чем то лучше…

bugfixer ★★★★★
()
Ответ на: комментарий от hibou

но все равно медленнее, чем в хрусте. так как в русте все проверяется во время конпеляции, а в плюсах в рантайме

us976
()
Ответ на: комментарий от Dark_SavanT

ну так это, сам пиши, зачем тебе библиотеки.

us976
()

пора всё переписать на сиси плюс. новый язык, не имеющий аналогов

shimajima
()
Ответ на: комментарий от us976

Что проверяется? Чего там вообще проверять надо?

Умный указатель просто вместо тебя вызывает деструктор объекта перед своим собственным уничтожением. Это избавляет тебя от забывчивости освободить память вручную. Какие еще проверки?

hibou ★★★★★
()
Ответ на: комментарий от fluorite

Односвязный список-то на rust уже можно написать?

std::collections::LinkedList

AlexVR ★★★★★
()
Ответ на: комментарий от fluorite

Смысл связного списка - быстрая вставка в середину.

Враньё. Быстро можно в ставить в начало/конец или слева/справа от указателя. До середины ты будешь добираться за O(n) прыгая повсей памяти с кешпромахами.

AlexVR ★★★★★
()
Ответ на: комментарий от AlexVR

Это все же быстрее, чем реаллоцировать массив и вставлять элемент в него.

hibou ★★★★★
()
Ответ на: комментарий от Aswed

Это все тлен. На растишку нет ничего с буковками ANSI, ISO, IEC, IEEE, ARINC, DO-178 и misra. Аналога Ravenscar profile и SPARK тоже нет (а если б было, это была бы очень специфическая растишка, с отключенным репозитарием и запрещенными к применению в критичных областях фичами, на которой мало кто из фанатов смог бы писать). Про формальную верификацию в этом хайпе школьников вокруг встроенного статик анализатора тоже ничего не слышно. «Ведра линукса» — это все детские игрушки игрушечной ойтишки. До «убийства» дедовских игрушек в реальном мире еще как до Китая пешком.

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от Aswed

Ну или что бы решать задачи, на которые с++ принципиально не способен. 

На c++ написан бортовой софт для F-35 :) Когда растишка такое сможет — будет повод надувать щоки. Пока нет «MIL-STD-номер» для растишки, «растишка принципиально неспособна решать такие задачи».

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

с отключенным репозитарием

было б здорово и в нормальном расте такое. А то любой «туториал» начинается с cargo — сразу закрываю.

luke ★★★★★
()
Ответ на: комментарий от luke

А так и будет :) когда (если) за это возьмется комитет смотрящих от регуляторов ответственных применений типа авионики и медицинского оборудования, а не хипсторских понтов изобретателей «того же что у взрослых» с пионерским покерфейсом что якобы до них ничего не было, а это они придумали статический анализ... и ни слова про формальную верификацию :)

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 3)
Ответ на: комментарий от Psilocybe

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

trex6 ★★★★★
()
Ответ на: комментарий от Stanson

не стоит использовать Rust ни для чего

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

untitl3d
()
Ответ на: комментарий от Stanson

Это про тот Rust

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

bread
()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от untitl3d

Ну для зарабатывания денег-то хоть можно?

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

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

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Не убавить, не прибавить. Отлично сказано!

anc ★★★★★
()
Ответ на: комментарий от soomrack

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

И поделка крестовика на раз вычисляется - простым грепом. Вполне можно взять за правило, что в высокоуровневом софте голого new не должно быть вовсе, значит автор придерживается «правильных» практик и сделал добротно.

kvpfs ★★
()
Ответ на: комментарий от bread

Всегда было интересно - крейты с одинаковым названием но разными версиями в одной софтине - это тайная ложа или полная лажа? :)

Stanson ★★★★★
()
Ответ на: комментарий от Stanson

Подозреваю, что автор софтины может даже об этом не знать. Он просто подключает какие-то крейты, которые подключают другие крейты с зафиксированными версиями, которые... И так рекурсивно можно притащить хоть все версии одной либы сразу. Меня ещё напрягло зачем тащить все эти winapi и windows на линукс. Ну может тут сборщик ленивый, а может в расте так принято, не знаю. Но со стороны эта карго-ориентированная разработка выглядит как адок.

bread
()
Ответ на: комментарий от Stanson

Свои купчинские быдлофантазии при себе оставь. А я пишу на том, за что платят больше. Будут платить за руст - буду на руст.

untitl3d
()
Ответ на: комментарий от slackwarrior

Бортовой компьютер для F-35 нужен только для F-35, которые кроме военных никому и не нужны. А модулями ядра линукса в каждом сервере, роутере, телефоне на андроиде и т.д. Так что если ты сравниваешь их по степени нужности, то сравнение не в твою пользу

Aswed ★★★★★
()
Ответ на: комментарий от slackwarrior

До «убийства» дедовских игрушек

Дедовские игрушки не надо убивать. Они умирают и без посторонней помощи.

Aswed ★★★★★
()
Ответ на: комментарий от Aswed

Бортовой компьютер для F-35 нужен только для F-35, которые кроме военных никому и не нужны.

Примерно всем сателлитам СШАшки, кому методом внеэкономического (нерыночного) довления укажет госдеп :)

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

И все это игрушечное ойти в своих кораблях в бутылке, которое забыло откель электричество в розетке ;) по степени надежности все это твое барахло с «модулями ядра линукса» вообще мусор, неприменимый нигде кроме ойтишки в ее «кораблях в бутылке» :)

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 2)
Ответ на: комментарий от Aswed

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

slackwarrior ★★★★★
()

нужно отказаться от АНБ

burato ★★★★★
()
Ответ на: комментарий от untitl3d

Да не вопрос.

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

Может быть весьма неприятно.

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

Stanson ★★★★★
()
Ответ на: комментарий от slackwarrior

Ты всерьез утверждаешь что одна узконаправленная железка(бортовой компьютер одной модели самолета) в одной узконаправленной сфере(военные), которая даже не является там незаменимой(у других стран есть свои самолеты, и даже у самих сша есть другие самолеты) это более «взросло» чем ядро линукса, которое более чем 90 процентах серверов, роутеров, телефонов, суперкомпьютеров? Настольные ПК и игровые конслли это единственная часть IT, которой норм без линукса. Лол, все остальное цифровое общество(сервера банков, больниц, роутеры, марсоходы) не может функционировать без линукса. И ты тут утверждаешь, что F-35 это более важно? Я не понимаю, ты не умеешь считать или у тебя просто «военный головного мозга»?

Aswed ★★★★★
()
Ответ на: комментарий от Aswed

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

tommy ★★★★★
()
Ответ на: комментарий от slackwarrior

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

Если знания о расте черпать исключительно с лора, то да, не слышно.

DarkEld3r ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)