Ich habe meine ganze 3D Engine und Puzzletube komplett in C geschrieben.
Einfach weil ich keinen Grund für irgendein Feature von C++ sah. C Code ist minimal schneller als C++ Code und sehr viel schneller als jeder Code mit Garbage Collector. Weiterhin brauche ich keine Objektorientierung für einen kleinen Software Renderer. :yes: Sie hilft mir nicht oder macht irgendwas einfacher, sie ist nur eine andere Methode Dinge zu abstrahieren.
Gerade für meine Spiele ist auch ausgefeiltes Stringhandling nicht notwendig. ;-)
Vergleicht man C und C++, so ist C++ ganz klar die wesentlich komplexere Sprache von den beiden. Dazu kommt, dass C praktisch eine vollständige Untermenge von C++ ist. C++ jetzt also dem Anfänger statt C vorzuschlagen, ist daher schon seltsam. Zudem hat man (aus gutem Grund) in keiner der beiden Sprachen standardmäßig einen Garbage-Collector und, wie bereits von Ziz angemerkt, ist ein Garbage-Collector grade auf eher kleinen Systemen wie dem Caanoo auch nicht unbedingt immer eine gute Idee.
Ein ganz klarer Vorteil von C ist der geringe Sprachumfang und damit die Möglichkeit die Sprache praktisch komplett zu verinnerlichen. Das ist bei C++ schon kaum noch möglich und grade bei C++ gibt es auch etliche eher fragwürdige Konstrukte (was die Entwickler von C++ inzwischen ja auch erkannt haben und mit C++11 teilweise versuchen Dinge sauberer zu lösen, wodurch sie die Komplexität allerdings auch weiter gesteigert haben).
Wenn man aber unbedingt möchte, kann man natürlich auch in C einen Garbage-Collector verwenden. Das ist also ganz sicher kein Argument gegen C. Im Gegenteil sogar, in C kann man sich, im Gegensatz zu anderen Sprachen aussuchen, ob man einen Garbage-Collector verwenden möchte, oder ob man den evtl. nur für Teile eines Programms nutzen möchte, oder eben auch gar nicht.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.