Aus dem Kurs: Grundlagen der Programmierung: Basiswissen

C und C++: Charakteristika und Einsatzbereich

Aus dem Kurs: Grundlagen der Programmierung: Basiswissen

C und C++: Charakteristika und Einsatzbereich

Die ersten Sprachen, mit denen wir uns beschäftigen wollen, sind C und C++. Beide Sprachen sind recht alt. C wurde Anfang der 1970er Jahre von Dennis Ritchie entwickelt. C++ folgte ein paar Jahre später als Erweiterung zu C und wurde von Bjarne Stroustrup entwickelt. Das Alter der beiden Sprachen macht sich besonders bei der Speicherverwaltung bemerkbar. Beim Einsatz von C und C++ müssen sie sich selbst um die Speicherverwaltung kümmern. Das kann ein Nachteil, aber auch ein Vorteil sein, je nachdem, welchen Standpunkt man in der Sache vertritt. C war im Grunde Ausgangspunkt für viele nachfolgenden Sprachen. Etliche Schlüsselwörter, die wir in C finden, gibt es auch in anderen Sprachen. C selbst ist eine prozedurale Sprache, was in größeren und komplexeren Umgebungen durchaus zu einigen Schwierigkeiten führen kann. Aus diesem Grund wurde sie durch zusätzliche Features zu C++ weiterentwickelt. Die Weiterentwicklung von C zu C++ drückt sich auch im Namen aus. Denn der Plusplus-Operator ist in gängigen Programmiersprachen ein Hochzähloperator, d.h., mit C++ wurde C um eine 1 hochgezählt. Zu den Features, die mit C++ hinzukamen, zählt bspw. auch die Objektorientierung. Anders als z.B. bei JavaScript handelt es sich bei C und C++ um Sprachen, die nicht interpretiert, sondern kompiliert werden. Der durch das Kompilieren besonders optimierte Quellcode hat dabei fast direkten Zugriff auf die entsprechende Hardware und kann dadurch besonders schnell arbeiten. Der Geschwindigkeitsvorteil wird dadurch unterstützt, dass beide stark typisierte Sprachen sind. D.h., konkret, dass bereits während des Programmierens feststeht, zu welchem Typ ein Objekt gehört und welche Eigenschaften dieses Objekt besitzt. Damit ist der Code insgesamt etwas stabiler. Jedoch gibt es auch hier andere Features, die einem durchaus Kopfzerbrechen bereiten können, wenn man sie unüberlegt einsetzt. Damit kommen wir auch gleich zu den Einsatzbereichen. C und C++ werden in aller Regel dort eingesetzt, wo man wenige Ressourcen zur Verfügung hat und es auf Geschwindigkeit ankommt. Sie empfehlen sich daher bspw. für die hardwarenahe Programmierung, also jene Situationen, in denen eine Hardwarekomponente möglichst direkt angesprochen werden soll. Das ist auch bei einer betriebssystemnahen Programmierung der Fall. Ansonsten finden beide Sprachen auch bei High-Performance-Computing Anwendung, also überall dort, wo aufwändige Berechnungen z.B. mit großen Datenmengen stattfinden. Last, but not least werden C und C++ noch für die Bildverarbeitung und Bildanalyse eingesetzt. Dazu gehören die Analyse von Videostreams bei Überwachungskameras oder auch die Filter Ihrer Handykamera. Sehen wir uns im nächsten Video ein Beispiel dazu an.

Inhalt