Dienstag, Januar 02, 2007

Covarianz & Contravarianz

Zum meinem grossen Schrecken mußte ich gerade feststellen, daß VB.NET nicht wie C# Covarianz und Contravarianz in Delegates unterstützt.
In .C# 1.x und immer noch in VB.NET muss aufgrund von Invarianz eine Methode mit der Signatur eines zugehörigen Delegates exakt zusammenpassen. Mit der Version von 2.0 unterstützt C# auch Contravarianz bei Paramtertypen und Covarianz bei Rückgabetypen. Somit kann man Delegates mit Methoden verwenden, deren Parameter in der in der Vererbungshierachie vor den zugehörigen Typen kommen bzw. mit einer Methode dessen Rückgabetyp abgeleitet vom Rückgabetyp des Delegate ist. Das finde ich gar nicht so lustig, da dann viel mehr Type Casts im VB.NET Code eingefügt werden müssen als in C#-Code. C# geht da wohl schon viel konsequenter in Version 2.0 des .NET Framework den Weg einer dynamischen Sprache als VB.NET. Und damit hat man mit C# nicht nur in diesem Fall duch schnellere Entwicklung, verbesserte Betriebssicherheit und höhere Ausführungsgeschwindigkeit im Gegensatz zu VB.NET die Nase vorn.

Montag, Januar 01, 2007

WPF in Finance Applications

Seit geraumer Zeit programmiere ich für eine deutsche Investmentbank VSTO-Applikationen mit .NET 2.0, um Entwicklungen von Fonds und deren Produkte in Tabellen und Grafiken darzustellen. Aufgrund der wenig erquickenden Verwendung von Excel-Objekten in .NET verarbeite ich die entsprechenden Daten aus einer auf einem HP-UX laufenden Oracle-Datenbank in selbsterstellten Komponenten, wobei ich mich nicht nur der objektorientierten Programmierung mit Vererbung und Komposition über Schnittstellen bediene, sondern auch Generics verwende. Das ist wirklich eine gr0ßartige Sache! Über die Feiertage habe ich mal geprüft, was man für’s Erstellen von solchen Anwendungen aus dem reichhaltigen Paket von .NET 3.0 nutzen kann. Dabei bin ich über die Woodgrove Finance Application gestolpert. Da kann man wirklich einmal sehen wohin die Reise mit .NET 3.0 und damit wohl auch Office geht. Es ist einfach verblüffend wie eine Web Applikation mit Windows Presentation Foundation dynamisch Daten in einer mehrdimensionalen Grafik darstellen kann. Und das schon heute mit einem frei verfügbaren .NET Framework 3.0.