C/C++ programmieren lernen: Diese Angebote sind am besten geeignet

Digitales Business

Digitales Business

Datum 12.07.2021
Lesezeit 6 Min.

C/C++ programmieren lernen: Diese Angebote sind am besten geeignet

Lange Zeit galt die Programmiersprache C als aussterbendes Relikt der 80er-Jahre des letzten Jahrhunderts. Konkurrenten wie Java und Python schienen ihr im Internet-Zeitalter den Rang abzulaufen. Doch nicht zuletzt dank einer besonderen Eignung für Embedded Systems erleben C und der Abkömmling C++ ein Revival. Wie Sie selbst zum C-Programmierer werden, lesen Sie hier.

Die richtige Sprache zum richtigen Projekt – wofür Sie C und C++ brauchen

Die Welt der Programmiersprachen ist groß und regelmäßig kommen neue Dialekte oder ganze Sprachen hinzu. In der Anfangszeit der Informatik war der sehr maschinennahe Assembler-Code Standard. Er bestand in seiner Frühzeit nur aus kryptischen Buchstabenkombinationen und Hexadezimal-Zahlen und beherrschte nicht einmal die Multiplikation. Mit wachsender Leistungsfähigkeit kamen höhere Sprachen wie Fortran und Cobol hinzu, später auch das gerade bei Einsteigern sehr beliebte, allerdings auch sehr langsame Basic.

Anfang der 1970er-Jahre trat schließlich das vom Informatiker Dennis Richie entwickelte C seinen Siegeszug an und verwies die Konkurrenz bald auf die Plätze. Zum Jahrtausendwechsel schien C zeitweise aus der Mode gekommen zu sein, doch mittlerweile ist es wieder auf dem Vormarsch, wie das niederländische Software-Beratungshaus TIOBE jüngst ermittelte.

Der Erfolg von C und C++ ist kein Zufall. Die beiden Sprachen haben einige Qualitäten zu bieten, die sie zurecht sehr beliebt machen.

  • C ist eine General-Purpose-Sprache – eine Allzwecksprache. Mit C lassen sich dank eines umfangreichen Befehlssatzes von der wissenschaftlichen Wetter-Simulation über die Steuerung einer Industriemaschine bis hin zum Computerspiel nahezu alle Programmieraufgaben abdecken. Auch das Betriebssystem Windows ist zum großen Teil in C und seinen Weiterentwicklungen C++ und C# geschrieben.
  • Als Compiler-Sprache ist C schnell und effizient. Der fertige Programmiercode wird mittels eines sogenannten Compilers in Maschinencode umgewandelt. Dieser Maschinencode kann vom Computer dann besonders schnell und effizient ausgeführt werden. Damit unterscheidet sich C von Interpreter-Sprachen wie Basic, die nach jedem Aufruf aufs Neue Zeile für Zeile einzeln übersetzen. Letzteres kostet viel Rechenzeit und war damit gerade in der Frühzeit der Informatik ein großer Nachteil gegenüber schnellen, maschinenfreundlichen Sprachen wie C.
  • C und C++ erlauben sehr komplexe und dennoch kompakte Algorithmen. In kaum einer anderen Sprache lassen sich mit so wenigen Buchstaben und Sonderzeichen so ausgefeilte Berechnungen aneinanderreihen, die optional auch noch dynamische Strukturen und Rekursionen enthalten.
  • C und C++ laufen auf sehr vielen unterschiedlichen Plattformen und nicht nur auf PC oder Apple-Computern. Besonders beliebt ist die C-Sprachfamilie für Microcontroller wie den Arduino und sogenannte Embedded Systems, also eingebettete Computer, die unsichtbar in Waschmaschinen, Industrieanlagen oder im Automobilbereich ihren Dienst verrichten. Gut möglich, dass das Navigationssystem und vielleicht bald auch der autonome Fahrassistent Ihres Pkws Codes in C++ ausführt.

 

YouTube / KingOfDog

 

