October 2003 - Posts
Der letzte Tag der PDC ist vorbei. Donnerstag wurden fast nur noch Panel Discussions und Wiederholungssessions angeboten. Viele Teilnehmer schienen schon abgereist, denn die Geschwindigkeit des WLAN-Internetzugangs war meistenteils phänomenal. Nichtsdestotrotz waren einige Räume immer noch überfüllt und die Teilnehmer mussten das Geschehen von draußen auf einem Bildschirm verfolgen:

Einen Teil der Attraktivität der Diskussion machten auch einige illustre Experten aus. Hier ist z.B. Anders Heijlsberg inmitten einer Runde von Experten für verschiedene .NET Sprachen zu sehen:

Microsoft wollte sich in den Diskussionen "zum Anfassen" präsentieren und die Teilnehmer sollten Gelegenheit haben, ihnen auf den Nägeln brennende Fragen ohne Scheu direkt den Verantwortlichen zu stellen. Die gaben sich z.T. ganz locker (hier das Vorstellungsbilder der Runde um Anders)

So war die Gelegenheit schon recht einmalig, mit dem Entwickler des CLR Garbage Collectors oder dem Kopf hinter C# zu sprechen. Leider war es nicht in allen Diskussionen gleich einfach, den Fragen und Antworten zu folgen. Nuscheln bei Fragern aus dem Publikum und Antworten von Panelisten plus eine sehr statische Atmosphäre auf der Bühne machten das Zuhören z.T. sehr anstrengend.
Alternativ bot sich aber an, Hand an die neuen Technologien im hands-on Lab zu legen. Die 650 PC dort waren heute auch nur recht spärlich besetzt, so dass es nicht schwer war, ein wenig mit Avalon & Co zu spielen.

Leider ist der Stoff gigantisch und die Doku gewohnt dünn. Allzu tief bin ich daher nicht hinabgestiegen - habe mich auf der anderen Seite aber auch nicht auf die Tutorien eingelassen, die mir immer zu sehr geführt und kleinschrittig sind. Trotzdem war es interessant, einmal selbst XAML zu schreiben und in den WinFX Namespaces zu schnüffeln. Quasi jede Eigenschaft von Controls deklarativ animieren zu können ist einfach cool :-) Vorerst werde ich aber wohl nicht viel Zeit mit Whidbey verbringen. Ich würde es auch nur auf einem neuen Rechner installieren, weil mein Laptop schon übervoll ist. Dazu kommt eben die doch recht dünne Doku (vor allem zu WinFX), die das Selbststudium sehr mühsam macht. Angesichts vieler Projekte in meiner Pipeline werde ich mich also etwas von der bleeding edge Technologie fernhalten - aber ohne sie aus den Augen zu verlieren.
Mein persönliches Fazit der PDC:
I´ve seen the future! Sehr spannende Technologien wurden vorgestellt, die aber 2-3 Jahren in die Zukunft reichen. Da heißt es, nicht den Kopf verlieren, sondern einen Schritt nach dem anderen tun. (Oder um mit den Worten von RD Kollege Christian Weyer zu sprechen: Wir müssen jetzt erstmal schauen, in welchen Bereichen feature fucking betrieben wurde und wo es um solide nützliche Neuerungen geht.) So werde ich erstmal ADO.NET 2.0 und Yukon und ObjectSpaces anschauen, sobald ich Zeit und Platz finde für die Betas, die es auf der PDC gab. Alles andere auch aufregende muss warten.
Für die Vorträge hat es sich kaum gelohnt, um die halbe Welt zu fliegen. Nicht wegen der Inhalte, sondern weil es genauso effektiv, nein effektiver wäre, sie auf Video anzuschauen (wie es viele, die nicht mehr in die übervollen Räume gepasst haben, ja auch tun mussten). Für die persönlichen Kontakte war es natürlich schon nett, dort gewesen zu sein. Immerhin waren wohl mehr deutsche Entwickler und Community Member und Microsofties auf der PDC im fernen LA anwesend, als auf einem Event in Deutschland. Aber ist es wirklich effektiv, für diese Kontakte 5 Tage so weit zu reisen? Hm... ich denke, das müsste auch mit weniger Aufwand gehen. Also, eine Herausforderung an die Veranstalter in Europa und Deutschland.
Reaktion
Zur Ehrenrettung des formalen Ablaufs der PDC: Gerade hat die Organisation bekanntgegeben, man würde sich bemühen, auf das Feedback der Teilnehmer reagieren, die sich beschwert hätten, die Sessions seien so überfüllt. Als Abhilfe würden nun heute schon 14 Vorträge wiederholt und morgen weitere. Darüber hinaus erhielten alles TN eine DVD mit den Videos der 10 populärsten Sessions. (Die DVDs mit allen Session-Videos ist kostenpflichtig ($195 für Teilnehmer, wenn ich nicht irre).)
Feedback
Die PDC stellt nicht nur Technologien vor, sondern dient Microsoft auch als Forum, um Feedback einzusammeln. Insofern ist es auch interessant zu hören, wann öffentliches Feedback in Form von Applaus gegeben wird. 7500 Entwickler bei einer Keynote sind da natürlich etwas verhaltener als 200 in einer Breakout Session. Dennoch einige Beispiele ohne Ansehen des Auditoriumsgröße: Unerwartet wenig Applaus hat z.B. das in Whidbey wieder eingeführte Edit-Continue Debugging bekommen; viel Applaus bekamen dagegen eine coole Tablet PC Demo und eine neue einheitlichere Architektur für ADO.NET Managed Provider (mit der eine wirkliche generische Datenbankprogrammierung möglich wird).
Entwickler sind also doch nicht so leicht oder sicher zu begeistern, wie Microsoft es manchmal denkt. Sie mögen Cooles, Unerwartetes, sie wollen auch von Leiden erlöst werden (Managed Provider); sie applaudieren aber nicht, wenn sie etwas bekommen, was sie für selbstverständlich halten und was ihnen weggenommen wurde (Edit-Continue-Debugging). Entwickler haben also - entgegen allen Zuschreibung eines Zuviel an Rationalität in manchen Lebensbereichen :-) - eine ausgeprägte Gefühlslage. Microsoft tut also gut daran, die immer wieder, breit und so früh wie möglich in die Entwicklung einzubeziehen.
Anwendung
Die mit viel Applaus bedachte Tablet PC Anwendung

