Az ilyen téves közhiedelemmel próbálnék szembe szállni. Az objektum orientáltság alapvetõen csak egy gondolkodás beli különbség, erõs tulzással csak egy szintaktikai fogalom... A c#, java... természetesen lassú, de még véletlenül sem azért, mert a objektum orientáltak, hanem elsõsorban mert egy vm futtatja a code-odat. Örvendetes módon a JIT cuccokkal már sokat fejlõdtek sebesség terén, de még távol vannak a natív gépikódot eredményezõ nyelvek mögött, persze másra is vannak kitalálva. Erre akartam rávilágítani, a c++ és a .net egy kategóriába sorolásakor, csak lehet, hogy nem voltam egyértelmû... A c++ egyébként is egy speciális nyelv, mivel az egyben magába foglalja a c-t is, ugye visszafelé kompatibilitás miatt így alakult... A c++ nyelvi elemei között nem igazán tudok, talán az exception-öket kivéve aminek gyakori használata érdemben befolyásolhatná a sebességet. Az esetleges sebesség különbségek abból adódhatnak, hogy a fordítók sajnos még mindig nem optimalizálnak elég jól bizonyos dolgokat, pl. általános a visszatérési paraméterek buta használata, vagy pl a visual studio-nál az inlineolás esetlegessége... Mindkét elem c-ben pont ugyanúgy jelentkezik - hisz ugyanazon fordítókat használják az emberek c ill c++ -ra fordításhoz - maximum kisebb ezek száma egy c programban, és így kevésbé esnek kétségbe a fordítók. Sõt okos template metaprograminggal néha még tudsz is gyorsítani c++ -ban dolgokon, és ugye mivel minden c++ fordító egyben c fordító is, te döntheted el, hogy hol milyen elemeket használsz, valóban odafigyelést igényel, de még így is sokkal kényelmesebb az életed, mint c esetén...
A Linus féle jobb a kernel c-ben kijelentést nem ismerem, de szerintem nagyobb haszna van olyan szempontból, hogy c-ben írt cuccokat szinte mindenre le tudsz fordítani, c++ -ban - mivel egy nagyságrenddel összetetteb nyelv - akadhatnak problémák, pl a BOOST (http://www.boost.org) is csomó fordító specifikus patch-elést tartalmaz, hogy minél többminden megegye...