Здравствуйте, AlexRK, Вы писали:
ARK>Экономической выгоды нет, сплошные убытки.
ARK>Для софта выгода может быть — в потенциально большей предсказуемости, хотя в количественном выражении посчитать ее я не берусь.
Современный C++ дает достаточно предсказуемости при использовании в связке с современными инструментами. В качестве примера можно взять GSL, clang-tidy, санитайзеры и конечно же тесты. Основное отличие C++ от Rust в данном случае будет в том, что инструменты в C++ отдельны от компилятора и это ведет к высоким рискам их игнорирования. К примеру у нас сейчас многокомпонентный проект на C++14 и Go. Так как C++ часть довольно плотно покрыта инструментами по контролю, нет ни дедлоков, ни ликов, ни двойного освобождения памятью ни каких других около-C++ страшилок. То есть качество вполне сопоставимо с качеством достижимым в Go.
ARK>Вот что излагает заинтересованная сторона (можно верить, можно нет): https://blog.rust-lang.org/2017/11/14/Fearless-Concurrency-In-Firefox-Quantum.html
ARK>This top-down structure is ripe for parallelism; however, since styling is a complex process, it’s hard to get right. Mozilla made two previous attempts to parallelize its style system in C++, and both of them failed. But Rust’s fearless concurrency has made parallelism practical.
Полагаю что в случае с предыдущими попытками они не делали кардинальной замены системы, а просто пытались подставить правильные костыли. Полная переработка той же командой что смогла осилить Rust (осилить который ничуть не проще чем C++) привела бы к такому же результату.
ARK>Надо работать? Вероятно, в большинстве случаев да. Безопасный? Категорически нет.
Безопасен при использовании современного инструментария. Разница лишь в том, встроен инструментарий или идет сбоку.