Wofür wird C++ verwendet?

4 Antworten

C# und Java sind so bequem und schön zu entwickeln, weil sie in einer verwalteten Umgebung ausgeführt werden.

Bei der Systemprogrammierung (Treiberentwicklung, Betriebssystementwicklung) gibts diese Umgebung nicht, die Laufzeit-Umgebung ist die Hardware. Und die verzeiht keine Fehler. Wenn was schief läuft knallts. Wenn man aber gewissenhaft mit einem guten Programmierstil herangeht kann man hardwarenah programmieren, hat aber auch alle nötigen Konzepte um den Code gut abstrahieren/designen zu können.

C++ wird allerdings auch für die normale Anwendungsentwicklung benutzt. Dadurch dass es hardware-näher ist läuft der selbe Algorithmus mit den selben Parametern tendenziell schneller in C++. Und Cross-Plattform ist es (prinzipiell) auch. Zwar muss im vergleich zu Java deutlich mehr dafür getan werden, aber es geht. Weiterentwickelt wird C++ auch nicht von einem Hersteller sondern von einem Konsortium verschiedener Hersteller. Wenn MS keine Lust mehr auf C# hat, könnten die es einfach einstellen, C++ ist hingegen freier (und hat unzählige, jahrzehntelange Anhänger).

Kurzum, ist es zwar nicht so leicht, modern und bequem wie C# und co, aber hat sein Anwendungsgebiet, Fanbase und Vorteile.

GutfriedGelb 
Fragesteller
 15.01.2014, 17:33

Vielen Dankf für deine ausführliche Antwort. Wo wäre denn die beste Lektüre, um mich da mal ein wenig in C++ einzuarbeiten? Welche IDE wäre da die beste (Linux)?

0
FaronWeissAlles  15.01.2014, 18:58
@GutfriedGelb

Eclipse oder Code::Blocks sind nicht schlecht. Für einen besseren Überblick, schau dir englische Wikipedia an (edit: URL ist nicht komplett verlinkt): http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#C.2FC.2B.2B

Bei Büchern kenn ich mich nicht wirklich aus, ich bin selber C#-Entwickler und hab mit C++ wenig am Hut. Mir sind aber schon einige Schinken über den Weg gelaufen. Ich glaub ich hab noch keins gesehen das unter 1000 Seiten hat ^^. Im o´Reilly-Verlag wirst du sicher fündig. Die haben sich auf Technologie-Bücher spezialisiert und führen ne ganze Reihe von Programmierbücher. Google die mal, auf deren Webseite kannst du die Dinger auflisten lassen (und dann Rezensionen suchen)

1

Nur weil andere Programmierer sich nicht den geistigen Unrat von C# antun, heißt das nicht, sie seien von gestern …

Ebenso wie Java zielen Sprachen wie C oder C++ auf alle Systeme und sind nicht so beschränkt wie C#!

Während Sprachen wie C, C++ und Java „komplett“ dokumentiert sind, kann man sich seitens C# nicht unbedingt darauf verlassen, dass alles genau so funktioniert wie beschrieben. Winzigweich kann nicht mal ein Betriebssystem schaffen, das ohne tägliche Updates auskommt. Wie sollen da die Programmiersprachen funktionieren …

Die meisten Spiele werden in C++ programmiert. Ein großer Vorteil, neben der Hardwarenähe, ist das Speichermanagment. In Java musst du ja z.B. immer drauf warten, dass der Garbage Collector aufräumt...bei C++ musst du dich selbst darum kümmern, wann welche Variable wieder gelöscht wird.

Das Stichwort lautet hier "hardwarenahe Programmierung". Hierfür wird C++ nach wie vor verwendet.