ukaz mi konkretni chybu, kterou Rust detekuje a bezne pouzivane lintery/kompilery nedetekuji. Podle me se vsechny takove chyby tykaji spravy pameti a soubezneho pristupu do pameti v paralelnich programech. Takove chyby hrozi jen v urcitem typu aplikaci. Kdyz pouzivas model pararelismu zalozeny na posilani zprav/komunikaci pomoci front a jazyk s GC, nic takoveho nemuze nastat.
Několik příkladů, které typový systém a další prostředky Rustu řeší:
1. Pattern matching a úplnost vyhodnocení možností a tím pádem:
2. Řádné ošetření nullable typů (Option rulez)
3. Řádné ošetření chybových výsledků (Result rulez)
4. Statická kontrola formátování řetězce (hygienic macro rulez)
5. Skvělá podpora pro serializaci pomocí maker (serde rulez)
6. Úžasná podpora pro budování parseru argumentů, opět pomocí maker a pomocí vyspělých složených typů (Enum atd.) (structopt rulez)
7. Oproti GC zcela deterministické uvolňování VŠECH možných prostředků, nejenom paměti, ale i třeba zámků nebo otevřených souborů a nevím čeho ještě. Na rozdíl od různých GC jazyků NEEXISTUJE, že by se volal nebo nevolal "destruktor" v závislosti na tom, jak se runtime zrovna rozmyslí (RAII rulez)
Rust není "jenom" hlídač paměti, ale autoři si dali hodně práce s tím, aby jazyk měl pokročilé vlastnosti známé z FP jazyků při zachování efektivity srovnatelné s C++ (protože zero cost abstractions) a v ideálním případě ne za cenu zhoršené ergonomie. Člověk často zjistí, že co mu chybělo oproti jiným jazykům, má Rust implementováno podobně nebo malinko jinými prostředky, ale se srovnatelným pohodlím.
Platí za to hlavně tím, že se musí dost věcí učit a že nad svým programem musí přemýšlet dopředu, případně vychytat fígle, které mu umožní část rozhodnutí přesunout do pozdějších fází vývoje. A pokud už do jazyka investoval, otevřou se mu další domény a věř tomu, že komunita kolem Rustu je hodně vitální a činí se, takže jeho využitelnost je od high performance web serverů přes embedded systémy a výpočetně náročné paralelní výpočty (Rayon rulez) k CLI utilitám a klidně i webovému frontendu s využitím WASM (Yew).
Už jsme na hraně flamewaru, takže za sebe tímto končím.