Blog 4 min read

Der Großteil des auf einem Windows-PC ausgeführten Codes ist in C++ entwickelt – daher sind mehr Probleme in C++-Code zu erwarten

Diesen Artikel teilen
The majority of code executed on a Windows PC is developed in C++, so it's expected to encounter more issues in C++ code.

In letzter Zeit haben zahlreiche Artikel Probleme in C++-Code hervorgehoben, und selbst das Weiße Haus hat von der Verwendung von C++ abgeraten und stattdessen Rust empfohlen. Doch berücksichtigt diese Sichtweise, wie umfassend C++ im Vergleich zu anderen Programmiersprachen eingesetzt wird? In diesem Beitrag untersuchen wir, wie viel des auf einem Windows-PC ausgeführten Codes in C++ geschrieben ist. Was wäre, wenn der Großteil dieses Codes in Rust, C# oder Java geschrieben wäre? Hätten wir dann noch dieselbe hervorragende Benutzererfahrung wie heute? Gehen wir dieser Frage nach und betrachten wir die möglichen Auswirkungen.

Die Nutzungsmuster von Windows-Anwendern unterscheiden sich stark, doch einige zentrale Aktivitäten machen einen großen Teil der Bildschirmzeit aus. Zu den häufigsten gehören:

  • Surfen im Web.
  • Dokumente mit Office erstellen
  • Spiele spielen
  • Videos ansehen
  • Musik hören
  • Softwareentwicklung und Programmierung

Schauen wir uns genauer an, warum C++ so verbreitet ist und weshalb so viel des auf Windows-PCs ausgeführten Codes darin geschrieben wurde.

1. Kern des Betriebssystems

Windows-Betriebssystem:

  • Das Windows-Betriebssystem selbst ist größtenteils in C++ (und C) geschrieben. Kernkomponenten wie Kernel, Systembibliotheken, Treiber und Systemwerkzeuge setzen stark auf C++. Dadurch kann das Betriebssystem Hardwareressourcen effizient verwalten und Anwendungen eine stabile Umgebung bereitstellen.

2. Performancekritische Anwendungen

Microsoft Office:

  • Anwendungen wie Microsoft Word, Excel, PowerPoint und Outlook verwenden C++, um rechenintensive Aufgaben zu bewältigen. Komplexe Berechnungen in Excel oder das Rendern von Dokumenten in Word profitieren beispielsweise von der Geschwindigkeit und Effizienz von C++.

Webbrowser:

  • Google ChromeundMozilla Firefoxenthalten große Teile ihrer Codebasis in C++. Die Rendering-Engines – Blink bei Chrome und Gecko bei Firefox – sind in C++ optimiert, um Webseiten schnell und effizient darzustellen.

3. Gaming

Game-Engines:

  • Unreal EngineundUnity: Während Unity C# für Skripting verwendet, sind die Kernkomponenten der Engine in C++ entwickelt. Die für ihre hohe Performance bekannte Unreal Engine ist überwiegend in C++ geschrieben. Diese Engines treiben viele beliebte Spiele an und ermöglichen flüssige Grafik sowie Physikberechnungen in Echtzeit.
  • AAA-Spiele: Große Spieletitel, darunter Produktionen von Bethesda (z. B. Fallout, The Elder Scrolls), Electronic Arts (z. B. FIFA, Battlefield) und Ubisoft (z. B. Assassin’s Creed), verwenden C++ für die Spieleentwicklung. Die Fähigkeit der Sprache, komplexe Berechnungen und Speicherverwaltung effizient zu bewältigen, macht sie ideal für leistungsstarke Spiele.

4. Systemprogramme und Werkzeuge

Sicherheitssoftware:

  • Antivirenprogramme wieNorton, McAfee, and Windows Defenderwerden häufig in C++ entwickelt, um Dateien effizient zu scannen, das Systemverhalten zu überwachen und Echtzeitschutz ohne erheblichen Performance-Overhead bereitzustellen.

Komprimierungswerkzeuge:

  • Programme wieWinRARund7-Zipwerden in C++ entwickelt, um Dateien effizient zu komprimieren und zu entpacken.

5. Multimedia- und Grafiksoftware

Adobe Creative Cloud:

  • Anwendungen wieAdobe Photoshop, Premiere Pro, and After Effectssetzen auf C++, um aufwendige Grafikverarbeitung, Video-Rendering und Bildbearbeitung effizient auszuführen.

Blender:

  • Diese Open-Source-Suite für 3D-Erstellung verwendet C++ in Teilen ihres Kerns für Rendering, Simulation und Modellierung.

6. Datenbankmanagementsysteme

MySQL:

  • MySQL ist zwar hauptsächlich in C geschrieben, einige Komponenten und performancekritische Bereiche sind jedoch in C++ umgesetzt. Das sorgt für hohe Leistung und Zuverlässigkeit bei großen Datenmengen und komplexen Abfragen.

PostgreSQL:

  • Auch PostgreSQL nutzt C++ für bestimmte Erweiterungen und Komponenten, um Performance und Skalierbarkeit zu verbessern.

7. Integrierte Entwicklungsumgebungen (IDEs)

Visual Studio:

  • Microsofts führende IDE, mit der unterschiedlichste Anwendungen entwickelt werden, ist selbst teilweise in C++ erstellt. Dazu gehören der Editor, der Debugger sowie zahlreiche integrierte Werkzeuge und Erweiterungen.

8. Netzwerke und Telekommunikation

Skype:

  • Der Kern von Skype, insbesondere die Audio- und Videoverarbeitung, wurde ursprünglich in C++ entwickelt, um geringe Latenz und hochwertige Kommunikation zu gewährleisten.

WebRTC:

  • Dieses Open-Source-Projekt ermöglicht Echtzeitkommunikation in Browsern und mobilen Anwendungen und setzt für seine Kernfunktionalität stark auf C++.

Fazit

C++ bleibt ein Grundpfeiler vieler kritischer Anwendungen und Systeme auf Windows-PCs. Seine Performance, Effizienz und die präzise Kontrolle über Systemressourcen machen es zu einer idealen Wahl für Hochleistungs-, Echtzeit- und systemnahe Programmierung. Auch wenn ständig neue Sprachen und Technologien entstehen, sichert die zentrale Rolle von C++ als Grundlage vieler besonders wichtiger und weit verbreiteter Windows-Anwendungen seine anhaltende Relevanz in der Softwareentwicklung.

Diesen Artikel teilen