Jasně, že je v menšině. Ale svoji sílu postupně prokazuje. Je to jazyk, který se dá použít na rychlý vývoj CLI toolů, her, klidně i pro full-stack vývoj: https://github.com/gbj/leptos
Tak uvidíme, kam až to dotáhne. V systémového programování ho zatím válcuje C, v cloudu a CLI Go, v hrách C++. On je sice teoreticky “general purpose”, ale v praxi má omezenou doménu (jako R nebo Fortran). Ne že bych mu to přál, ale na to, jak jej nadšenci vychvalují, bych čekal větší použití (možná lidi odrazují první zkušenosti s ním, přece jen na nováčka řve překladač furt, než si trochu zvykne na způsob práce s referencemi).
Cpát javovské synchronized do c++ je trochu problém, protože ty dva jazyky se v některých aspektech dost podstatně liší.
V Javě je jasné, co to synchronized zamyká. Každý objekt je samostatně existující entita, která má v sobě vždycky monitor. I když drtivou většinu objektů nikdo nikdy zamykat nebude.
V c++ není vždycky úplně jasné, co by se mělo přesně zamykat. A jaké vlastnosti by ten mutex měl vlastně přesně mít?
Těch objektů, které má smysl zamykat, zas tolik není. A jak už psal Ondřej Novák, napsat synchronized block, nebo do bloku strčit guard se složitostí zas tolik neliší.
A pak taky c++ razí celkem rozumný přístup, že není třeba cpát do jazyka věci, které se dají pořešit čistě na úrovni knihoven. Už tak je ten jazyk komplikovaný jako prase.