Odpovídáte na názor ke článku Bezpečné programování v C++ II.
Důsledné používání podobných idiomů nám zajistí velmi dobrou předvidatelnost chování programu. To jistě ano, ale musíte nějak *zajistit*, že v kódu nebudou použité nebezpečné konstrukce, které jazyk C++ umožňuje.
V C# nebo Javě má kód automaticky zaručenou řadu vlastností, které vyplývají z vlastností daného jazyka a jeho knihoven. Síla managed jazyků je právě v tom, že ať nakrmíte kompilátor čímkoliv, tak nedojde například k přístupu mimo hranice pole, invarianty zůstanou určitě invarianty atd.
Abyste dosáhl podobného výsledku v C++, musel byste z jazyka úplně *odstranit* řadu features (včetně odstranění možnosti používat pointerovou aritmetiku), zahodit kompatibilitu s POSIX a ANSI C, a vytvořit knihovny, které by podporovaly rysy nového jazyka. Ovšem proč to dělat, když už to udělali autoři Javy a C#, a po pár stovkách člověko-let byste zřejmě došel k dost podobnému výsledku.
To co popisujete u C++ je možné provést ad absurdum u assembleru. Prostě budete používat vybrané bezpečné konstrukce (třeba nějaká makra), a spoléhat na to, že žádné nebezpečné konstrukce nikdo nepoužil. Jenže je asi zjevné, že to problém neřeší.