Felix's Blog

C++ lernen

Es ist falsch, Anfängern oder Umsteigern C++ nicht zu empfehlen. C++ ist nicht so schwer wie alle immer sagen und seit dem letzten Standard hat sich viel getan.

Ich programmiere sehr gerne in C++. Ich hab zwar lange gebraucht, bis ich wesentliche Dinge beherrschte aber mittlerweile muss ich nicht mehr jede Regel nachlesen. C++ ist meiner Ansicht nach mit dem C++11 Standard auch wesentlich einfacher geworden als früher. Natürlich beinhaltet es trotzdem noch alle Eigenschaften, die es mit dem vorherigen Standard hatte, dennoch ermöglichen die neuen Klassen und Funktionen viele Dinge zu vereinfachen. Aus diesen Grund finde ich auch, dass es völlig überholt ist, Einsteigern von C++ abzuraten. Eine der wenigen Seiten, die C++ für Anfänger empfiehlt ist lerneprogrammieren.com . Ich will deren Beitrag hier noch durch meine eigenen Erfahrungen ergänzen.

Ziele

Natürlich ist es nicht sehr sinnvoll, Einsteigern C++ zu empfehlen, die eigentlich nur eine kleine Website kreieren wollen. Für kleine Spiele (Damit wollen Anfänger ja immer einsteigen 😀 ) kann man C++ denk ich wunderbar empfehlen. Wenn man die Grundlagen (Funktionen, Klassen, Templates) verstanden hat, kann man boost und andere Bibliotheken verwenden, um ein kleines 2D spiel zu entwickeln. Diverse Foren sind voll von Spielfragen und oft sind Bibliotheken für Spiele eh in C++ programmiert worden.

Bibliotheken

Bibliotheken wie sie in boost enthalten sind, sind ein weiterer Grund, sich C++ näher anzusehen. So kümmern sich manche Bibliotheken um Dateisysteme. Andere um Asynchronität, Typumwandlungen, XML und JSON-Parsing und diverse andere Dinge. Und das Wichtigste daran ist, dass die boost-Bibliotheken auf fast allen Betriebssystemen eingesetzt werden können. Die Standard-Bibliothek, boost und viele andere Bibliotheken kannst du auf Windows, Mac, Linux und Mobilgeräten wie Blackberry, Android oder iOS nutzen – ohne an deinem Programmcode rumzuschrauben. Platformunterschiede werden von den Bibliotheken behoben.

Was aber zugegebenermaßen für mich auch lange ein Problem war, sind Pointer. Eigentlich ist es ein einfaches Prinzip, wenn man es erst einmal verstanden hat aber selbst Pointer kann man mit shared_ptr<T> (boost oder std) einfach ersetzen. Man arbeitet nur noch mit Objekten. Um die Laufzeit kümmert sich die Template-Klasse shared_ptr<T>. (Das das oft auch Overhead ist, ist mir klar. Aber es erleichtert den Einstieg in die Programmiersprache erheblich).

Ich für meinen Teil kann C++ nur empfehlen. Es ist eine tolle Sprache, die man für alles verwenden kann. Es lohnt sich auf alle Fälle, mal reinzuschauen.

 



Published in: C++

Write a comment

 

Kommentar