C++ vyzaduje hodne discipliny a je narocny dodrzet stejnou metodologii v celym tymu. Vsechen komercni sw v C++ kterej jsem videl, byl prasacky Ccko se tridama - s opravdovym C++ to nemelo nic spolecnyho. Asi to bylo tim, ze ten kod byl hodne starej, ze dneska moc novych projektu nevznika.
Navic samotny C++ zadnou rychlost negarantuje. Staci jedno nechteny predavani promenne hodnotou (misto reference) a cely kod muze byt pomalejsi nez v Jave. Pred rokem jsem neco fixoval v generatoru parseru ANTLR (neco jako bison). Predhodi se tomu gramatika jazyka a ono to vygeneruje zdrojaky parseru v Jave, C++, Pythonu, ... Zajimavy bylo, ze parser v Java byl cca 2x rychlejsi nez ten v C++. Pritom vygenerovany zdrojaky byly na prvni pohled naprosto identicky. Stejny tridy, metody, podminky, switche. Trvalo mi to dost dlouho nez jsem to srovnal a ted je C++ target 2x rychlejsi nez Java. Problem byl v memory managementu, od verze 1.7 umi Java opravdu rychle alokovat a uvolnovat objekty ktere ziji jen kratce. Samozrejme, ze C++ RAII je jeste rychlejsi, ale musi se to spravne pouzit. Dalsi problem byl v poradi vyhodnocovani jedne podminky - misto "if ( a() = true && b() = true)" to bylo obracene a "b()" bylo velice narocne na vyhodnoceni.
Takze pokud te bavi programovani a ches mit vsechno pod kontrolou, tak pouzij C++. Pokud chces nadelat velky prachy tak pouzij Javu.