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

01.04.2008

Modernes Look & Feel für C++-Applikationen

TEIXEIRA: Wir hatten auf diesem Gebiet tatsächlich einigen Nachholbedarf. Unsere Kunden haben die UI-Designmöglichkeiten von WPF oder Winforms unter .NET gesehen und wünschten sich dieses moderne Look-and-Feel auch für ihre C++-Applikationen. Aus diesem Grund haben wir nun den Visual Manager für MFC eingeführt. Immerhin arbeiten ja noch 60 bis 80 Prozent der Entwickler mit MFC, und denen bieten wir nun ein simples Tool, mit dem sie ihre Anwendungen ohne viel Aufwand auf den Vista- oder Office-Look trimmen können. Normalerweise reicht dazu eine Neukompilierung aus und unter Vista erscheinen Dialoge wie Datei-Öffnen im modernen Outfit. Sollen auch Werkzeug- und Menüleisten einer Applikation modernisiert werden, genügen hierzu ein paar Zeilen Code, die Programmlogik selbst muss dabei nicht angetastet werden.

CW: Das neue Ribbon-UI von Office 2007 wird von vielen als innovativ gelobt, andere wiederum kommen mit der Bedienung nicht zurecht. Welche Bedeutung hat dieses Design für Sie? Werden Sie es zukünftig als eine Art Standard-Bedienparadigma in Visual Studio integrieren?

TEIXEIRA: Man muss erst einmal sehen, ob Ribbon sich in jeder Art von Anwendung als bevorzugtes Bedienkonzept durchsetzen wird. Für Office ist es sicher eine sinnvolle Innovation. Diese Anwendungen sind nämlich mittlerweile derart komplex, dass sie über die klassischen Menüs kaum mehr zu beherrschen waren. Andererseits halten wir das alte Interaktionsmodell für Tools wie Visual Studio nach wie vor für optimal. Darum möchten wir den Entwicklern möglichst viel Gestaltungsspielraum einräumen - mit Tools wie der neuen MFC haben sie die entsprechenden Wahlmöglichkeiten.

CW: Heute arbeiten viele Entwickler auf Managed-Plattformen, und es existieren immer mehr Bibliotheken auf dieser Basis, so dass Interoperabilität von nativen und Managed-Komponenten immer wichtiger wird. Was hat sich auf diesem Gebiet verbessert?

TEIXEIRA: Die Unterstützung von hybriden Applikationen war für uns ein wichtiges Ziel. Ein typisches Problem bei solchen Mischanwendungen stellen bekanntlich die unterschiedlichen Datentypen dar, weil jede Programmiersprache die zu verarbeitenden Daten nach eigenen Konventionen liest und schreibt. Mit Hilfe neuer Marshalling-Bibliotheken können nun Klassen und Zeichenketten bei der Kommunikation von Komponenten verschiedener Provenienz korrekt umgewandelt werden.

Ein anderer wichtiger Punkt für uns war, dass wir die herstellerunabhängige C++-Standardbibliothek STL (Standard Template Library) nun in Managed-Code implementiert haben. Diese neue STL CLR (Common Language Runtime) erleichtert C++-Entwicklern den Zugriff auf .NET-Objekte. Grundsätzlich arbeiten wir an einer noch besseren Interoperabilität zwischen C++ und .NET-Sprachen wie C# und VB.NET. Ich bin aber der Ansicht, dass wir nicht mit ständig neuen Features in C++ eine Angleichung der Sprachen anstreben müssen. Jede Sprache sollte ihre eigenen Charakteristika behalten.

CW: Wie wird es denn weitergehen mit C++, haben Sie schon Pläne für die nächste Version von Visual Studio?