hat übrigens wirklich Erstaunliches geleistet. Der Screenshot zeigt einige von Hand eingegebene Formelschnipsel auf der linken Seite. Sie beschreiben das Flugverhalten eines Baseballs für eine Simulation. Auf der rechten Seite ist nun eine kleine Zeichnung eines Baseballspielers zu sehen mit einem Baseball (kleine Kreis). Die Anwendung hat dann möglich gemacht, den Baseball mit 2-3 Mausklick mit den Formeln zu animieren! Das elektronische Papier des Tablet-PC ist damit zum Leben erwacht. Toll!
Angstfreiheit
Was WinFX oder gerade auch ASP.NET 2.0 an Erleichterungen bringen werden, ist schon erstaunlich. Gerade bei ASP.NET Sessions war daher immer einmal wieder hier und da ein Unken zu hören, Programmierer würden ja in Zukunft arbeitslos. Wo bisher mit Leidensmiene 1000 Zeilen Infrastrukturcode mühsam entwickelt wurden, sind zukünftig in manchen Bereichen nur noch 2-3 Zeilen Code und ein wenig Deklaration nötig. Microsoft hat also versucht, wirklich zuzuhören und sinnvolle RAD-Funktionalität zu liefern.
Ist diese Furcht vor Arbeitslosigkeit aber wirklich begründet? Nein! Ich denke, alle Entwickler können ganz Angstfrei in die Zukunft schauen. Ihr Problem wird nicht sein, dass sie durch Wizards oder Case Tools arbeitslos werden. Im Gegenteil! Infrastrukturcode zu schreiben, war noch nie eine Tugend und hat immer vom Wesentlichen, der Geschäftslogik abgelenkt. Die ist deshalb oft zu kurz gekommen (im Hinblick auf Fehlerfreiheit, Umfang, Struktur usw.). Die gewonnene Zeit kann also zukünftig viel besser dort eingesetzt werden, wo der Anwender auch etwas davon hat. Darüber hinaus jedoch, wird es morgen schlichtweg noch mehr zu tun geben, weil die Zahl der "PCs" bzw. der Zielgeräte für Code, wie wir ihn heute schreiben, in den nächsten Jahren explodieren wird. Tablet PCs, PDAs, SmartPhones, SmartWatches und andere neue Form Factors werden den heutigen Desktop-PCs und Laptops zur Seite gestellt werden. Welche Chancen für neue Anwendungen sich damit ergeben, können wir heute wahrscheinlich noch gar nicht ermessen. Wir müssen diese Welt wohl erst auch ein wenig selbst erleben. Aber "always online" und "ubiquitous computing" wird kommen, daran zweifle ich nicht. Der Verkauf des SmartPhone SDK inkl. eines SmartPhone auf der PDC und das Interesse dafür (die Schlangen beim Verkauf waren immer lang) zeigen, dass es wirklich losgeht. Und die Programmierung eines solchen Nicht-PC Devices ist mit VS.NET 2003 denkbar simpel: Gerät auspacken, per Kabel an den PC anschließen, Emulator/SDK auf PC installieren, VS.NET öffnen, Smart Device Projekt in VS.NET anlegen, ein wenig kodieren - und am Ende mit F5 die Anwendung starten und gleich auf dem Device deployen. Fertig!
SmartPhone
Ich hab mir auch ein solches SmartPhone gegönnt:

