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)

Про это ж ещё Саттер на CPPCon’е в сентябре говорил.

luke ★★★★★
()

Ну и вообще прикольно, конечно. Чуваки (Mozilla) создали язык под одну конкретную задачу (любой лор-эксперт знает, что язык нужно выбирать под конкретную задачу!), лет десять ковырялись, потом таки признали, что чудовищно обосрались и выкинули всё на мороз.
И тут всё как заверте...

thesis ★★★★★
()

Без выжигания аццким пламенем всей ООП-чумы - можно и не начинать.

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

ИМХО, разумное зерно в рекомендациях NSA есть. Там где ненужна низкоуровневая работа с памятью, там стоит изучить возможность делать проект (часть проекта) на языках, где ее нет. Это позволит избежать ряда проблем и может снизить затраты на программистов (можно нанять менее квалифицированных специалистов). Но возводить эти рекомендации в абсолют не стоит.

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

почему вы не пишите |конец_предложения|, а ставите скучную точку, если вам так нравится губи?

Syncro ★★★★★
() автор топика
Ответ на: комментарий от yu-boot

я тут кстати пытался развернуть гитлаб не из пакетика и пока что он меня побеждает, хотя лет 10 назад подучалось с первого раза, такая маза кстати со всеми скриптовыми языками: через 2-3 года просто установить все по инструкции восновном не получается, всегда ловишь ошибки зависимостей, развертывания и компиляций

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

Раст пару лет назад и сейчас, это несколько разные языки тащем, хоть и обратно совместимые. Сейчас это по большому счёту нечто среднее между бетой и RC, потому что ещё идёт довольно активная работа над внутренностями. GAT вот только вот смогли занести. Тем более servo снова откапывают.

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

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

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

yu-boot ★★★★
()
Последнее исправление: yu-boot (всего исправлений: 1)
Ответ на: комментарий от soomrack

По-хорошему, всё низкоуровневое нужно написать 1 раз, отладить-вылизать, положить в виде готовых библиотек и не лазить руками в этот код никогда. Как квиксорты и иже с ними. Но, видимо, так писать некруто и вообще.

yu-boot ★★★★
()
Ответ на: комментарий от Syncro

Это есть такое. Я долбался с переносом руби-скрипта на древнюю машину с openbsd, потому что там не собирался никаким образом модуль для работы с SQL. В стандартную библиотеку столь популярную вещь положить, видимо, религия не позволяет - только левые непонятно кем написанные модули, собираемые на конкретной тачке под конкретную же тачку. Тьфу.

yu-boot ★★★★
()
Ответ на: комментарий от Dark_SavanT

Пилят и хорошо. Но вот помнится мне, что дишечку тоже пилили, тулкитов понаписали даже, ну и где, спрашивается, оно делось.

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

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

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

ну и, скорее всего, руст концептуально украли именно оттуда, только сделали дефективным, а оригинал в таких случаях душат

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

Открываешь учебник по рельсам, плюёшь в монитор, закрываешь.

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

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

Что там совсём всё так плохо? Думал проблема только с двусвязными списками из-за цикла графа указателей.

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

где, спрашивается, оно делось.

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

https://dlang.org/changelog/2.101.2.html

Некоторые конторы что-то на нём пишут.

В опенсурсе не особо в ходу. Крупных смузихлёбных модных проектов нет.

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

Потихоньку допиливают, баги правят.

Это сам язык. Допустим, прихожу я, весь ангажированный на написание плейера (разумеется), и спрашиваю: а чем у вас окошко нарисовать? И выясняю, что нечем, раньше-то всё было, но ныне заброшено и протухло.

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

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

Дурной тон - это использовать наследование там, где оно не нужно.

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

Будто нельзя не ходить по газонам.

В С++ можно обмазаться RAII и смартпоинтерами. В 98% случаев это помогает избежать проблем с памятью.

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

А можно и не обмазаться.

Но не нужно.

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

В 98% случаев это помогает избежать проблем с памятью

