U Rustu nevidím nic, co by měl společného s C++. Jde úplně jinou cestou. Skoro až opačnou.
Proto to s tím nahrazováním C++ nebude až tak horké.
Pro kterou aplikaci je C++ vhodnější než Rust?
- Micročipy (ale prej...)
- Legacy aplikace napsaná v C++
- C++ vývojáři
- Možná ještě to stabilní ABI by mohlo něco znamenat, ale to nedokážu posoudit.
Napadá vás něco dalšího?
Myslím, že Rust není moc přizpůsobený na situace, kdy část kódu má mít omezenou paměť nebo kdy dochází paměť. Což je například užitečné ve webové serveru - mohu chtít aby na každý request bylo použito maximálně X bajtů paměti. A bohužel ve standardní knihovně Rustu nemůžu říct nějaké funkci, aby alokovala pouze v nějakém omezeně velkém prostoru (například každý request by dostal svůj specializovaný alokátor).
To je velice zajímavá poznámka.
Z mého rychlého studia, co jsem narychle zjistil:
Existuje std::panic::catch_unwind() pro práci s nebezpečným kódem - to musím vyzkoušet.
Od Rustu 1.70 je stabilní trait Allocator. Ale vypadá to na spoustu unsafe.
Pak jsou k dispozici nějaké knihovny které umí pracovat s předalokovanou pamětí.
Na první pohled mi to přijde jako plichta :-) Vypadá to, že v Rustu se to dělá tak, že se napíše unsafe řešení, které je následně k dizpozici vyšší úrovni... Takže rozhodně nic geniálně předpřipraveného.
Ale pro mě to znamená, že si musím vyzkoušet ve své aplikaci, kde používám scriptovací jazyk v Rust engine, co udělá, když tím scriptem vyžeru veškerou paměť.