Und es macht echt Laune, dafür Anwendungen so grundsätzlich einfach zu schreiben, wie für den Desktop. Ein paar Dinge können natürlich beim SDK noch verbessert werden. So liegt er z.B. noch nicht vollständig in Managed Code vor. Aber das wird sich schon bald ändern. In jedem Fall halte ich ein SmartPhone für eine bessere Investition als ein PDA. Der PDA hat zwar ein größeres Display, ist aber letztlich ein standalone Device (außer er wird mit einer wireless Netzwerkkarte nachgerüstet). Mit einem SmartPhone bekommt man aber sofort zumindest erstmal die normale Handy-Funktionalität: telefonieren (TriBand!), SMS, Telefonbuch. Darüber hinaus: Kalender, "echte" Kontakte, Synchronisation mit Outlook, ein kleiner IE, den Windows Media Player (MP3s hören ist kein Problem) und ein ganzes vertrautes Betriebssystem - das sich dann auch noch voll mit C# oder VB.NET programmieren lässt. Das ist einfach cool. Nein, das ist am Ende sogar nützlich. Denn ein Handy ist der WebService-Client par excellance! (Jetzt fehlen nur noch die WebService-Angebote, z.B. von bahn.de, dict.leo.org, telefontarife.de und vielen, vielen anderen.)
Ich würde also sagen: Bei der Anwendungsentwicklung sollten wir alle zukünftig einen etwas weiteren Blick haben. Nicht nur in hausbackenen Desktopkategorien denken und schon Heldengefühle bekommen, wenn man sich traut, an Komponenten oder gar Verteilung zu denken. Nein, wir sollten alle bei jeder Anwendung ausloten, inwiefern unsere Anwender noch mehr Nutzen durch andere Devices bekommen können, z.B.
- Der Chef der Baufirma macht auf Baustelle ein Aufmaß mit einem SmartPhone oder PDA und überträgt es sofort per WebService ins Büro (oder lädt es später über ActiveSync auf seinen Desktop-PC).
- Der Taxifahrer braucht kein Spezialendgerät mehr für die Nachrichten aus der Zentrale, sondern kann sie auf seinem SmartPhone in Schrift und sogar Bild (Karte) empfangen.
- Per SmartPhone den nächsten Standort eines Call-a-Bike erfragen und auf einer Karte sehen.
- Per SmartPhone Routendaten an Kuriere übermitteln oder Prozessdaten mit einem PDA erfassen.
- usw. usf.
Gerade die einfache Connectivity eines SmartPhone eröffnet ganz neue Konzepte, die mit PDAs bisher nicht oder nur schwer zu realisieren gewesen wären/sind. Bei SmartPhones müssen Daten endlich nicht mehr unbedingt auf dem Device liegen, sondern können im Internet zentral gehalten werden. Damit ist der Datenumfang nicht mehr vom Speicher der Devices abhängig. Letztlich bringt das SmartPhone endlich das zusammen, was mehr oder weniger gut bereits vorhanden war: PC in Handtellergröße (PDA), mobile Telefonie (Handy), mobiles Internet (WAP).
Aber genug! Ich komme wohl ins Schwärmen :-)
Mal was ganz anderes und sehr erfrischend auf der PDC ist der Segway:
Den gibt es dort zum Ausprobieren. Wirklich sehr cool! Ein zweirädriges Vehikel, dass nicht umfällt und mit bis zu 20km/h angetrieben von E-Motoren fährt. Sehr futuristisch, sehr bequem. Ein echtes Erlebnis - aber leider für den Eigengebrauch noch zu teuer. Unter $5000 geht es, glaube ich, nicht los :-( Aber in Paris kann man sie sich auch leihen für eine Sightseeingtour. Ich würde sagen: auch für Geeks ein weiterer Grund mal wieder in die Stadt der Liebe zu fahren :-)
(Nebenbei bemerkt: Einen Segway auszuprobieren, macht natürlich eine Anwesenheit vor Ort notwendig. Das Erlebnis lässt sich nicht per Video o.ä. vermitteln. Events sollten sich also genau überlegen, welche Art von "Experience" sie anbieten, die es attraktiv macht, wirklich dort zu sein. Da lässt sich bestimmt auch etwas relevanteres für die Softwareentwicklung finden als ein cooles Fortbewegungsmittel.)
Der zweite Tag auf der PDC ist um, eine Nacht ist vergangen, der Jet Lag lässt nach. Und was hat mir der zweite Konferenztag gegeben? Hm... Ich denke, ich bin zwiegespalten und muss unterscheiden zwischen Form und Inhalt.
Die Form der PDC enttäuscht mich irgendwie. Das liegt nicht an der Verpflegung, die ich für gut und ausreichend halte, gerade wenn man bedenkt, dass hier 7500 Menschen bewirtet werden müssen. Überall und jederzeit kann man gratis Getränke nehmen und sich mit Snacks kugelrund essen. Das Mittagessen ist solide und es gibt sogar Metallbesteck :-)
Demotivierend sind dagegen die ständig überfüllten Sessions. Sie zwingen zu einer Entscheidung, welchen Vortrag man sich anhören möchte, denn ein Wechsel ist nur schwer möglich, weil man beim nächsten dann sehr wahrscheinlich draußen vor der Tür stehen muss. (Dort sind zwar Übertragungsfernseher angeschlossen, aber die sind oft unscharf
eingestellt und der Ton ist nicht so laut.) Und in den Sessionräumen ist es wg der großen Fülle oft sehr warm. Bei Don Box bin ich gestern auch einen Moment eingenickt (was tatsächlich nicht nur am gedrängten Sitzen und der Wärme lag, sondern leider auch an ihm; der Altmeister ist nicht bei jedem seiner Vorträge auf der Höhe seiner Kunst).
Also: Die Popularität des Events in Zusammenspiel mit den Veranstaltungsräumen machen es schwer, die Fülle an Inhalten zu genießen, finde ich. Mir stellt sich deshalb die Frage nach der Sinnhaftigkeit, mehrere Tausend Leute über den halben Globus zusammenzukarren, um ihnen ein Lehrervorträgen (einer spricht, viele hören nur zu) Wissen zu vermitteln. Es werde das Gefühl nicht los, dass das anachronistisch, uneffektiv und unökologisch ist.
Die Möglichkeit zur Interaktion mit dem Sprecher wird von den allerwenigsten wahrgenommen und der Gewinn durch die 2-3 Fragen (also den Live-Charakter) während einer Session steht in keinem Verhältnis zum Aufwand. Das Networking um die Sessions herum ist natürlich sehr nett und bringt etwas. Aber es ist informell und damit auch ein Stück ineffektiv. Doch dafür lohnt sich der Weg zu einem Event - nur muss der dann so weit sein und der Event so lang? Ich bin sehr, sehr gespannt zu sehen, wie die
Qualität der Videos von den Vorträgen ist. Wenn die einigermaßen geworden sind, man den Code lesen, den Sprecher verstehen (und auch mal sehen) kann, dann würde mir das völlig reichen. Nein, es wäre sogar besser, als vor Ort zu sein. Denn bei einem Video bestimme ich, was ich wie lange höre/sehe. Und ich kann beliebig zwischen den Vorträgen wechseln. Der technische Aufwand für den Mitschnitt ist hier jedenfalls sehr groß. Ich bin gespannt.
Die Form der PDC finde ich also nicht so ideal. Die Inhalte dagegen sind sehr spannend. Umso bedauerlicher, dass die Form ihre Aufnahme erschwert.
Wenn ich die für mich die Inhalte nach Interessantheit und Wichtigkeit ordne, dann kommt folgende Liste heraus:
-Smartphone: Das Smartphone von Microsoft ist real! Es wurde gestern in der Keynote gezeigt und anprogrammiert. Cooool! Ein PDA mit einem .NET Compact Framework drauf ist ja schon eine schöne Sache. Aber ein PDA leidet oft unter seiner Isoliertheit. Er ist nicht so oft mit einer Netzwerkverbindung ausgestattet, so dass auch der Datenaustausch mit dem Desktop/Netzwerk schwer fällt. Das ist anders beim Smartphone: Weil es eben ein Telefon ist, ist es mit der Welt in Verbindung. Das Display ist zwar vergleichsweise klein, aber die Verbundenheit der .NET Compact Framework Applikationen darauf mit der Welt, lassen die Phantasien hochschießen. Ein Smartphone lässt sich kinderleicht mit einem WebService verbinden, in ein paar Zeilen sind damit Emails verschickt und es bietet sogar Zugriff auf Ortsdaten (wo befinde ich mich gerade?). Mit einem Smartphone kann man immer und überall (wo ein GSM-Netz ist) online sein. Das halte ich für einen Quantensprung für Software bzw. Devices, von dem wir noch gar nicht abschätzen können, wie weitreichend er unsere Gewohntheiten im Umgang mit "PCs" und auch miteinander verändern wird. Die simplen SMS haben ja schon eine quasi magische Wirkung auf Millionen ausgeübt und Handys nach vorne katapultiert - was können dann erst echte Applikationen in jedermanns Tasche bewirken? Ich bin seeeeehr gespannt - und werde mir gleich heute (wenn es noch klappt) einen Smartphone SDK kaufen. Wasfürein Spielzeug zu Weihnachten :-)))
-WinFS: Das neue Dateisystem von Longhorn ist für mich der größte Sprung, den Microsoft in der Zukunft macht. In WinFS werden nur noch Objekte gespeichert, vom kleinsten Kontakteintrag bis zur großen Bilddatei. "Dateien" im heutigen Sinn gibt es darin zwar noch, aber sie stellen sozusagen einen Sonderfall dar. Heute speichert das Filesystem Dateien und der Inhalt der Dateien ist für das Filesystem uninteressant. Spezielle Programme wissen, wie sie damit umzugehen haben: Word mit Word-Dokumenten, Paint mit
BMP-Dateien, Outlook mit PST-Dateien. Morgen speichert das Filesystem aber nicht mehr einfach Blobs, sondern diese Blobs haben Struktur. Jeder Datei können beliebig viele Eigenschaften anhängen. Eine Datei ist damit dann im Grunde eine Zeile in einer Datenbanktabelle, die eine Spalte für den unstrukturierten Dateiinhalt (z.B. den Text im Word-Dokument) hat, aber auch viele Spalten für strukturierte Informationen (Metadaten) über diesen Dateiinhalt hinaus. Für eine word-Datei könnten das Autor, Wortanzahl,
Abstract usw. sein, für einen Outlook-Kontakt Name, Email-Adresse, Tel usw. Dem Dateisystem (oder eigentlich müsste es "Objektsystem" heißen) ist dann auch keine "Datei" mehr zu klein. WinFS wird die universelle, in das Betriebssystem integrierte Datenbank. Das ist revolutionär!
-Avalon: Die Art & Weise, wie mit Avalon zukünftig Benutzeroberflächen deklarativ und getrennt vom dahinterstehenden Code realisiert werden können, wird nicht nur das Aussehen von Programmen verändern, sondern auch den Softwareproduktionsprozess. In der Keynote am Montag hat Adobe z.B. eine Designtool für Avalon XAML Dateien vorgestellt (eine Abwandlung seines Video-Schnittprogramms After Effects), mit dem ein Designer das Aussehen eines Windows Longhorn Programms völlig getrennt vom Entwickler bestimmen kann. Es ist damit eine Trennung von Frontendgestaltung und Programmierung wie bei Web-Projekten auch bei der Entwicklung von Desktop-Software zu erwarten. Programmierer, die sich heute schon nicht wohl mit der unseligen GUI-Gestaltung fühlen, werden es in Zukunft auch nicht mehr tun müssen. Das entlastet sie für andere Aufgaben (Geschäftslogikprogrammierung) und wird die Qualität der Benutzerschnittstellen hoffentlich in ästhetischer Hinsicht und in puncto Benutzbarkeit erhöhen. Programmierer sind einfach und waren nie Gestalter. Zukünftig müssen sie es also nicht mehr vorgeben. Das ist revolutionär (und bietet auch die Mac-Welt nicht, selbst wenn dort immer schon GUIs hübscher waren) und beeinflusst nicht nur die technichen Möglichkeiten, sondern den Softwareentwicklungsprozess.
-Yukon: Die Integration der CLR in die nächste SQL Server-Version ist schon beeindruckend. Gestern wurde gezeigt, wie man eigene Klassen als Spaltentypen für SQL Server-Tabelle definieren kann. Das Paradigma der atomaren Spalteninhalte des relationalen Datenmodells ist damit überholt. Sie wollen eine Struktur wie Point oder sogar ein komplexes Objektgeflecht in einer Spalte speichern? Kein Problem! Und nicht nur das! Sie können in diese Strukturen hinein abfragen und sogar in SQL-Anweisungen
Methoden darauf aufrufen! Das ist revolutionär für die Microsoft-Welt (wenn auch das Konzept einer gehosteten Runtime oder strukturierter Spalten nicht neu ist) und bietet wunderbare Chancen. Allerdings müssen wir sehen, welches Feature wie performant läuft und welche Organisation von Daten und Code vorteilhaft ist. Sicherlich bestehen zukünftige Datenbanken dann nicht nur aus einer Tabelle mit einer strukturierten Spalte und sicherlich soll Yukon auch nicht die .NET Enterprise Services als Applikationsserver ersetzen. Was aber der richtige Mix ist, muss sich erst herausschälen. (Deutlich ist jedoch, dass Yukon so aussehen muss, wie es ist, damit WinFS seine Leistungen bieten kann. Denn die Grundlage des neuen Dateisystems ist der SQL Server.)
-Indigo: Indigo als neue vereinheitlichte Kommunikationsinfrastruktur ist für mich weniger greifbar als die anderen Technologien. Die versprechungen sind schön, das Programmiermodell konsequent und endlich steht die Welt auf den Füßen (messagebasierte Kommunikation zwischen verteilten Komponenten ist der Normalfall, RPC der Sonderfall) - aber am Ende sehe ich noch keinen wirklich kategorial neuen Ansatz. Hier fehlt die Revolution etwas (naja, ist ja auch mal schön :-) - oder ich weiß noch nicht genug darüber.
Vor dem Event hätte ich nicht gedacht, dass meine Prios so aussehen würden. Da dachte ich, Yukon sei das wichtigste, spannendste. Aber die Welt ist bunt und nicht immer so, wie wir sie erwarten.
Inhaltlich hat sich die PDC also voll gelohnt. Sie ist ein Blick weit in die Zukunft (Longhorn mit Avalon, WinFS usw.), aber zeigt auch viel unmittelbarere Chancen auch (Smartphone, Yukon, ADO.NET 2.0, ASP.NET 2.0 usw.). Ihren Zweck der Vorausschau auf die Softwareentwicklung hat sie damit voll erfüllt. Keine Frage. Aber muss ich dafür nach LA fliegen? Hm...
Gewaltig
Nun bricht schon der zweite Tag der PDC an und ich habe noch nichts in meinem Blog. Hm... Woran liegt es? Ich glaube, an einer gewissen Unsicherheit, was ich zur PDC 2003 sagen soll. Auf der einen Seite ist alles gewaltig (und) spannend. Das beginnt beim Portal der PDC beim Convention Center in Los Angeles

