Nejlepší je umět (aspoň trochu) C++, Go i Rust, širší kontext se vždy hodí.
To nepopírám. Když ale pominu Go, které má za cíl vzít začátečníka, rychle ho zaškolit a nechat ho chrlit kód, který tak nějak funguje, tak:
1. C++ - ani nevím, co znamená trochu umět C++. Je to C s pár vylepšeními? Je to C se smart pointery? Je to OOP jazyk se třemi různými druhy definice typu objektu? S virtuálními a nevirtuálními metodami (členskými funkcemi)? Je to šablonové metaprogramování? Dá se v takovém jazyku psát idiomaticky, co to znamená pro začátečníka? Fakt nevím. V době, kdy frčely raw pointery a člověk si vystačil třeba s MFC, to bylo ještě vcelku snadné, byť už docela drsné.
2. Rust - když v něm nenapíšeš dostatek kódu a nevracíš se k tomu, budeš s ním (zas) bojovat. Spousta věcí, které se tam používají, jsou neintuitivní pro programátory ze "starých imperativních jazyků". Spoustu "zkratek" Ti borrow checker vůbec nedovolí, věci jako spojové seznamy (které se moc v praxi nepotřebují, ale jiné "self referencing structures" docela jo) jsou zásadní problém. Aby Tě začal "odměňovat", musíš mu dost věnovat a možná na to musíš mít i specifický mozek, abys netrpěl jako pes.
Pokud si člověk tohle uvědomí a do Rustu, C++ apod. zlehounka ponoří dlaň a pokusí se trochu nabrat, super, nic proti. Pokud se do toho ponoří opravdu seriózně, super. Ale zadarmo to nebude. A pro rychlý profesní start to není.