UETOYO: Ta bezpečnost Rustu pro mě rozhodně není jen v borrow checkeru. Pokud jde o věci mimo logické chyby, pak je pro mě dost podstná záruka thread safety. (Což se občas v C++ debuguje dost špatně)
A pro prevenci logických chyb imho dost pomáhá i:
- Skvělá podpora pro automatickou tvorbu dokumentace a doctesty - pomáhá i s prevencí chyb při použití 3rd party knihoven. U JS / TS jsme už řešili pár chyb vzniklých kvůli mizerné dokumentaci i velmi populárních knihoven.
- Silný typový systém a knihovny které s ním počítají se mi dost osvědčil při tvorbě REST api a api klientů - občas jsem díky tomu našla chyby v implmentaci u protistrany, kdy posílali out of spec data, ale jiné jazyky se s tím nějak popraly, často formou "Silent failure" - což může vést opět k ne snadno debugovatelným problémům
- Zatím jsem se v žádném jazyce necítila tak bezpečně při nějakém větším refactoringu. Opět, typový systém s tím opravdu dost pomáhá
- Přijde mi, že Rust z jazyků co znám zatím nejvíc tlačí vývojáře do psaní čitelného kódu.
- Nemuset myslet na celou kategorii chyb prostě uvolňuje kapacitu pro řešení jiných
Je fakt že počáteční learning curve je o něco horší, ale naše firemní codebase na backendu je z drtivé většiny Rust, a nikdy mi nepřišel vývoj tak pohodlný jako teď. Předtím jsem profesionálně programovala hlavně C++ a Python.