Microsoft: "C++ hat trotz .NET viele Chancen"

01.04.2008
Neben dem Java- und .NET-Boom steht die klassische Programmiersprache C++ nach wie vor hoch im Kurs. Steve Teixeira, Group Program Manager bei Microsoft, berichtet im Gespräch mit der COMPUTERWOCHE über die aktuellen C++-Neuerungen und die Zukunft nativer Softwareentwicklung.

CW: Als Microsoft vor sieben Jahren das .NET-Framework vorstellte, stand die von Java her bekannte Virtualisierung hoch im Kurs. Damals hieß es - auch bei Microsoft -, dass bald schon jede Art von Softwareentwicklung in Managed-Code-Sprachen wie C# stattfinden wird. Dennoch hält Microsoft an der hardwarenahen, nativen Programmierung fest und bringt mit Visual Studio 2008 auch ein runderneuertes Visual C++. Hat Managed-Code die Erwartungen nicht erfüllt, oder wollen sich die Entwickler einfach nicht umstellen?

TEIXEIRA: Sie haben Recht, viele von uns glaubten, dass C++ an Bedeutung verlieren würde und an dessen Stelle zunehmend verwaltete, virtuelle Plattformen wie das .NET-Framework mit Sprachen wie C# oder VB.NET treten werden. Stattdessen haben wir in den vergangenen Jahren beobachtet, dass neben dem boomenden Managed-Sektor auch in der C++-Entwicklung Zuwächse zu verzeichnen waren. Nach wie vor werden viele große Softwareprojekte mit C++ realisiert, und ich denke, dass beide Bereiche ihre Berechtigung haben - es geht hier nicht um ein Entweder-oder.

CW: Als Alleinstellungsmerkmale der nativen Entwicklung gegenüber Managed-Code galten lange Zeit die höhere Effizienz und Performance. Doch angesichts immer leistungsfähigerer Hardware fällt dieses Argument mittlerweile immer weniger ins Gewicht. Welche Gründe sprechen denn heute noch für C++?

Steve Teixeira, Group Program Manager bei Microsoft.
Steve Teixeira, Group Program Manager bei Microsoft.
Foto: Steve Teixeira

TEIXEIRA: Anhand umfangreicher Befragungen unter Softwareherstellern und Entwicklern haben wir drei Haupteinsatzzwecke für C++ identifiziert. So steht etwa bei vielen der Multiplattformansatz im Vordergrund. Man entwickelt mit einer Sprache und möchte ohne großen Aufwand unterschiedliche Zielplattformen wie Windows, Linux, Mac oder Embedded-Geräte erreichen. Visual C++ eignet sich dafür sehr gut, weil wir zu 98 Prozent konform sind mit dem ISO-Standard, so dass Portierungen auf andere Plattformen nur geringe Anpassungen erfordern.

Der zweite wichtige Aspekt für viele Unternehmen liegt in den enorm hohen Investitionen, die bereits für C++-Code ausgegeben wurden und die man nicht von heute auf morgen aufgeben kann. Nehmen Sie beispielsweise unsere Entwicklungsumgebung Visual Studio, die aus 45 Millionen Zeilen Code besteht und deren Umfang stetig weiterwächst.

Die dritte Domäne von C++ sind jene Bereiche, in denen Managed Code aufgrund seiner höheren Abstraktion weniger oder gar nicht geeignet ist. Typische Beispiele dafür sind Gerätetreiber, Antiviren-Tools oder andere systemnahe Software.

CW: Auf Betriebssystem- und Anwendungsseite hat Microsoft in den letzten Jahren einiges getan, um die Bedienfreundlichkeit und das Look-and-Feel zu verbessern, wie man an der Aero-Oberfläche von Vista oder dem Ribbon-UI von Office 2007 sieht. Kann C++ mit seinen alten Bibliotheken und Frameworks wie MFC hier überhaupt noch mithalten?