C versus C++: Wo liegen die Unterschiede?

So wie die Programmiersprache C aus einer wenig verbreiteten Vorgängersprache namens B abgeleitet wurde, wurde sie ihrerseits zur Keimzelle weiterer Sprachen. Aus C gingen C++, Objective-C und später C# (sprich: „C sharp”) hervor. C++ wiederum wurde von Microsoft mit zusätzlichen Befehlen für die Plattform .NET weiterentwickelt zu C++.NET (sprich: managed C++). Auch das von Sun Microsystems entwickelte Java macht sehr viele Anleihen bei C++, ist aber nicht kompatibel. In Java geschriebener Programmcode läuft also nicht unter C oder C++.

C++ hingegen ist abwärtskompatibel zu C, was bedeutet: Der komplette Befehlssatz von C ist auch in C++ enthalten und Programme, die in C geschrieben sind, funktionieren grundsätzlich auch unter C++. Je nach Plattform und verwendetem Compiler gibt es allerdings mitunter Probleme, sodass die Kompatibilität in der Praxis nicht zu 100 Prozent gewährleistet ist.

 

Warum gibt es überhaupt C und C++ parallel und welche Sprache sollten Sie lernen?

Beide Sprachen haben nach wie vor ihre Berechtigung. C ist vergleichsweise schlank, sprich: Es läuft sehr datensparend auch auf kleinen und kleinsten Devices mit rudimentärem Speicher. Nicht auf allen Geräten, für die es C-Compiler gibt, ist deshalb auch C++ verfügbar.

C++ ist dafür dank seines größeren Wortschatzes mit den vielen zusätzlichen Befehlen leistungsfähiger als C. Es ist zudem eine objektorientierte Sprache. Das bedeutet: Ein unter C++ erstelltes Programm ist kein simpler Code, der einfach nur Zeile für Zeile abgearbeitet wird. Kern der Software sind vielmehr Daten-Objekte, die vom Programmierer vorgegebene Eigenschaften und Fähigkeiten besitzen.

Beispielsweise können Sie die Waren Ihres Unternehmens in der Software als Objekte hinterlegen und ihnen dabei bestimmte Eigenschaften und Funktionen zuweisen. Diese Objekte durchlaufen dann selbständig das virtuelle Förderband Ihrer Software und werden unterwegs zu fertigen Endprodukten.

Das ist vergleichbar mit einer intelligenten Fabrikhalle, in der sich Waren selbständig durch die Fertigungsstraße bewegen und dabei selbst bestimmen, wie sie von Schritt zu Schritt weiterverarbeitet werden wollen.

Objektorientierte Programmierung ist übersichtlich und spart Programmiercode. Wer mit C++ arbeitet, kommt deshalb schneller ans Ziel als unter C. Aus diesem Grund ist die objektorientierte Programmierung heute Standard bei vielen modernen Programmiersprachen.

 Internet of Things: Alles aus einer Hand

Internet of Things: Alles aus einer Hand

Durch die intelligente Vernetzung von Maschinen und Gegenständen werden unter anderem Produktion und Logistik effizienter gestaltet. So sparen Sie wichtige Ressourcen und erweitern Ihre Geschäftsmodelle.

Optimieren Sie jetzt Ihre Prozesse! Wir sind mit über 118 Millionen Connections führend im Bereich IoT und diese Zahl wächst täglich.

Der Einstieg in C und C++

Viele Wege führen nach Rom. Viele Wege führen auch beim Erlernen von C und C++ zum Erfolg. Wenn Sie bereits andere objektorientierte Programmiersprachen wie Java kennen, sind Ihnen damit auch viele Grundlagen von C und C++ vertraut. Die Verwandtschaft der Sprachen macht Ihnen vieles einfacher.