setzt sich fort bei der Teilnehmerzahl von mehr als 7500 Entwicklern - die PDC ist ausverkauft! -, die eine unglaubliche Masse darstellen, wenn sie wie für die Keynote von Bill Gates und Jim Allchin

in einem Saal zusammenkommen (und dort auch 3,5 Std (!!!) ohne Pause und mucksmäuschenstill sitzen bleiben - beeindruckend und ein Zeichen für die positive Spannung erzeugt durch das demonstrierte)

oder sich zum gemütlichen Mittagessen :-) versammeln müssen

Alles ist hier in den USA einfach immer etwas größer. Aber bisher klappt die ganze Organisation sehr gut, finde ich. Immer wieder stehen Mengen an "Schülerlotsen" an allen Stellen und dirigieren die fließende Masse.
Nachteilig ist jedoch, dass das für alle frei zugängliche Netzwerk (Kabel oder Wireless) schnell überlastet ist. Und die Sessionräume sind schnell überfüllt. Wechseln zwischen Vorträgen wird damit sehr schwer. Eine unschöne Situation, denn dann kann man wirklich nur einen kleinen Ausschnitt des ebenfalls gewaltigen Programms von mehr als 150 Vorträgen wahrnehmen. Aus dem Angebot die für mich interessanten Sessions auszuwählen hat schon bestimmt 20 min gedauert (im Foto geld hervorgehoben); für jeden Timeslot sind bestimmt 4 oder 5 herausgekommen:

