Ich gebe hier einen Überblick über den gegenwärtigen Stand der Technik und über Entwicklungen die sich unmittelbar abzeichnen. Dies sollte nicht mißverstanden werden als das Wunschbild einer idealen Welt, sondern als die real existierende Situation.
Wenn ich es mir aussuchen dürfte, dann gäbe es eine Welt offener Standards, die nicht abhängig wären von einzelnen Herstellern und allen kostenfrei zur Verfügung stünden. Aber wir alle müssen unser tägliches Brot verdienen und auch die Firmen verfolgen nicht das Wahre und Gute, sondern das, was Ihnen das Überleben sichern und Gewinne bringen soll.
Unsere Welt wird dominiert von den PC's auf dem Schreibtisch und den Servern in den Hinterzimmern. Jede große Firma hat auch noch ihr Rechenzentrum mit IBM-Großrechnern.
Die Revolution spielt sich im kleinen ab. Von PDA (Personal-Digital-Assistent), z.B. Palm-Rechnern, über immer intelligenter werdende Handies bis zu Computern im Format einer Armbanduhr schreitet die Miniaturisierung immer weiter voran. In fünf Jahren wird jeder ein Gerät mit sich herumtragen, mit dem er telefonieren, spielen, Musik hören und Fernsehen sehen, Fotos schießen, seine Börsenkurse abfragen, seine Termine verwalten, eMails schicken und am Kiosk bezahlen kann.
Die Industrie hofft außerdem Küchengeräte mit Intelligenz verkaufen zu können. Bald können sie mit ihrem Föhn über Schopenhauer und Kant diskutieren ;-) Es wird sich zeigen, ob die Menschen das wollen. Der ewig quasselnde Einkaufswagen im Supermarkt ist jedenfalls schon durchgefallen.
Unix wird fast nur noch als Server-Betriebssystem genutzt, außer in einigen Spezialbereichen wie z.B. CAD. Auch das verwandte Linux hat sich noch nicht auf dem Desktop durchsetzen können.
Windows NT wird zunehmend durch Windows 2000 ersetzt. Im Home-Bereich sind die miteinander verwandten Systeme Windows 95, Windows 98 und Windows Me von Microsoft dominierend. Angekündigt ist Windows XP ( = eXPerience für Erlebnis ), dass nun endlich Büro- und Homesysteme verschmelzen soll. Das hinter diesen Systemen stehende Konzept wird auch als Fat Client bezeichnet.
Dem gegenüber steht das Prinzip des Network Computing (NC), auch als Slim-Client-Prinzip bezeichnet. Dabei sollen die Programme im Netzwerk, eventuell im Internet liegen anstatt auf dem lokalen Computer. Die Computer könnten dann wesentlich kompakter und mobiler werden. Die Programme sollen auf der betriebssystemunabhängigen Programmier- und Ablaufumgebung Java basieren. Dieses Konzept wird hauptsächlich von Sun vorangetrieben.
Eine interessante Entwicklung steht uns noch bevor, wenn das Handy, der Organizer und das Internet zu einem integrierten System verschmelzen. Der WAP-Standard als WWW-Ersatz für Handies wird sicher sehr bald wieder veraltet sein. Als Nachfolger des Internet wird dann das Evernet auftreten, ein Netzwerk mit dem alle technischen Systeme und alle Mennschen überall und jederzeit verbunden sind.
Die objektorientierte Programmierung hat sich allgemein verbreitet. Dabei haben sich die "Drei Amigos" Grady Booch, James Rumbaugh und Ivar Jacobsen gegen Coad/Yourdon durchgesetzt. Die Amigos haben auch die grafische Notation "Unified Modelling Language" (UML) eingeführt, die jetzt von der Open Management Group (OMG) betreut wird. Das Tool Rational Rose ist trotz vieler Schwächen das Standard-Design- und Analysewerkzeug. Ein noch nennenswerter Konkurent ist Together.
Design Patterns (Entwurfsmuster) zeigen die Lösung von Entwicklungsproblemen auf, die in vielen Projekten immer wiederkehren. Design Patterns wurden von Christopher Alexander für die Architektur entwickelt, aber in der Softwareentwicklung übernommen. Das bekannteste Buch zu diesem Thema stammt von Gamma et. al. (auch "Gang of Four" genannt). Eine bekannte Website zu Design Patterns ist das Portland Pattern Repository. Aus dieser Idee haben sich diverse Ableger gebildet wie "Analysis Patterns" oder die "Anti-Pattern", die sagen was man nicht tun sollte.
Auf der technischen Seite setzt sich die Komponentenorientierte Entwicklung mit mit Microsoft-COM/DCOM-Technologie durch. Alternativ bietet sich noch die Java-Bean-Technologie mit Kommuniktion über Corba an. Ein Problem ist der Übergang von Klassenmodellen zu Komponentenmodellen. Mit COM+ in Windows 2000 werden auch Transaktionsverwaltung (MTS) und Message Queueing (MSMQ) integriert.
Die Entwicklung geht im geschäftsbereich in Richtung verteilter Systeme, bei denen Anwendungsteile auf mehreren Rechnern verteilt sind. Dies ist die Client-Server-Architektur. Sie wird auch als Three-Tier-Architektur oder Multiple-Tier-Architektur beschrieben. Bei Three-Tier-Architekur laufen auf einem Rechner das Benutzer-Interface, auf einem anderen die Geschäftsobjekte(Business Objects (BO)) und auf einem dritten die Datenbank. Der Hauptvorteil liegt in der Skalierbarkeit eines solchen Systems, weil die Anwendungsteile über beliebig viele Rechner (z.B. mehrere Rechner mit BOs) verteilt werden können. Eine wichtige Komponente solcher System sind deshalb Transaktionsverwaltungen wie Tuxedo oder MTS/COM+.
Das Web wird auch hier die Landschaft revolutionieren. WebServices, die über XML in durch BizTalk standardisierten Formaten miteinander kommunizieren werden viele heutige Anwendungen ersetzen.
Der Kampf der Systeme hält an. Noch ist nicht entschieden ob sich letztlich Microsoft's Visual Basic-/C#-Umgebung oder Sun's Java-Technologie durchsetzt. Visual C++ wird von Microsoft jetzt als tot bezeichnet, weil es nicht mehr in ihr neues .net-Konzept passt. C++ ist aber im Unix/Linux-Bereich weiterhin die Haupt-Programmiersprache.
Solange es noch Großrechner gibt (wahrscheinlich schon noch etliche Jahre), wird es auch weiterhin Cobol und vereinzelt PL/1 geben,
Andere Sprachen sind praktisch bedeutungslos: Wer kann heute noch Pascal, Modula, Oberon, Eiffel, Smalltalk, Lisp, Prolog, Forth, ... ? Hier und da gibt es ein paar Exoten, aber den großen Durchbruch hat keine dieser Sprachen erfahren.
Oracle ist noch unbestrittener Marktführer für Datenbanken in Client-Server- Umgebungen. Microsoft-Access wird eher in lokalen PC-Anwendungen verwendet. In noch bestehenden Host-Umgebungen ist auch IBM's DB/2 noch vertreten. Immer mehr Marktanteile gewinnt Microsofts SQL-Server-System.
Objektorientierte Datenbanken haben sich nicht durchsetzen können.
Auf der Browser-Seite ist Microsofts Internet Explorer zum unangefochtenem Marktführer geworden. Netscape ist durch jahrelange Versäumnisse in der Weiterentwicklung stark zurückgefallen und seine neue Version 6 konnte in den Punkten Performanz und Stabilität nicht überzeugen. Eine stärkere Konkurrenz wäre wünschenswert.
Die vielen Erweiterungen von HTML haben sich bisher nicht durchsetzen können. Die Liste der unbeliebten Features ist lang: z.B. Cookies, Frames, DHTML, JavaScript haben sich nicht durchsetzen können. HTML 3.2 ist immer noch das Maß aller Dinge. Vermutlich werden sich XML-Techniken wie Stylesheets und XHTML noch eher durchsetzen können. Für ansprechende dynamische Inhalte wird Flash immer beliebter, dessen praktischer Nutzen aber fragwürdig bleibt.
Das Hauptformat für die Bereitstellung von Dokumenten ist das pdf-Format, das mit dem frei verfügbaren Acrobat-Reader gelesen werden kann.
Serverseitig ist die Situation uneinheitlich. Während Microsoft versucht auch dies in seinen Griff zu bekommen, werden viele Systeme mit Freeware betrieben. Die Skript-Sprache PHP hat weite Verbreitung gefunden und für kleine Systeme wird gerne die Datenbank mySQL eingesetzt. Auch der Apache-Server ist weit verbreitet.