PDC: LINQ, Atlas und .NET 3.0

Der zweite “richtige” Tag der PDC ist noch nicht komplett vorbei, aber es lässt sich schon einiges feststellen: Der Zug geht so langsam richtig ab. Anders Hejlsberg hat C# 3.0 und das LINQ-Projekt vorgestellt – sehr beeindruckend und sehr spannend und: Sehr auf dem .NET-Framework 2.0 aufbauend! Bedeutet im Klartext: Beim derzeitigen Stand ist LINQ (Language integrated Query) als AddOn für C# und VB.NET denkbar, zumindest aber wird es beim nach .NET 2.0 folgenden Major-Release dabei sein.

Das Prinzip dabei: Queries (analog zu SQL-Statements, sogar die Syntax ist fast identisch) werden direkt in C# oder VB geschrieben und können nicht nur auf Datenbanken, sondern auf beliebige Daten angewendet werden. Das Ganze macht gewaltig Gebrauch von neuen Framework-Features wie etwa Generics, anonyme Methoden und -Klassen, sowie Lambda-Expressions. Das Ganze braucht ein wenig, bis man sich da reingeschaut hat, aber nach kurzer Zeit wird es verdammt interessant, denn es spart im Endeffekt ungeheuer viel Entwicklungsaufwand und sorgt für deutlich mehr Flexibilität. Die LINQ-PDC-Bits sind ab sofort unter http://msdn.microsoft.com/netframework/future/linq abrufbar und werden ganz definitiv eines der wichtigsten Features im nächsten Framework nach 2.0 werden.

Eine Query-Expression kann zukünftig so aussehen:

var newVar =
   from c in Customers
   where c.Name == “Karsten”
   select new {c.Name, c.Age};

Ebenfalls neu in C# 3.0: Object- und Collection-Initializer. Diese nützliche Erweiterung erlaubt es, beim Erzeugen einer Instanz eines Objekts gleich die Werte von Properties mitzusetzen – ohne dies speziell über einen Konstruktor oder danach im Code machen zu müssen. Bezogen auf Collections können gleich Objekte mit übergeben werden – auch sehr praktisch, insbesondere deshalb, weil viel Schreibaufwand vermieden kann.

Ein weiteres Feature in C# 3.0: Local Variable Type Inference. Langer Name, praktisches Feature: Statt bei Generics stets den Typ doppelt angeben zu müssen, kann dies zukünftig unterbleiben. Statt

Dictionary dic = new Dictionary();

kann nun zukünftig

var dic = new Dictionary();

geschrieben werden. Dem hier verwendeten var-Schlüsselwort kommt übrigens bei C# 3.0 auch im Hinblick auf LINQ besondere Bedeutung zu…

Auch neu und auf den ersten Blick gewöhnungsbedürftig: Anonyme Typen. Im Grunde sind das normale Klassen, nur haben die halt keinen Klassen-Namen. Das Konzept kennt man schon von Java – es ist sehr flexibel, andererseits kann es sehr verwirrend werden, denn in letzter Konsequenz kann mit einer Variable zukünftig so gearbeitet werden:

var newVar = new { c.Name, c.Age };
Console.WriteLine(newVar.Name);
newVar.Age = 24;

Die Variable c ist dabei die Instanz eines beliebigen Objekts. Der Kompiler geht nun hin und erzeugt einen neuen anonymen Typ mit den Feldern Namen und Age (die Information hat er vom Objekt, dessen Werte zugewiesen werden sollen) und weisst deren Werte zu. Vorteil: Das Ganze ist typsicher und wird durch die Entwicklungs-Umgebung unterstützt (Auto-Completion, etc.).

Ebenfalls ein Schwerpunkt im Web-Bereich: ATLAS (oder wie der Kenner sagt: XMLHTTP), einem Framework, um die Arbeit mit Web-Applikationen zu erleichtern und aus Benutzer-Sicht komfortabler zu machen. Es gibt einen neuen ATLAS-Projekttyp für VS 2005 bzw. VWDE. Größter Vorteil von ATLAS: Es wird browserunabhängig sein. Es gibt ATLAS-fähige Web-Controls und Erweiterungen, die die Arbeit mit ATLAS erleichtern sollen. Grundsätzlich bleibt aber der Nachteil: Ist JavaScript aus, geht nix mit ATLAS… Mehr dazu dann morgen oder in den nächsten Tagen…

