C++ 2 Min. Lesezeit

Bitte sagt uns nicht, dass der große Microsoft-Ausfall durch CrowdStrike auch ein C++-Fehler ist

Diesen Artikel teilen
Please don't tell us that the Huge Microsoft Outage Linked to CrowdStrike is also a C++ code fault

In letzter Zeit ist C++ zunehmend in die Kritik geraten. Einige Unternehmen, Organisationen und Websites bezeichnen es sogar als „böse Sprache“, die für einen erheblichen Teil der Software-Sicherheitslücken und -Schäden verantwortlich sei. Diese Kritik beruht jedoch auf einem grundlegenden Missverständnis darüber, wie Programmiersprachen und Softwareentwicklung funktionieren. Es lohnt sich daher, genauer hinzusehen: Die C++ zugeschriebenen Probleme sind nicht der Sprache selbst inhärent, sondern vor allem eine Folge davon, wie sie eingesetzt wird.

Heute sind Banken, Flughäfen, Fernsehsender, Gesundheitseinrichtungen, Hotels und zahlreiche weitere Unternehmen von großflächigen IT-Ausfällen betroffen. Weltweit zeigen Windows-Systeme Fehler, Flüge bleiben am Boden und es kommt zu erheblichen Störungen.

Die weitreichenden Windows-Ausfälle wurden mit einem Software-Update des Cybersicherheitsunternehmens CrowdStrike in Verbindung gebracht. Und weil C++ so leistungsfähig ist, werden Anwendungen wie die von CrowdStrike natürlich häufig in C++ entwickelt. Vielleicht veröffentlicht in ein paar Tagen jemand einen Beitrag, in dem erklärt wird, dass C++ daran schuld sei :)

Grundursachen von Softwarefehlern

Die eigentlichen Ursachen von Softwarefehlern liegen häufig eher bei menschlichen Faktoren als bei den Programmiersprachen selbst:

  1. Mangelnde Erfahrung: Unerfahrene Entwickler verstehen möglicherweise nicht alle Feinheiten einer Sprache. Das kann zu falscher Verwendung und Fehlern führen – und gilt für jede Programmiersprache.
  2. Komplexität von Projekten: Große und komplexe Projekte sind aufgrund der enormen Codemenge und der zahlreichen Wechselwirkungen zwischen Komponenten anfälliger für Fehler. Diese Komplexität kann unabhängig von der verwendeten Sprache unvorhergesehene Probleme verursachen.
  3. Unzureichende Tests: Unzureichendes Testen trägt wesentlich zu Softwarefehlern bei. Um Probleme vor der Auslieferung zu erkennen und zu beheben, sind umfassende Unit-, Integrations- und Systemtests unverzichtbar.
  4. Schlechtes Design und mangelhafte Architektur: Schwächen im Softwaredesign und in der Architektur können Sicherheitslücken und Fehler verursachen. Gute Designprinzipien und bewährte Praktiken sind entscheidend für robuste und wartbare Software.

Fazit

C++ für die Häufigkeit von Softwarefehlern verantwortlich zu machen, greift zu kurz und blendet den größeren Kontext der Softwareentwicklung aus. C++ bietet ein hohes Maß an Kontrolle und Performance, verlangt aber einen sorgfältigen und kompetenten Umgang, um typische Fallstricke zu vermeiden. Dasselbe gilt für jede Programmiersprache, denn jede bringt eigene Herausforderungen und potenzielle Probleme mit sich.

Letztlich liegt die Verantwortung für die Softwarequalität bei Entwicklern, Testern und dem Entwicklungsprozess selbst. Gute Ausbildung, konsequentes Testen und die Einhaltung bewährter Praktiken können viele Risiken jeder Programmiersprache – einschließlich C++ – deutlich reduzieren. Statt ein Werkzeug zu verteufeln, sollten wir uns darauf konzentrieren, es besser einzusetzen, um zuverlässige, sichere und effiziente Software zu entwickeln.

Diesen Artikel teilen