你好 Jörg,
what's better? C oder C++?
C ist ja eine echte Untermenge von C++ - alles was Du in C geschrieben
hast, wird ein C++-Compiler zu einem funktionierenden Programm
compilieren können (nur umgekehrt nicht zwangsläufig).
Das ist ein Trugschluss. Das mag in den Anfangszeiten so gewesen sein, ist
aber schon lange nicht mehr der Fall. Beispiel gefällig? Kein Problem:
#include <stdio.h>
int main(void) {
const a = 10;
printf("a is: %d\n",a);
return 0;
}
Versuch das mal zu übersetzen. Ist völlig korrektes C (ein C-Compiler
_sollte_ eine Warnung wegen des fehlenden Typs bei const a liefern, muss
aber nicht), aber kein korrektes C++. C wimmelt von Konstrukten, die in
C++ nicht erlaubt sind.
Jedes C-Programm ist folglich auch ein C++-Programm, deswegen kann man
nicht zwangsläufig sagen, dass C schneller ist.
Der erste Teil ist ja schon wiederlegt. Mit dem zweiten Teil hast du zwar
recht, aber ein C++-Compiler arbeitet anders als ein C-Compiler. Der Code,
der von einem C++-Compiler erzeugt wird, wird sich von dem eines C-Compilers
unterschieden.
Aber das ist Geschmackssache - ich bin (an der Uni) mit C indoktriniert
worden, und diese angeflanschte Objektorientierung von C++ ist mir
irgendwie unheimlich, deswegen mag ich kein C++ - dann schon lieber
RICHTIG objektorientiert wie in JAVA.
Auch Java ist eine hybride Sprache, keine Objekt-orientierte.
再见,
克里斯蒂安