Werden wir jemals das Ende von C / C++ erleben?
Nein, aber wir erleben ja auch nicht das Ende von Fortran.
Ich kann mir vorstellen, dass C/C++ in 20 Jahren eine Rolle einnimmt wir Fortran heute: Nicht wegzudenken, aber im Alltag eher außergewöhnlich.
Das wird dann passieren, wenn jemand ein konsistenteres, sauberes C++ liefert. Und das wird mit Rust ja auch versucht. Aber Rust erreicht (noch?) nicht die Geschwindigkeit von C++.
Grundsätzlich ist C++ eine recht passable Sprache, die Fähigkeiten hat, welche andere Sprachen eben nicht haben. Man kann in C++ hervorragend programmieren, weil C++ eine aus der Praxis gewachsene Sprache ist, die zuverlässig Kompatiblität wahrt. Das ist auch ein Fluch, aber für große Softwareprojekte auch Grundlage. Während wir in C# massiv Code umstellen, weil sich Funktionalität geändert hat, kompiliert 30 Jahre alter C++ Code weiterhin. Bei einer Software, die so groß ist, dass solche Dinge massiv Entwicklerzeit kosten, kann das entscheidend sein, ob die Software weiter existiert oder nicht.
Das spricht gegen ein Ende von C++.
Dass sich C++ recht unbeeindruckt von den Trends der letzten 30 Jahre zeigt, zeugt von der Qualität der Sprache. Da war Delphi, dass Ende der 1990ern noch eine große Zukunft vor sich hatte und C++ ersetzen würde (aber tatsächlich ein C++-Compiler mit Pascal-Frontend war), dann kam Java, was bis heute als Lehrsprache genutzt wird, jahrelang auf Platz 1 des Tiobe-Index stand und inzwischen nicht nur hinter der derzeitigen Trendsprache Python liegt, sondern sogar hinter C++ auf Platz 3.
C++ ist kein Trend und C++ war nie Trend. C++ war immer ein funktionierendes Werkzeug, ein Schweizer Taschenmesser mit dem man sich auch verletzten konnte. Aber mit der man auch Trends ausleben konnte, bevor sie Trends wurden. Ich habe zwei Jahre gebraucht, um die Magie hinter Closure zu verstehen, bis mir endlich klar wurde, dass das in C++ ein uralter Hut ist, der jetzt auch nicht so spannend ist. Und dann war der Hype hinter Closure auch wieder weg - war wohl auch sonst nicht so spannend. C++ hypt nicht. Und deswegen ist C++ auch kein Hype, der plötzlich wieder wegbrechen wird. C++ ist ein funktionierendes Werkzeug und es wird immer Menschen geben, die sagen "Oh, es ist abgewetzt und dreckig, es sieht teilweise auch nicht schön aus, aber es löst zuverlässig das Problem". Und das ist besser, als schick und trendy, aber am Ende doch unpraktisch. So wie Touchscreens in Autos. Wirkt modern, sieht geil aus und man kann damit auch alles bedienen, es ist aber vollkommen am Problem vorbeikonzipiert. Und so wird man am Ende wieder Drehschalter und altmodische Knöpfe anbieten. Damit machen erste Hersteller jetzt Werbung: echte Knöpfe. Weil Knöpfe zuverlässig Probleme lösen, weil man jemanden, der aus einem dreißig Jahre altem Auto kommt, nicht erst die GUI erklären muss. Drehschalter drehen, Licht geht an. Schick animierte Menüs sehen cool aus, geile Show, braucht aber kein Mensch, wenn man einfach nur auf der Autobahn ohne Hinzusehen das Licht einschalten will.
Es gibt noch einen Vorteil, den viele bei C++ nicht sehen. Es gibt den GNU-C++-Compiler, den Clang-C++-Compiler, den Visual C++-Compiler, Intel C++ und diverse weniger bekannte Compiler wie den Embarcadero (ehemals Borland) C++ Builder. Wenn die OpenSource-Welt keinen Bock mehr hat, wird C++ weiter existieren. Wenn Microsoft und Intel beide pleite gehen, wird C++ weiter existieren und es wird weiterhin Auswahl geben. Ein anderer Hype der letzten Jahre war ObjC. Als Apple keinen Bock mehr auf ObjC hatte war ObjC war weg vom Fenster.
Als ich mich für C++ entschied, entschieden sich andere für Delphi, für Java, für ObjC, PHP. Ich werde auch in 10 Jahren mit C++ noch mein Geld verdienen können. Ich kann mir vorstellen, dass PHP dann in Ablöse ist und Java-Entwickler auch schon länger überlegen, ob sie rechtzeitig vor dem Jobwechsel zur Umschulung kommen. Python - der aktuellen Trend - wird dann vermutlich auch schon durch etwas anderes abgelöst sein. Vielleicht Rust? Vielleicht was anderes. Aber C++ wird es vermutlich nie auf die #1 der Tiobe-Liste schaffen, aber noch irgendwo in den Top 5 rumwuseln.