Verfasst: 04.11.2009, 19:43
[quote=Bauer87,index.php?page=Thread&postID=38733#post38733]Wenn man mit C einsteigt, gewöhnt man sich an prozeduale Programmierung und wird die Vorteile von C++ nicht unbedingt besonders gut nutzen. Allerdings lernt man so quasi zwei Sprachen zum Preis von einer. C ist aber leider (bei umfangreichen Projekten) sehr schwer zu warten. Das sieht man z.B. gut an an Windows9x: Das ist ständig abgestürzt, weil ständig irgendein Pointer irgendwohin gezeigt hat, wohin er nicht zeigen sollte. Vorteil von C ist die absolute Hardwarenähe. Man implementiert quasi genau das, was der Rechner auch macht. Damit bekommt man ein gutes Gefühl für den Rechner.
Wenn man mit C++ einsteigt, wird man nicht unbedingt C lernen, verliert also die Kompatibilität und lernt weniger über die Hardware. Allerdings wird man sehr intuitiv mit Objektorientierung umgehen, was für C-Umsteiger oft schwierig ist. Vor allem da C-Code fast 1:1 als C++ läuft, schreiben viele weiter C und wechseln quasi nur den Compiler. C++ ist etwas abstrakter als C, man kann sich nicht unbedingt überlegen, was der Computer machen muss, sondern was die Objekte für Eigenschaften haben sollen. Dafür sind die einzelnen Objekte gut zu warten und man kann so recht leicht Teile des Programms austauschen, wenn man einen Fehler findet. (Vor allem, weil durch Kapselung feste Schnittstellen zwischen den Objekten definiert sind.) Damit bekommt man ein eher ein Gefühl für das Programm an sich.[/quote]
Ich gebe dir recht bis auf ein paar punkte:
Wenn man mit C++ einsteigt, wird man nicht unbedingt C lernen, verliert also die Kompatibilität und lernt weniger über die Hardware. Allerdings wird man sehr intuitiv mit Objektorientierung umgehen, was für C-Umsteiger oft schwierig ist. Vor allem da C-Code fast 1:1 als C++ läuft, schreiben viele weiter C und wechseln quasi nur den Compiler. C++ ist etwas abstrakter als C, man kann sich nicht unbedingt überlegen, was der Computer machen muss, sondern was die Objekte für Eigenschaften haben sollen. Dafür sind die einzelnen Objekte gut zu warten und man kann so recht leicht Teile des Programms austauschen, wenn man einen Fehler findet. (Vor allem, weil durch Kapselung feste Schnittstellen zwischen den Objekten definiert sind.) Damit bekommt man ein eher ein Gefühl für das Programm an sich.[/quote]
Ich gebe dir recht bis auf ein paar punkte:
- Bei Windows9x lag das auch an den Stümpern zwischen der Tastatur und dem Stuhl. Heute gibts für genau solche Fälle Tools wie z.B. Valgrind und co.
- Von der Objektorientierten Programmierung kam ich persönlich sehr gut weg. mir hat das wohl nie so recht gefallen(schließe ich zumindestens daraus), wobei ich natürlich alle vorteile sehe und es jeder für sich entscheiden muss