.NET Code Contracts Vortrag auf der Springboard Konferenz

Monday, June 08, 2009 2:55:50 PM (W. Europe Daylight Time, UTC+02:00)

Am Freitag war ich mit einem Vortrag zu .NET Code Contracts auf der Springboard Konferenz in Köln. Die Springboard war eine Konferenz für Studenten und somit eine schöne Gelegenheit, mal wieder ein paar alte Kollegen aus dem Student Program zu treffen.

Neben meinem Vortrag hatte ich an dem Tag noch einen weiteren wichtigen Termin, auf den ich mich intensiv vorbereiten musste. Das führte dazu, dass ich die ganze Woche meistens bis nach Mitternacht mit dem Vortrag oder dem anderen Termin beschäftigt war. Jedenfalls war das lezte Beispiel mal wieder Just-in-time ca. 30 Minuten vor meinem Vortrag fertig. Demnächst sollte ich darauf achten, wichtige Termine weiter auseinander zu legen, dann habe ich vielleicht auch wieder mehr Freizeit ;-).

Folien zum Vortrag

Den gleichen Vortrag halte ich noch einmal am 10.06. bei der .NET User Group Paderborn.

Kick it on dotnet-kicks.de

C# 4.0: Mit dynamic anonyme Typen zurückgeben und verwenden

Monday, October 27, 2008 11:05:46 PM (W. Europe Standard Time, UTC+01:00)

Interessant was jetzt geht:

static void Main(string[] args)
{
    Console.WriteLine(Test().Hello);
    Console.WriteLine(Test().World);
}

static dynamic Test()
{
    return new { Hello = "Hallo", World = "Welt" };
}

Das funktioniert tatsächlich so. Die Kombination “static dynamic” liest sich allerdings etwas merkwürdig :-).

Technorati-Tags: ,
Kick it on dotnet-kicks.de

C# 4.0: Optionale Parameter

Monday, October 27, 2008 10:47:53 PM (W. Europe Standard Time, UTC+01:00)

C# 4.0 wird optionale Parameter unterstützen. Für optionale Parameter muss man einen Default-Wert angeben, optionale Parameter müssen am Ende der Parameterliste stehen, d.h. danach dürfen keine nicht-optionalen Parameter mehr folgen. Beispiel:

class Program
    {
        static void Main(string[] args)
        {
            Hello(); // Hello World!

            Hello("OutOfCoffeeException.de");
           
        }
        
        public static void Hello(string world = "World!")
        {
            Console.WriteLine("Hello " + world);
        }
    }
Technorati-Tags: ,
Kick it on dotnet-kicks.de

C# 4.0: dynamic Keyword

Monday, October 27, 2008 10:42:51 PM (W. Europe Standard Time, UTC+01:00)

Nachdem ich eben die neue Visual Studio 2010 / .NET 4.0 CTP heruntergeladen habe und schon den ganzen Tag den Twitter Feed von der PDC verfolge habe ich ein wenig mit C# herum experimentiert. Leider habe ich noch keine Doku dazu gefunden, deshalb musste ich mir alles aus einzelnen Infos von Twitter und trial+error zusammenreimen.

C# 4.0 enthält ein neues Schlüsselwort “dynamic”. Das soll wohl für Interoperabilität mit dynamischen Sprachen sorgen. Hier ist ein erstes Beispiel dazu:

class Program
   {
       static void Main(string[] args)
       {
           dynamic dynObj = new DemoA();
           dynObj.DoSomething();

           dynObj = new DemoB();
           dynObj.DoSomething();
       }
   }

   class DemoA
   {
       public void DoSomething()
       {
           Console.WriteLine("Hello from DemoA");
       }
   }

   class DemoB
   {
       public void DoSomething()
       {
           Console.WriteLine("Hello form DemoB");
       }
   }

Mit dem Schlüsselwort “dynamic” wird in Zeile 5 ein dynamisches Objekt erzeugt. Anschließend kann man auf diesem Objekt Methoden aufrufen, die erst zur Laufzeit aufgelöst werden. Bin gespannt welche Anwendungsfälle neben dem Aufruf von dynamischen Sprachen sich dafür noch finden werden.

Technorati-Tags: ,,
Kick it on dotnet-kicks.de

