© DrHitch/Shutterstock.com
C++

1 C++ - Das Latein der Programmiersprachen


Programmierung in C++!? Eine Anforderung, die man zwar häufig in Projekten und Stellenausschreibungen findet, die aber bei vielen leider immer noch den Eindruck erweckt, dass man sich dabei mit etwas Altmodischem beschäftigen muss. Sicher ist C++ nicht so „modern“ wie beispielsweise das gesamte Java-Ökosystem. Betrachtet man aber die Einsatzgebiete von C++, so erkennt man schnell die Relevanz dieser Sprache. Und auch die fachlichen Herausforderungen, denen man sich als Entwickler von C++-Anwendungen stellen muss bzw. darf, können aus dem Umgang mit C++ eine hochinteressante Angelegenheit machen.

Mit diesem Kapitel beginnt ein kurzer shortcut über die Programmiersprache C++. Auch in Zeiten von Java und diversen Skriptsprachen behauptet C++ weiterhin seine wichtige Position insbesondere bei der Erstellung von serverbasierten Anwendungen. In vielen Projekten werden auch mehrere Sprachen eingesetzt. Häufig findet man dabei die Kombination von Java für die GUI- bzw. Webkomponenten und C++ für den Backend-Bereich. Gleichzeitig kämpft C++ aber an mehreren Fronten um seinen guten Ruf. Einerseits wird C++ – fälschlicherweise – als unmodern und daher nur noch für die Wartung von Altanwendungen benötigt angesehen. Sicherlich ist C++ einer der Dinos in der Welt der Programmiersprachen, wie noch detailliert beschrieben wird, aber ein Dino, der auch in neuen Umgebungen gerne gesehen wird. Ein anderer Kritikpunkt an C++ dagegen ist schon eher berechtigt: Nicht umsonst wird C++ eine gewisse Komplexität nachgesagt. Generell ist man bei allen C-Sprachen wie C oder C++ „näher an den Bits“, d. h. man hat als Programmierer mehr Möglichkeiten zum direkten Zugriff auf Systemressourcen als in anderen Sprachen. Diese vielfältigeren Möglichkeiten bringen aber natürlich auch eine höhere Verantwortung mit sich. Als Beispiel sei an dieser Stelle nur der fehlende Garbage Collector genannt. Eine der ersten Regeln, die man in C++-Kursen lernt, ist die Notwendigkeit, alles mit delete, bzw. einem passenden Destruktor, wieder freizugeben, was man vorher mit new angelegt hat. Wer das vergisst, der kann sich nicht, wie z. B. in der Java-Welt, darauf verlassen, dass ein Garbage Collector später aufräumt und muss sich stattdessen auf die aufwändige Suche nach Memory Leaks begeben. Sicherlich gibt es in der C++-Welt inzwischen mit den SmartPointern Mittel, mit denen die Speicherverwaltung eleganter und damit weniger fehleranfällig umgesetzt werden kann und mit denen der Satz von C++-Erfinder Bj...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang