PDC: dynamische Erweiterungen für C# 4.0

Neben der dynamische Programmierung wird die nächste Version der Programmiersprache C# dynamische und optionale Parameter sowie das Einbetten von Typen unterstützen.

In Pocket speichern vorlesen Druckansicht 218 Kommentare lesen
Lesezeit: 3 Min.
Von
  • Dr. Holger Schwichtenberg

Anders Hejlsberg, Chef-Architekt der .Net-Programmiersprache C#, hat im Rahmen der Microsoft Professional Developer Conference (PDC) in Los Angeles neue Sprachfunktionen für C# 4.0 und die darauf folgende Version erstmals vorgestellt.

Die Hauptneuerung in C# 4.0 ist die Erweiterung in Richtung dynamischer Sprachen. Mit dem Schlüsselwort dynamic können C#-Entwickler in Zukunft eine Variable so deklarieren, dass die Bindung erst zur Laufzeit stattfindet. Dies vereinfacht die Nutzung von COM-Komponenten und deren Integration wesentlich, weil Typkonvertierungen bzw. die Nutzung der umständlichen .Net-Reflectionbibliothek entfallen. Anders Hejlsberg betonte aber, dass C#-Entwickler nun nicht grundsätzlich alle Variablen als dynamisch deklarieren, sondern im Standardfall weiterhin auf statische Typisierung setzen sollten, weil diese schneller ist. Im "Untergrund" arbeiten die Klassen DynamicObject und die Schnittstelle IDynamicObject. Auf dieser Basis kann ein C#-Entwickler eigene dynamische Typen implementieren. Der Chef-Architekt hob hervor, dass durch die dynamischen Erweiterungen C# noch deutlicher zu einer Multiparadigmenprogrammiersprache wird.

Als weitere wichtige Neuerungen unterstützt C# 4.0 optionale und benannte Parameter. Diese Parameterformen bietet Visual Basic schon seit der ersten Version von .Net und wurde von C#-Entwicklern bisher schmerzlich vermisst. Gerade beim Zugriff auf die Klasse der Microsoft Office-Objektbibliotheken mussten Entwickler bisher optional Parameter durch eine Instanz der Klasse Missing befüllen, was zu mehrzeiligen Befehlen führte an Stellen, die man in VB.NET in einer halben Codezeile ausdrücken konnte.

Weitere Neuerungen in C# 4.0 betreffen Co- und Contravarianz für generischen Typen sowie die Möglichkeiten zum Einbetten von Schnittstellen aus Interoperabilitätsassemblies in die aufrufende Komponente (Type Embedding). Durch diese Funktion wird es stark vereinfacht, gegen verschiedene Versionen einer Softwarekomponente zu programmieren. Auch hier haben die Redmonder wieder die Office-Programmierung im Hinterkopf. Bisher müssen Entwickler gegen eine konkrete Version der Office-Bibliothek programmieren, was zum Fehler führt, wenn der Anwender nicht die erwartete Office-Version installiert hat.

C# 4.0 soll im Rahmen des .Net Framework 4.0 erscheinen, das für Ende 2009 zu erwarten ist. Erste Beispiele sollen in den nächsten Tagen auf der Website von Microsoft erscheinen. Die Beispiele sind lauffähig mit der Vorabversion von Visual Studio 2010, die Teilnehmern der PDC erhalten, die aber in Kürze auch öffentlich zugänglich sein soll.

Hejlsberg benannte in seinem PDC-Vortrag auch bereits ein zentrales Arbeitsgebiet für C# 5.0. Sein Team habe begonnen, den - aus historischen Gründen noch in C++ geschriebenen - C#-Compiler neu in Managed Code zu implementieren. Die neue Implementierung soll eine Programmierschnittstelle bieten, die auf vielen Ebenen Einfluss auf dem Kompilierungsprozess erlaubt. Er zeigte in seinem Vortrag ein Codebeispiel, das einzelne C#-Befehlszeilen kompiliert und es ermöglicht, C# als eine interaktive Interpretersprache zu nutzen. Weiterhin erwähnte er die Forschungsgebiete "Deklarative Programmierung" und "Parallelisierung", nannte aber hierfür keine konkreten Funktionen. (Dr. Holger Schwichtenberg) (wm)