Wie ich gehört habe, sollen jedoch fast alle Sessions auch in 1-2 Wochen als Videos verfügbar sein (online? DVD?). Darauf bin ich sehr gespannt. Wenn das wirklich gut klappt, dann ziehe ich es vor, die Präsentationen darüber zu verfolgen. Das hat dann mehrere Vorteile: Ich kann beliebige viele anschauen bzw. in sie hineinschnuppern; und ich kann über langweilige Passagen hinwegspulen. Darauf bauend war mir gestern auch das persönliche Gespräch mit Kollegen oder in der Ausstellungen wichtiger, als mich noch in letzter Minuten in einen Sessionraum zu zwängen.
Don Box hab ich mir allerdings dann doch gegeben (oder gegönnt?). Ein interessanter Vortrag zum Thema Kommunikation in verteilten Anwendungen in der Zukunft.
Informationsflut
Und damit bin ich wohl schon bei meinem Problem. Stellvertretend dafür ein Blick in die Konferenztasche:

Zeitschriften ohne Ende, dickes Buch zum Thema Security, CDs ohne Ende, Müllwerbung ohne Ende. Einfach von allem viel. Berge an Informationen - und ein T-Shirt um den ersten Schweiß abzuwischen. Longhorn, Whidbey, Avalon, Indigo, WinFS, WinFX, ObjectSpaces und XAML sind nur einige Begriffe, um die es auf der PDC 2003 geht. Und wenn auch der .NET Framework für alles zentral ist, so lauern doch Revolutionen überall.
Avalon: Microsoft wird mit der zukünftigen Windows-Version Longhorn die Programmierung von Benutzerschnittstellen grundlegend verändern. Rich Client GUIs werden dann ähnlich wie ASP.NET Seiten definiert. Präsentationsschicht (definiert in Form von XAML XML-Dateien) und Code werden getrennt. Für Intranet-Anwendungen tritt der Browser damit sehr weit in den Hintergrund. Nicht dass ASP.NET tot wäre, nein! Aber ASP.NET wird wirklich nur noch dort einen Platz haben, wo der Client nur Minimalanforderungen (HTML) erfüllen kann. In Windows-Netzwerken wird es nur noch Rich Client GUIs geben - die aber sehr, sehr anders aussehen werden. Ich habe mich stark an GUIs auf dem Mac erinnert gefühlt. Alles wird bunter, bewegter. Die ganze Ästhetik von Windows wird komplett überholt. Graue Buttons auf grauen Dialogen gehören dann der Vergangenheit an. Denken in Bitmaps wird abgelöst durch Denken in Vektorgraphiken.
WinFS: Das Dateisystem der zukünftigen Windows-Version wird komplett anders sein als heute. Wir werden weniger in Dateien, als in "Entitäten" denken. Wir werden im Dateisystem Kontakte, Termine - und auch Dokumente speichern. Der Übergang von Dateisystem zu herkömmlicher Datenbank scheint fließend. Dem allen liegt wohl auch SQL Server als universelle Persistenzengine zugrunde. Zunächst hatte ich bei meiner Sessionauswahl gedacht, WinFS sei für mich nicht so interessant. Yukon - die neue SQL Server Version - hat mich mehr interessiert. Inzwischen bin ich aber im Zweifel, ob das so richtig ist. Vielleicht wird andersherum ein Schuh draus: Yukon ist nett, aber im Grunde immer noch dasselbe wie bisher. Die Möglichkeiten des Dateisystems aber, als Kombination aus bisherigem Paradigma, Exchange WebStore und Active Directory, sind jedoch etwas ganz anderes, neues.
Indigo: Der zukünftige Framework für die Kommunikation in verteilten Anwendungen. Der Normalfall wird die nachrichtenbasierte Kommunikation, der Sonderfall die RPC-Kommunikation. Microsoft erkennt mit Indigo lange überfällig an, dass Kommunikation in verteilten Anwendungen etwas grundsätzlich anderes ist als zwischen Objekten in einer monolithischen Anwendung. Don Box wurde gestern nicht müde auch seine frühere Verirrung einzugestehen und seine Läuterung zu betonen. Ich freue mich sehr über diesen Wandel - aber er bedeutet auch ein großes Umdenken bei der Softwareentwicklung. Auch wenn Indigo alles tut, um die Kommunikation einfach zu machen, so muss doch zuerst mit seinem Programmiermodell ersteinmal geplant werden.
Avalon, WinFS, Indigo: das sind die wiederkehrenden Schlagworte der PDC in diesem Jahr. Mit Longhorn wird es auch keinen .NET Framework mehr geben, sondern nur noch WinFX als Nachfolgetechnologie von Win32. Bei Win32 ging es, wie die 32 anzeigt, noch um eine sehr hardwarenahe Programmierung, bei der uns interessieren musste, wie lang Register oder Worte sind, eben 32 Bit. Bei WinFX ist diese hardwarenähe aus dem Namen raus. FX steht für Framework (oder vielleicht auch Special Effects? :-) und zeigt an, dass ab Longhorn alle Entwicklung nur noch in Managed Code erfolgt. (Oder erfolgen sollte, denn Win32 wird natürlich auch von Longhorn noch unterstützt. Also keine Angst, dass bisherige Anwendungen nicht mehr laufen würden. Rückwärtskompatibilität wird groß geschrieben bei Microsoft.)
Der .NET Framework ist mit Longhorn endlich vollständig Teil der Plattform, verschmilzt mit ihr oder ist die Plattform. Das ist gut zu hören und bedeutet, dass Investitionen heute in die .NET Framework-Programmierung zukunftssicher und -sichernd sind. Trotzdem beschleicht mich bei dem Gedanken an Longhorn & Co auch Angst.
Revolution Reloaded
Die PDC 2003 zeigt und wieder - wie auch die PDC 2000 - eine Revolution. Vieles wird mit Longhorn ganz anders (leistungsfähiger und auch einfacher). Es wird wieder einen sehr, sehr großen Berg aus Wissen zu besteigen geben. Und ich frage mich, wieviele Entwickler den Aufstieg wann beginnen werden oder können und wie hoch sie hinauf kommen. Für mich geht die Schere zwischen dem, was in Unternehmen an Technologie eingesetzt wird, und dem, was Microsoft möglich macht, weiter auseinander. Es ist schlicht schon der Wahnsinn, was Longhorn & Co alles bieten werden. Tooootal spannend und toll. Exciting! Aber es kommt eben nicht gratis. Wir müssen alle viel Umdenken und neu lernen.
Insofern ist der .NET Framework vom Jahr 2000 auch nicht isoliert zu sehen. Er war vielmehr nur der erste Schritt einer noch viel umfassenderen Neudefinition, kompletten Umgestaltung der Windows Plattform. Die Vollendung dieser Revolution wird erst mit Longhorn so ca. 2005 eintreten. Dann wird Microsoft 5 Jahre gebraucht haben, um eine neue Plattform zu definieren, die uns vielleicht wieder ein Jahrzehnt begleitet. Dann sind wir in der objektorientierten Managed Code Welt verteilter Komponenten in Service-orientierten Architekturen angekommen.
Dass diese völlige Umstellung notwendig war, bezweifle ich nicht. Dass sie so lange braucht (5 Jahre) und doch so schnell daher kommt (vielleicht nur 3 Jahre: Release .NET Fx in 2002, Release Longhorn in 2005?) ist auch verständlich. Gewaltiges wurde bewegt und das Internetzeitalter erfordert eine zügige Reaktion. Aber wie die Entwickler das mitmachen, weiß ich trotzdem nicht.
Ich für mich habe jedenfalls sehr deutlich gespürt, dass ich mich noch mehr in meinen Interessen und Kenntnissen beschränken muss. Die Web-Programmierung mit ASP.NET werde ich komplett aufgeben (abgesehen von Trivialitäten für den Hausgebrauch). Datenbanken werden mich weiter interessieren, also muss ich mich um Yukon+ADO.NET kümmern, WinFS rückt aber auch in den Bereich und muss ein Auge drauf haben. Dann noch Indigo, weil mich verteilte, komponentenorientierte Anwendungen einfach interessieren und ich es wichtig finde, ihre Vorteile weiterzusagen. Und schließlich Avalon! Mehr noch als WinForms zieht mich Avalon an, weil es endlich das zu halten verspricht, was HTML und noch mehr Liquid Motion (wie mir scheint der Vorläufer von XAML, aber - wie jetzt verständlich wird - schon 2000 eingestellt) versprochen haben: deklarative UI-Programmierung.
Es bleibt also eine Menge zu tun, zu lernen. Wo anfangen? Und wenn ich es schon nicht weiß, obwohl es mein Job ist, zu lernen und dann Wissen zu vermitteln, dann wird es noch schwerer für die Entwickler draußen. Eine große Herausforderung in den nächsten 1-2 Jahren an Zeitschriften, Verlage und Veranstalter von Konferenzen usw. Wir alle müssen die Balance finden zwischen Kontinuität und Ausbau der Kenntnisse zur heute verfügbaren Plattform .NET Fx 1.1 auf der einen Seite; und auf der anderen Seite dem Einstieg in die Motiviation und Darstellung dessen, was da kommen wird.
Aber nicht nur ich bin da auf den Zehenspitzen und muss schauen, wie ich es hinbekomme. Wie das Bild zeigt, sind es auch andere Entwickler :-)

In weiser Voraussicht hat Microsoft aber zum Glück ein zusätzliches Give-Away gegen Rückgabe der Feedback-Bögen in Aussicht gestellt :-)

So, jetzt geht es gleich zur Keynote des zweiten Tages. Mal schauen, wie sich meine Meinung, der erste Eindruck im Laufe der Woche verändert. Am Ende wird bestimmt alles gut - aber es wird nicht einfacher. Aber es wird auch nicht langweilig :-)
More Posts