Zuletzt noch ein Wort: .NET 3.0 gibt es schon jetzt: WinFX (“Avalon”) wird intern als .NET 3.0 bezeichnet. Das nächste .NET-Major-Release wird dann wahrscheinlich nicht 3.0, sondern 3.01 oder 3.1 sein. Wer also .NET 3.0 schon vor .NET 2.0 einsetzen möchte, sollte sich WinFX besorgen… ;-)

Weiterempfehlen:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DotNetKicks
  • MySpace
  • PDF
  • RSS
  • Technorati
  • Twitter

1 Comment so far

  1. Ginger on Januar 11th, 2006

    http://www.erotykon.ih.radom.pl @x@ http://www.erotykpl.ih.radom.pl @x@ http://www.erotykseks.ih.radom.pl @x@ http://www.ertyczne-smsy.ih.radom.pl @x@ http://www.eva-angelina.ih.radom.pl @x@ http://www.eva-henger.ih.radom.pl @x@ http://www.eva-henger-hardcore.ih.radom.pl @x@ http://www.eva-henger-hardcore-foto.ih.radom.pl @x@ http://www.eva-henger-sex-movies.ih.radom.pl @x@ http://www.eva-longoria.ih.radom.pl @x@ http://www.eva-mendes-fotki.ih.radom.pl @x@ http://www.ewa-akt.ih.radom.pl @x@ http://www.ewa-blond.ih.radom.pl @x@ http://www.ewa-gwiazda-porno.ih.radom.pl @x@ http://www.ewa-orlowski.ih.radom.pl @x@ http://www.ewa-sex.ih.radom.pl @x@ http://www.ewa-szpara.ih.radom.pl @x@ http://www.ewelina-paluszek.ih.radom.pl @x@ http://www.ewelina-porn.ih.radom.pl @x@ http://www.ewelinka.ih.radom.pl @x@ http://www.ex-dupki.ih.radom.pl @x@ http://www.exs-anonse.ih.radom.pl @x@ http://www.exstra-due-cycuszki.ih.radom.pl @x@ http://www.exstra-laski-za-darmo.ih.radom.pl @x@ http://www.exstra-xxx.ih.radom.pl @x@ http://www.exstreme.ih.radom.pl @x@ http://www.exstreme-sex.ih.radom.pl @x@ http://www.extasy.ih.radom.pl @x@ http://www.extasy-rodzaje.ih.radom.pl @x@ http://www.extazy.ih.radom.pl @x@ http://www.extra.ih.radom.pl @x@ http://www.extra-babki.ih.radom.pl @x@ http://www.extra-cyce.ih.radom.pl @x@ http://www.extra-cycek.ih.radom.pl @x@ http://www.extra-cycki.ih.radom.pl @x@ http://www.extra-dupcie.ih.radom.pl @x@ http://www.extra-dupki.ih.radom.pl @x@ http://www.extra-dupy.ih.radom.pl @x@ http://www.extra-faceci.ih.radom.pl @x@ http://www.extra-geje.ih.radom.pl @x@ http://www.extra-gify.ih.radom.pl @x@ http://www.extra-kobiety.ih.radom.pl @x@ http://www.extra-laski.ih.radom.pl @x@ http://www.extra-okazje.ih.radom.pl @x@ http://www.extra-pornole.ih.radom.pl @x@ http://www.extra-sex.ih.radom.pl @x@ http://www.extrem-seks.ih.radom.pl @x@ http://www.extremalne-fimiki.ih.radom.pl @x@ http://www.extremalne-gierki.ih.radom.pl @x@ http://www.extremalne-porno.ih.radom.pl @x@ http://www.f-nadzy-faceci-i-kobitki.ih.radom.pl @x@ http://www.faceci.ih.radom.pl @x@ http://www.faceci-do-towarzystwa.ih.radom.pl @x@ http://www.faceci-do-wynajecia.ih.radom.pl @x@ http://www.faceci-dziwki.ih.radom.pl