Vannak igazsagok abban, amit irsz. Egeszen biztos, hogy a c++-al szemben felhozott egyik leggyakoribb (jogos) erv, hogy nagyon nehez "uzembiztos" jartassagot szerezni.
Nagyon ritka az a tanulasi utvonal, amikor valaki idiomatikus c++-t tanul. Sajnos a tutorialok nagy resze a C-bol indul, hozzaadja az osztalyokat, az oroklodest, a kiveteleket, stb. stb.... . Viszont ritkan van szo a RAII-rol (pedig talan az egyik legfontosabb c++-os idioma). Pedig hat Stroustrup szerint ez volt az egyik legfontosabb idea a nyelvben. Es mondjuk egy fust alatt a kivetelek mukodese is erthetoeve valik, ha az ember rajon, hogy mirol van szo lenyegeben.
Gyakori tapasztalatom, hogy fejlesztocsapatok sajat hatokorben karosnak vagy kerulendonek tartanak bizonyos feature-oket. Ezzel nem is lenne gond alapbol, mindenkinek joga van eldonteni, hogy mit hasznal es mit nem. Viszont gyakran erzodik ilyen dontesek mogott, hogy valami vezeto programozonak volt valami negativ tapasztalata pl. a kivetelekkel, aztan egybol kibombazzak kodbol es ternek vissza a kodokra. Viszont jo c++ kodot irni sok esetben nehez kivetelek nelkul (klasszikus pelda ugye a hibazo konstruktorok esete, amit kivetelek nelkul jol es elegansan megcsinalni joforman lehetetlen). Ha tudnad hany custom string implementaciot lattam ami 1-2 dologban jobb volt, mint a std::string, viszont masik harmincban meg rosszabb volt.
Szinten szemelyes tapasztalat, hogy hosszu tavon az a tarsasag jar altalaban jol, aki egesz kozel tud maradni a "kanonizalt" vonalhoz, es nem probal meg feltalalni es patkolni egy kulonutas valtozatot. Egyreszt tobbet lehet profitalni a tagabb ertelemben vett kozosseg tudasabol, masreszt a nyelv evolucioja sem fog folyamatosan reviziora kenyszeriteni. Ez meg neha a nagyoknak sem mukodik, peldaul szerintem a Microsoft, ha akarta sem tudta volna az MFC-t teljes ujrairas nelkul aktualissa tenni, ahogy fejlodott a nyelv.
A c++ lecserelese szerintem nagyjabol azota tema, amiota van c++ :). Nincs ezzel semmi gond, de ez egy lassu folyamat. Eloszor is a C++-nak kellene valamilyen porcikajaban masszivan idejetmultnak mutatkozni. Az a helyzet, hogy a sajat mufajaban a c++ viszonylag korszeru (teljesitmenyorientalt, hordozhato, nativ, tamogatja a generikus programozast es valamennyire a funkcionalis programozast is, majdnem teljesen kompatibilis a c-vel), es a hasznaloi jol elvannak vele. Nyilvan ha ok lennenek elegedetlenek, akkor tomegevel rohanna mindenki d-t tanulni, mert a beleolt ido gyorsan megterulne. De sajnos egyenlore az a helyzet, hogy nagy kodbazisokat (es csapatokat) c++-rol mas nyelvre migralni legalabbis vakmero vallalas, aminek a haszna kerdeses. Sot azert a kozben a c++ is fejlodik a jogos kritikak hatasara (van mar szabvanyos szalkezeles, funkcionals programozas fejlettebbe valt, template-eket okosabba tettek, jelentosen bovitettek es bovitik a szabvany konyvtarat).
Nade hogy megintcsak tegyek javaslatot is: szerintem nagy a c++ irodalom, egy kezdonek szerintem okosan kell valogatni, hogy mit hasznal a tanulashoz. Mindenkeppen az Effective C++-t tartom a jo tanulasi iranynak, mert a hasznos info/oldalszam mutatoja zsenialisan jo. Nyilvan nem egy referencia, de arra meg kiegesziteskeppen ott a cppreference.com, vagy a cplusplus.com. Most mar betaban elerheto az Effective Modern C++ is, ami a szabvany szerinti aktualizalt folytatas, remelhetoleg az is alapmu lesz. Amikor mar az alapkoncepciok jol mennek akkor egybol johet a Design Patterns es a Modern C++ Design. Ezek viszonylag regi konyvek, igen jo gyakorlat a leirt technikak aktualizalasa... Es itt most beszelek kb. 700 oldalnyi anyagrol, ami azert annyira nem kiugroan sok. De garantalom, hogyha valaki atragja magat rajtuk, megadja az elmeleti alapot, hogy kello gyakorlattal tuti c++ programozo lehessen.