В 98% примитивных случаев. В сложных проектах - не помогает. Вернее, помогает лишь частично.

unsigned ★★★★
()
Ответ на: комментарий от yu-boot

Нагуглилась такая статья: https://opensource.com/article/20/5/rust-java

«Why I’m enjoying learning Rust as a Java programmer» [свободный литературный перевод]

Rust feels familiar

Первый язык программирования, который я выучил 25 летназад, был язык Java. Затем, я написал много кода на Perl. Также, мне приходилось чуть-чуть писать на Си и JavaScript. В 2019 году я запатентовал своё приложение на Java.
Я до сих пор недостаточно хорошо выучил Rust. Иногда мне кажется, что я его знаю достаточно хорошо. Но это бывает ошибкой.

References make sense

Чтобы использовать ссылки на Rust, надо мыслить немного по-другому, чем когда программируешь на Си++ или Java. Надо тщательно следить за временем жизни объекта. Сборщика мусора тут нет.

Ownership will make sense

Я пока новичок в программировании на Rust. Мой опыт - 2 недели. С контролем времени жизни объекта я пока не разобрался. Но уже нашёл какие-то диаграммы в книге "Programming Rust".

Cargo is helpful

Я не любитель использовать новейшие IDE в программировании на Java. Но бинарный формат Rust меня вдохновил. Я думаю, здесь можно многое. Интеграция с Git, автоматическое создание документации, оптимизация кода, и всё такое...

The compiler is amazing

Поначалу мне очень помогают сообщения об ошибках, которые выдаёт компилятор. Похоже на то, что создатели компилятора позаботились о нас. В отличие от продуктов Oracle, тут сообщения об ошибках выводятся разным цветом. Также, выводятся полезные сообщения. Пример: `For more information about this error, try rustc --explain E0308`

Conclusion

Я не собираюсь писать много продакшна на Rust. Но язык мне определённо нравится. Не уверен, что у меня будет ещё 25 лет жизни на кодирования на Rust. Поэтому он остаётся в виде хобби.
i_am_not_ai
()
Ответ на: комментарий от Lrrr

Просто появится новая профессия. Переписывальщик Сишного кода под Раст. Ну, если по такой логике.

(хотя-бы люди за бесплатно перестанут работать)

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

Это да. С поддержкой всего на свете через библиотеки там далеко не питон конечно.

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

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

Так документацию надо читать и в программировании мозги разминать, а не на форуме срать. Пока ты тут в коментах сидишь ты ничего не увидишь.

программ, написанных на нём

А что тебе чужие программы? Свои писать не в состоянии?

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

В 98% примитивных случаев.

98% уязвимостей вызваны этими самыми примитивными случаями вроде if (uid = 0) {/* priveleged code */}.

X512 ★★★★★
()

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

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

Эх, щас бы Ruby с нормальным компилятором

Crystal же. Только все равно это нинужно, как и само руби. Только C и perl, только хардкор! Вот список рекомендуемых ЯП сабжевыми рептилоидами видели? От них лучше держаться подальше.

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

98% уязвимостей вызваны этими самыми примитивными случаями

Сомнительное утверждение. Но даже если так, сложного тоже полно, на него забить что ли?

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

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

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

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

The Lisp Curse

Лисп не взлетел, потому что на нём слишком легко в одиночку делать всякие крутые штуки, на которые на других ЯП требуются огромные комитеты компетентнейших ПиЭйчДей.

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

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

KolyaKirgiz
()

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

С декомпиляцией C++ проблемы?

Forum0888
()
Ответ на: комментарий от bonta

Очевидно в АНБ сидят такие же тупые старперы как в российских правящих кругах.

Даешь молодежь! В каждый правящий дом по моложавому энергичному хипстору Джо Байдену!

Virtuos86 ★★★★★
()

Занятный тред. В этот раз на роль обезьяны, доказывающей, что Раст не нужен, сам вызвался fluorite, но скучновато как-то выступает. Царя когда внесут?

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