Darüber hat es viele Diskussionen gegeben. Der Grund ist hauptsächlich ein philosophischer. C wurde als einfache Sprache für die Systementwicklung erfunden (nicht so sehr für die Anwendungsentwicklung). Es gibt viele Argumente für die Verwendung von C++, aber ungefähr genauso viele für nicht C++ verwenden und bei C bleiben.
Am Ende ist es ein historisches Problem. Das meiste Anwendungszeug ist in C geschrieben, weil das meiste Kernelzeug in C geschrieben ist. Und da damals das meiste Zeug in C geschrieben wurde, neigen die Leute dazu, die Originalsprachen zu verwenden.
An dieser Stelle könnte jemand fragen "OK, also warum ist der Kernel in C geschrieben und nicht nach C++ portiert?" . Dies wurde vor einiger Zeit auf Kernetrap diskutiert. Eine nette Erklärung, die aus diesem Thread zitiert werden kann, ist eine Antwort von yoshi314 (direkt zitieren):
Das liegt daran, dass fast jede C++-Anwendung eine separate C++-Standardbibliothek benötigt, um zu funktionieren. also müssten sie es auf den Kernel portieren und überall mit einem zusätzlichen Overhead rechnen.
c++ ist eine komplexere Sprache und das bedeutet, dass der Compiler daraus komplexeren Code erstellt. Aus diesem Grund ist es in c einfacher festzustellen, dass ein Problem auf einen Compiler-Fehler als auf einen Codefehler zurückzuführen ist.
auch die C-Sprache ist mehr Barebone und es ist einfacher, ihrer Assembly-Darstellung zu folgen, die oft leicht vorherzusagen ist.
c++ ist vielseitiger, aber c eignet sich besser für Lowlevel- oder Embedded-Sachen.
Andererseits ist "die meisten Linux-Programme" ziemlich irreführend. Werfen Sie einen Blick auf grafische Anwendungen. Python setzt sich insbesondere in GUI-Umgebungen unter Linux immer mehr durch. Ungefähr dasselbe, was mit Windows und .NET passiert.
Nachdem Sie die folgende E-Mail von Linus Torvalds, dem Erfinder von Linux, gelesen haben. Ich kann nicht anders, als zu glauben, dass die obige Antwort falsch ist. Er scheint zu glauben, dass C++-Programmierer keine guten Systeme sind Programmierer. Und dass die zusätzlichen Funktionen in C++ langfristig oft mehr Probleme bereiten als die Vorteile, die sie kurzfristig bringen. Auch wenn man ihm widersprechen mag, ist es schwierig, den Einfluss zu überschätzen, den er auf das Linux-Betriebssystem hatte.
http://harmful.cat-v.org/software/c++/linus