Linux-erfinder torvalds kritisiert c++: komplexität gefährdet stabilität
Linus Torvalds, der Schöpfer des Linux-Kernels und Git, hat seine Zweifel an der Verwendung von C++ in kritischen Systemen lautstark geäußert. Seine Kritik richtet sich nicht gegen die Leistungsfähigkeit der Sprache, sondern gegen die potenziellen Fallstricke, die ihre Komplexität mit sich bringen kann – ein Problem, das er besonders bei großen Projekten wie Linux selbst sieht.

Die kehrseite der medaille: c++ und wartbarkeit
C++ bietet Entwicklern eine Fülle von Möglichkeiten, von Klassen und Objekten bis hin zu Vorlagen und Vererbung. Diese Flexibilität ermöglicht zwar die Entwicklung hochperformanter Anwendungen, birgt aber auch die Gefahr, dass der Code unübersichtlich und schwer wartbar wird. Torvalds argumentiert, dass diese Komplexität in kleinen Projekten vielleicht noch tolerabel ist, aber in großen, komplexen Systemen, wie dem Linux-Kernel, zu erheblichen Problemen führen kann, die sich über Jahre hinwegziehen.
Er vergleicht C++ spöttisch mit einer Sprache, die es „viel zu einfach macht, echten Schrott zu produzieren“. Seine Aussage, getroffen im Jahr 2007 während einer Diskussion über Git, verdeutlicht seine Präferenz für C, das er als expliziter und leichter nachvollziehbarer ansieht. „C++ ist eine schreckliche Sprache“, so Torvalds einst, „und das noch mehr, weil so viele mittelmäßige Programmierer sie benutzen.“
Der springende Punkt ist, dass C++ zwar effizienten Code ermöglicht, aber gleichzeitig die Gefahr birgt, dass Abläufe hinter eleganten Abstraktionen verborgen bleiben. Dies kann den Code zwar oberflächlich sauber erscheinen lassen, erschwert aber das Verständnis des zugrunde liegenden Verhaltens, insbesondere in Projekten mit vielen Beteiligten und ständigen Änderungen. Die Klarheit und Direktheit von C hingegen zwingen Entwickler, Entscheidungen offenzulegen, was die Überprüfung und Wartung erleichtert.
Torvalds’ Bedenken sind nicht neu. Er hat die Problematik bereits in der Vergangenheit angesprochen und betont, dass in kritischen Systemen die Verständlichkeit des Codes über die reine Leistungsfähigkeit gestellt werden muss. Denn eine Sprache, die zu viele unterschiedliche Wege zur Lösung desselben Problems bietet, kann zu einem Flickenteppich aus unterschiedlichen Programmierstilen führen, der die langfristige Wartung erheblich erschwert.
Die Entscheidung für C in Git war daher eine bewusste Abwägung, die auf Klarheit und Wartbarkeit setzte – Werte, die Torvalds höher schätzt als die potenziellen Vorteile von C++ in diesem Kontext. Es geht nicht darum, C++ als nutzlos abzutun, sondern darum, seine Verwendung in Projekten kritisch zu hinterfragen, in denen Stabilität und langfristige Wartbarkeit oberste Priorität haben.