Podle me slabost C++ v oblasti knihoven (kterou sam pripoustite) neni pricina toho, ze se v C++ mnohdy spatne pise, naopak je to dusledkem toho, ze C++ je striktne objektovy jazyk[*].
C++ není striktně obejktový jazyk a ani nechce být. C++ je multiparadigmický jazyk, převážně objektový a generický. Striktně objektový z něj dělají neznalí programátoři. Mimochodem generický (šablonový) program se daleko daleko jednodušeji refaktoruje než procedurální, daleko snáz se tam dělají unit testy (test driven development) a daleko méně duplicitního kódu je třeba napsat. To, že většina programátorů v C++ zná šablony jen jako STL, není chyba jazyka, ale příslušných programátorů.
V proceduralnim jazyce (nejlepe s nejakou agilni metodou programovani), byste tento kod psal az tehdy, az ho skutecne nejaka dalsi vrstva bude potrebovat.
Tohle zní skoro jako kdyby v objektovém jazyce nešlo programovat agilně a metody nešly přidělávat do objektů teprve ve chvíli, kdy je někdo opravdu potřebuje. To doufám nemyslíte vážně.
Treba tady http://www.fi.muni.cz/~kas/blog/index.cgi/computers/cplusplus-woes.html pisu o tom, jak je tezke vzit i jen par mesicu stary program
Ten program nebyl C++, ale bastl. memcpy není C++ konstrukce, C++ má std::copy, případně kopírovací konstruktor std::string. INT_MAX není C++ makro, C++ má std::numeric_limits<int>::max. A ano, ten program byl neuvěřitelně zbastlený, když předpokládal, že jeden hlavičkový soubor includuje jiné, což nezaručuje ani vámi vychvalované C (mimochodem všechny funkce, které vám nefungovaly, byly Céčkové, nic o problémech s STL tam není). Takže pokud chcete něco kritizovat, tak toho, kdo v C++ používá takové funkce a makra, která do C++ neptaří.