vak: (Default)
[personal profile] vak
“The goal of this proposal is to advance a superset of C++ with a rigorously safe subset. Begin a new project, or take an existing one, and start writing safe code in C++. Code in the safe context exhibits the same strong safety guarantees as code written in Rust.”

Ну наконец хоть что-то шевельнулось в замшелом болоте развития Си++. 😀 Конкуренция с Rust заставила. Надо будет проштудировать на досуге.

“Here’s the memory safety value proposition: language and library vendors make an extra effort to provide a robust environment so that users don’t have to read the docs. No matter how they use the tooling, their actions will not raise undefined behavior and compromise their software to safety-related exploits. No system can guard against all misuse, and hastily written code may have plenty of logic bugs. But those logic bugs won’t lead to memory-safety vulnerabilities.”

Date: 2024-09-17 08:01 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Rust я бы скорее назвал не type-safe, а resource-safe.

Date: 2024-09-17 08:06 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Зачем везде писать mut? Компилятор сам должен понимать, какой метод мутирующий, а какой - нет.

Date: 2024-09-17 16:53 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Понятно, к чему это будет приводить. Будут убирать mut, чтобы компилировалось, а потом долго и мучительно отлаживаться.

Date: 2024-09-17 17:28 (UTC)
sab123: (Default)
From: [personal profile] sab123
А я уже рассказывал, как получить безопасность, эквивалентную Расту: https://babkin-cep.blogspot.com/2021/06/on-rust.html

But can the same concept be imported into C++? I think it can. There actually already are the syntactic means to express the borrowing and consumption in C++. Borrowing is "const &", and consumption is "&&". So all we need is a way to ban the plain "&" and "*" in the parts of the code that we decree "safe".

Date: 2024-09-20 04:13 (UTC)
perdakot: (Default)
From: [personal profile] perdakot
lifetime ещё надо, чтоб borrowing не жил дольше, чем то, что borrow.

Date: 2024-09-17 18:49 (UTC)
yba: (Default)
From: [personal profile] yba
И только C программисты не парятся и суют свои malloc/free везде где можно

Date: 2024-09-17 20:28 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
Даже без malloc/free в небезопасном языке всегда можно взять указатель на что попало, сохранить его (в искаженном виде, чтобы никакой garbage collector не нашёл) куда попало, а потом обращаться к памяти с уже произвольным содержимым в своё удовольствие.

Date: 2024-09-17 22:00 (UTC)
yba: (Default)
From: [personal profile] yba
void* наше все

Date: 2024-09-18 03:07 (UTC)
archaicos: Шарж (Default)
From: [personal profile] archaicos
Удовольствие может оказаться чуть более, чем полным: крайне-последним для программы.

Date: 2024-09-18 03:19 (UTC)
archaicos: Шарж (Default)
From: [personal profile] archaicos
Ы, пора латать дырявое корыто, пока не выплюнули и не забанили!