Die Zukunft von .NET – Eine Analyse der PDC Session Abstracts

Thursday, October 09, 2008 12:36:26 AM (W. Europe Daylight Time, UTC+02:00)

Aus den Beschreibungen der PDC Sessions lassen sich schon jetzt einige Fakten über .NET 4.0 bzw. die Zukunft der Microsoft Plattform im Allgemeinen entnehmen. Die folgende Liste enthält meine Interpretationen einiger Session Abstracts, ich kann mich auch irren. Die Infos die sowieso schon auf verschiedenen Blogs (blogs.msdn.com usw.) aufgetaucht sind habe ich ausgelassen:

  • Common Language Runtime “vNext”
  • Unterstützung für mehrere CLR-Versionen innerhalb eines Prozesses
  • “Code Contracts” – was auch immer das bedeutet, ich vermute etwas in Richtung Design by Contract
  • Neue Klassen in der Base Class Library, z.B. BigInteger, Tuples und Bäume
  • Optimierter Garbage Collector, um Mehrprozessorsysteme effizienter auszunutzen

(http://channel9.msdn.com/pdc2008/PC49/)

Typsystem

Änderungen am Typsystem, die Versionierung und Deployment vereinfachen sollen, und z.B. die Arbeit mit COM Komponenten ohne Primary Interop Assemblies ermöglichen sollen

(http://channel9.msdn.com/pdc2008/TL02/)

Entity Framework

Wird einfacher und soll Model Driven Development (POCO?) besser unterstützen.

Interessant ist hier aber auch, was nicht in den Abstracts steht – es gibt bisher keine Session zu LINQ to SQL Neuerungen.

(http://channel9.msdn.com/pdc2008/TL20/)

Sync Services

Synchronisierung mit der “Cloud”. Kann vieles bedeuten, z.B. Live Mesh oder Data Services. Da die Session nicht mit “Live Mesh” getaggt wurde, obwohl es ein Tag dafür gibt, vermutlich eher letzteres. Dafür spricht auch, dass die Sync Services auch in einer SQL Server Data Services Session erwähnt werden.

(http://channel9.msdn.com/pdc2008/TL30/)

Cloud Services

Mit 33 Sessions eindeutig ein (der?) Schwerpunkt der PDC, gefolgt von Live Services mit 14, die ja auch eine “Coud”-Technologie sind, und ein “Live Framework” mit 10 Sessions. Dann wären da noch die SQL Server Data Services mit 7 Sessions. Dazu kommen noch Sessions zu “Windows Strata”, die kurz in der Agenda aufgetaucht, aber dann wieder verschwunden sind.

Windows CardSpace

Die nächste Version hat den Codenamen “Geneva”, und es gibt ein Server Produkt dazu, den “Geneva” Server. Der Name taucht aber nur in der Kurzfassung der Session auf, die über die Session Liste angezeigt wird. Auf der Details-Seite geht es dann nur um “Zermatt”.

Oslo

Zu Oslo gibt es gerade mal 5 Sessions, und aus den Abstracts lässt sich nichts entnehmen, was nicht schon ansatzweise in verschiedenen Blogs und Artikeln erwähnt wurde. Schade.

VB.NET

Weitere LINQ-Features (wie auch immer diese aussehen mögen), vereinfachter Syntax, vielleicht auch Metadata-Programming und Scripting. Viele Infos sind das leider nicht, aber mehr als zu C#, wo der Abstract nichts neues verrät.

(http://channel9.msdn.com/pdc2008/TL12/)

Windows Server vNext

Unterstützung für ASP.NET in der Server Core Variante – nett!

(http://channel9.msdn.com/pdc2008/ES06/)

Windows 7

Leider nichts neues, zu den “interessanten” Sessions steht als Beschreibung nur “TBD”. Aus den Titeln kann man nur entnehmen, dass es z.B. neue APIs für Text, Grafik, Suche und Shell geben wird.

 

Ich bin sehr gespannt was Microsoft denn nun wirklich auf der PDC ankündigen wird. Schade dass ich nicht dabei sein kann.

Technorati-Tags: ,,
Kick it on dotnet-kicks.de
Page 1 of 1 in the NET40 category