Journal ·Politik ·Technik

Die Zukunft von .NET

In diesen Tagen habe ich schon ein leicht beklemmendes Gefühl. Die aktuell laufende BASTA! und die vorherige /build// Messe können mir dieses Gefühl auch nicht nehmen.
Seit Microsoft die erste Beta von Windows 8 herausgebracht hat und HTML5 incl. JavaScript als deren Hauptthema für die Entwicklung von Apps für die neue Metro Oberfläche angekündigt hat, geht in der Entwicklergemeinde die Angst um, das .NET nun am Ende ist.
Doch was bedeutet nun dieses Metro UI eigentlich für uns Entwickler?

Metro UI, Server, Tablets und das Büro

Microsoft sieht seit Jahren neidisch auf Apple und deren Erfolg im Otto-Normal-Verbrauchen Markt. Tablets, Smartphones und gemütliche Wohnzimmer Geräte sind ein wichtiger Bestandteil der Zukunft und ein immer wichtiger werdender Markt. Und Microsoft hat Anfangs einfach den Zug verpasst. Windows Mobile 6 und 6.5 waren schlecht und nicht zukunftstauglich. Zune war zwar toll, aber nicht Weltweit erhältlich und Microsoft Windows bisher nicht Touch-tauglich. Mit Windows Phone 7 und der neuen Metro Oberfläche hat Microsoft nun einen Schritt in die Tür geschafft und die soll nun natürlich weit aufgestoßen werden. Metro mit Windows auch für Tablet PC’s zu haben ist der nächste Schritt. Der Markt ist groß und bislang gibt es eigentlich nur das iPad von Apple. Viele die sich heute noch einen Laptop, Netbook oder einen schwächeren PC‘ gekauft haben, würden zum Surfen, eMail’s schreiben, Online shoppen, Fotos anschauen oder den eigenen Blog pflegen lieber ein Tablet kaufen. Für den anspruchsvolleren Benutzer, für die Steuererklärung, das neuste PC-Game oder für den kleinen Hobby-Entwickler ist ein Tablet aber nichts.

Microsoft Windows ist auf beinahe 94% aller PC’s installiert (Apple hat 5% und Linux etwa 1%) und der größte Teil diese PC’s sind Office-PC’s, sie machen den größten Teil der Rechner aus und diesen Markt will Microsoft nun komplett ignorieren? Und das nur weil sie ein bisschen vom Mobile-Markt abhaben wollen?
Das Microsoft mit seinen Mobile-Plänen seinen wichtigsten Markt vergisst und seine Lebensgrundlage total übersieht, könnte in Zukunft das wirkliche Problem werden.
Microsoft hat im Office Bereich, und dieser Bereich ist der größte Bereich überhaupt, die absolute Marktmacht. Und nun soll Windows 8 mit einer Tablet PC Oberfläche überall hinkommen?
Wie stellt man sich dass dann vor: soll der Finanz-Trader mit fünf Tablets auf dem Sofa sitzen und nicht mehr auf seine fünf Monitore auf dem Schreibtisch schauen und mit Tastaur und Maus bedienen, soll er sich wirklich komplett umgewöhnen und seine angewöhnte Effizienz verlieren?
Soll der Software Entwickler nun auf einer Touch-Tastaur auf einem Mini-Bildschirm (der zur hälfte mit der Tastatur bedeckt ist) arbeiten und entwickeln? Soll der Arbeitsamt-Mitarbeiter nun mit einem Touch PC die ganzen Daten der Arbeitssuchenden eingeben? Soll der Telekom-Mitarbeiter im Büro mit einem Touch-PC arbeiten oder der SAP Entwickler sein ABAP über eine Touch-Tastatur im nicht mehr kompatiblen SAP System eingeben?
Ich frage mich z.B. wie Excel als Metro Anwendung aussehen soll. Ich hab da nicht einfach kleine Tabellen im Kopf, die das Haushaltsgeld verwalten oder so sondern die großen Sheets, die im Finanzbereich und im Controlling eingesetzt werden. Extrem komplexe Anwendungen die 10-Jahres-Planungen möglich machen oder dem Trader beim Pricing helfen.

Die grundsätzliche Idee hinter Metro ist toll und bildet die Basis für eine Menge zukünftiger Betriebssystemen und Eingabeoberflächen – und mit Kinect ist es sicherlich ein Traum für alle Minority Fans, aber man muss sie auch differenziert betrachten und sehen, dass sie (noch) nicht überall hingehört – zumindest noch nicht in diesem Zustand.

.NET und die Zukunft

.NET wird auch in Zukunft, mindestens für einige Jahre, zukunftstauglich bleiben. Berufsschulen und Universitäten steigen langsam vom in die Jahre gekommenen Java auf C# um und wollen schliesslich auch Entwickler hervorbringen, die eine Zukunft haben.
Angekündigt ist bisher nur HTML5 als Hauptsprache für die Windows 8 Apps, also für UI-Designer. Aber diese Apps müssen nach wie vor immer noch irgendwas aufrufen – und das muss auch weiterhin entwickelt werden. Eventuell wird es wieder C++ sein, aber vielleicht auch weiterhin .NET. Genau kann man das ja noch gar nicht sagen.
Ich kann sehr gut verstehen wie sich die ganzen .NET Entwickler fühlen. Warum haben wir uns in den letzten 10 Jahren mit einer Technologie beschäftigt, die in unseren Augen der logisch nächste Schritt nach C, C++ und Java war und nun einfach sterben soll? Sollen wir nun zurück zu C, C++, Java oder gar PHP gehen?
Nein! ich denke C# ist inzwischen zu weit verbreitet um komplett eingestellt zu werden. .NET mit all seinen Bestandteilen ist eines der wichtigsten Standbeine von Microsoft und kann von einem so großen Unternehmen nicht aufgrund eines langjährigen Wunsches eingestellt werden.
Aber wir Entwickler sollten immer im Kopf behalten: .NET ist ein Bestandteil von Microsoft. C, C++, Java und Co. nicht. Diese Sprachen sind auch dann noch verfügbar, wenn Microsoft untergegangen ist oder einfach alles einstellt. Es gibt auch so noch mehr, Ruby und Phyton sind ebenfalls Sprachen die weitläufig genutzt werden, sogar Google setzt auch Phyton. Und als Entwickler muss man halt immer auf Änderungen reagieren können. Programmiersprachen kommen und gehen, Binärcode bleibt (zumindest solange es noch keine Quantencomputer gibt).

Fazit

Ich denke derzeit liegt einfach viel Unsicherheit in der Luft. Niemand weiß etwas, Microsoft am wenigsten, die Entwickler haben Angst und alles andere ist nur viel Wind um nichts.
Wahrscheinlich wird Windows 8 super auf Tabelt PC’s laufen und sich überhaupt nicht auf Office-PC’s durchsetzen. Dadurch wird Windows 7 das neue XP und die nächsten 5-10 Jahre auf allen Rechnern laufen und .NET wird immernoch gebraucht, und sei’s nur für reine Server Anwendungen.
Und selbst wenn es wirklich tot ist … man kann auch wieder zurück zu C++, PHP oder Java gehen. Das nächste Visual Studio ist bestimmt genausogut wie Dreamweaver oder Frontpage 🙂

Weitere Informationen sind hier bei Heise developer zu finden…