Wernher von Braun hat den Satz geprägt: Technischer Fortschritt geht vom Primitiven über das Komplizierte zum Einfachen. Die Frage ist, stimmt das auch für die Softwareindustrie und die Anwendungsentwicklung?
Ein kurzer Blick auf die Programmiersprachen:
Was ist passiert? Microsoft hat die einfache Programmierumgebung de facto vernachlässigt und abgekündigt und die Nachfolger zu C++ in Gestalt von C# und Visual-Basic.Net stehen der Komplexität von C++ nicht nach. Einige Programmierer haben angesichts dieser Entwicklung entschieden, dann doch von Visual-Basic zu Java zu wechseln, weil das auch nicht komplizierter ist, als C# und ausserdem plattformunabhängig.
Es gibt interessante Hypothesen dazu, warum Microsoft diesen Weg zurück ins Komplizierte gegangen ist. Ein sehr menschliches Phänomen liegt sicherlich darin, dass sich ein Experte in einem komplizierten Gebiet stolzer und kompetenter fühlt, als ein Experte in einem einfachen Gebiet. Dabei bleibt es aber nicht, der Experte im Komplizierten sieht eine größere Abhängigkeit Dritter von seinem Know How und damit eine höhere Arbeitsplatzsicherheit für sich, wenn er beim Komplizierten bleibt oder das Komplizierte sogar weiter ausbaut.
Marktwirtschaft und Wettbewerb nehmen darauf aber keine Rücksicht:
Was ergibt sich daraus: das Komplizierte darf nie als Endpunkt der Entwicklung betrachtet werden, Vereinfachung muss immer ein Ziel an sich sein. Die Entwicklung in der GUS hat das zur Kultur erhoben:
Und Microsoft: Anwender fordern seit langem, Visual-Basic 6 beizubehalten oder zu Visual-Basic 7 weiterzuentwickeln. Fakt ist: Microsoft hat trotz anderer Ankündigungen Visual-Basic auf Windows 8 bereitgestellt, dazu http://msdn.microsoft.com/nb-no/vbrun/ms788708%28en-us%29.aspx. Das ist doch schon ein richtiger Schritt in Richtung Einfachheit.
Wie sieht es aber mit den neuen Themen aus?
Microsoft Lightswitch als Programmgenerator für CRUD-Anwendungen (Create – Read - Update – Delete), also die klassische Datensatzverarbeitung mit Entrypanels und Listpanels mit Wahl der Zielsprache C# oder VB# ist ein guter Versuch, der Einfachheit wieder eine Chance zu geben. Aus der Sicht etablierter Produktanbieter gibt es das Feedback „too little, too late“, aus der Sicht von Programmier-Anfängern ist die Funktionalität aus Lightswitch heraus zu gering, so dass immer sehr schnell die Ebene der komplizierten Programmierung in C# oder VB# erreicht wird. Bemerkenswert ist, dass Microsoft für Lightswitch nicht die Werbetrommel rührt, das spricht schon für sich. Auch die Presse vermerkt dies, z.B. „Visual Studio LightSwitch: Will it emerge from sleeper status?“
Mein Lieblingssatz daraus „mobile + cloud + data services is the holy trinity of software today“
App-Entwicklung für Smartphones ist sicherlich ein akutelles Thema, Microsoft hat mit Silverlight und .Net-Programmierung einen komplizierten Ansatz. Touch-Develop wurde als einfacher Ansatz präsentiert, wird aber spontan von vielen Programmierern als primitv eingestuft oder auch „zu einfach“ (dazu ein Zitat von Einstein: „Keep it simple but not too simple“). Der eigentliche Ansatz zur Einfachheit sollte auf HTML5 und JavaScript basieren – das ist angekündigt, aber noch nicht freigegeben. Die Chance zur Einfachheit ist also durchaus gegeben.
Microsoft Kinect ist ein äußerst kreatives Produkt von Microsoft mit sehr vielen Möglichkeiten. Findige Programmierer haben kreative Anwendungen in der Produktionstechnik, Qualitätskontrolle etc. gefunden und Microsoft ist eher darauf gestoßen worden, mit Kinect über den Computerspielebereich hinaus zu gehen. Microsoft hat inzwischen Kinect auch für die Nutzung unter Windows freigegeben und es wird sicherlich interessant, die Entwicklung zu beobachten.