Je nach Plattform, auf der Sie arbeiten – also beispielsweise Windows-PC, Apple oder Unix-System – brauchen Sie noch eine gute, integrierte Entwicklungsumgebung (integrated development environment, kurz: IDE). Bestandteile dieser Umgebung sind mindestens ein Programmiereditor zum Schreiben des Codes, ein Compiler, mit dem Sie Ihr Programm in Maschinensprache übersetzen und ein Debugger für die Fehlersuche.
Wenn es für Ihre Plattform mehr als einen IDE-Anbieter gibt, können Sie die Testversionen verschiedener Pakete durchprobieren. Gerade als Einsteiger oder Quereinsteiger sollten Sie dabei besonderes Augenmerk auf die Debugging-Funktionen legen. Bedenken Sie: Den größten Teil Ihrer produktiven Zeit nimmt bei maschinennahen Sprachen das Ausbessern von Fehlern im Code ein. Auch ein mitdenkender Editor, der bereits beim Coden auf fehlende Klammern oder Semikola hinweist, ist deshalb gerade unter C und C++ Gold wert.

  • Zu den bekanntesten IDE gehört Microsofts Visual Studio, das unter Windows, macOS, und seit Kurzem auch unter Linux arbeitet.
  • Der einst vom IDE-Spezialisten Borland für Windows-PC entwickelte C++Builder liegt seit 2009 bei Embarcadero Technologies und kompiliert Code für Windows (inzwischen auch für 64 Bit) sowie macOS, Apple iOS und Android.
  • Auch die unter der gleichnamigen Plattform laufende Netbeans IDE wird nach einer zeitweiligen Durststrecke inzwischen wieder als Plattform für C und C++ weiterentwickelt.
  • Von Prozessorhersteller Intel gibt es den Intel C/C++ Compiler (ICC). Das Programm wird in Versionen für Windows, Linux, und Mac OS X sowie für verschiedene Prozessorarchitekturen speziell von Intel angeboten.

 

Erste Schritte mit einem Microcontroller

Haben Sie zuvor noch nie programmiert, bietet sich der Einstieg in C/C++ zum Beispiel über einen der vielen auch in C (und mittlerweile zum Teil sogar in C++) programmierbaren Mikrocontroller wie Arduino oder ESP8266 an. Der Vorteil hierbei: Sie haben schnell erste Erfolgserlebnisse und können sich dabei langsam von einfachen, praxisnahen Anwendungen zu komplexen Programmieraufgaben mit vielschichtigen Datenmodellen hocharbeiten.

 

YouTube / Vaander

 

Das Wissen der Profis nutzen


Ganz wichtig: Gerade als Neueinsteiger sollten Sie den Austausch mit anderen Programmierern und insbesondere „alten Hasen“ suchen. C und C++ halten für Anfänger viele Hürden und Fallstricke bereit. Gefürchtet ist in diesem Zusammenhang etwa das Arbeiten mit Zeigern und dynamischem Speicher.

Deutschsprachige Communitys finden Sie beispielsweise unter www.cplusplus-forum.de und www.c-plusplus.net/forum. Deutlich höher frequentiert sind englischsprachige Foren wie www.cplusplus.com/forum. News rund um neue Versionen, Compiler oder Entwicklerkonferenzen finden Sie auf www.isocpp.org. Jede Menge kostenlose Libraries gibt es unter www.github.com. Damit haben Sie das notwendige Rüstzeug für Ihre Arbeit mit C und C++ an der Hand.

 

Haben Sie selbst schon erste Erfahrungen mit C und C++ gesammelt oder sind Sie vielleicht sogar ein erfahrener Coder? Was ist Ihr bevorzugter Compiler und programmieren Sie lieber in C oder C++? Lassen Sie andere Nutzer in den Kommentaren an Ihrem Wissen teilhaben.

 


Ihre Digitalisierungs-Berater:innen für den Mittelstand

Sie haben Fragen zur Digitalisierung? Unser Expert:innen-Team hilft Ihnen kostenlos
und unverbindlich im Chat (Mo.-Fr. 8-20 Uhr). Oder am Telefon unter 0800 5054512

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Facebook Twitter WhatsApp LinkedIn Xing E-Mail