zum Inhalt

1 Entwicklung von Java

1.1 Motivation und historische Entwicklung

Java ist eine Entwicklung der Firma SUN Microsystems unter der Leitung des Softwareingenieurs James Gosling. Ursprünglich als Sprache für Kleingeräte gedacht, begann er mit der Entwicklung der Sprache im Jahr 1991 und präsentierte rasch beste Ergebnisse, was ihn zur Gründung einer eigenen Firma veranlasste: FirstPerson Inc. Erstaunlicherweise ging diese Firma wegen der schwachen Marktresonanz bald pleite. Einige Idealisten seines Teams arbeiteten jedoch weiter an einer PC-Version, was 1994 P. Naughton und J. Payne dazu veranlasste einen WWW-Browser in Java zu schreiben, den WebRunner, dessen heutiger Name HotJava lautet. Angeblich sagte Gosling über diesen Browser, er würde Menschen dazu bringen, neu über die Client/Server-Technologie nachzudenken. Der Browser war leicht zu bedienen, schnell und sicher, geradzu ideal für den Einsatz im WWW, damals auch noch im Aufbau. Diese Gesichtspunkte waren es, die Gosling dazu veranlaßt hatten, eine vollständig neue Programmiersprache zu entwickeln, hinzu kamen Plattformunabhängigkeit, Netzwerkfähigkeit und Stabilität. Der eigentliche Siegeszug von Java begann mit der fortschreitenden Entwicklung oder Ausbreitung des WWW. Java erfüllt alle Bedingungen zum Einsatz in einem internationalen Netzwerk, welches Millionen von Anwendern Daten anbietet, gleich ob privat oder kommerziell. Dies führte zur Weiterentwicklung der Sprache, wie wir sie heute kennen.

SUN-Microystems erkannte schnell das Marktpotential dieser Entwicklung - um möglichst viele Entwickler möglichst schnell auf Java 'zu bringen', wurde ein Java Development Kit zusammengestellt, welches gratis im Internet heruntergeladen werden kann. Es ist nach wie vor unklar, ob SUN dauerhaft beabsichtigt, das JDK gratis zu vertreiben. Tatsache ist, das praktisch alle Unternehmen der Softwarebranche Java lizensiert haben, um sich einen Teil des zu erwartenden Gewinns zu sichern.



1.2 Java und WWW

Wie bereits oben erwähnt, ist Java durch die Ausbreitung des World Wide Web erst richtig populär geworden. Schlagworte sind hier Java-Applet, Java Virtual Machine, Java-Browser usw. welche kurz erklärt werden sollen:

Was ist Java denn nun?
Eine Programmiersprache, welche versucht, bekannte Konzepte und Vorteile anderer Sprachen zu vereinigen, hierzu zählen EIFFEL, Lisp, Pascal, C und C++, und im besonderen auch unbekanntere Sprachen wie UCSD-Pascal und SmallTalk80, welche schon vor Jahren mit interpretiertem Bytcode arbeiteten. Die Syntax der Sprache ist stark an C++ angelehnt. SUN postuliert in den `White Papers` zu Java [1] [1]:
	Java: A simple, object-oriented, distributed, interpreted, robust, 
	secure, architecture  neutral, portable, high-performance, 
	multi-threaded and dynamic language.
Java heißt im amerikanischen Englisch schlicht `Kaffee`, böse Zungen sprechen aber auch von: `Just Another Vague Acronym`. SUN hat Java inzwischen dem ISO-Konsortium zwecks Standardisierung vorgelegt. Das Konsortium streubt sich derweil noch, weil SUN unbedingt die (Marken-)Rechte am Namen, Logo usw. und auch an der Sprache behalten will.

Was sind Java-Applets ?
Applets sind Java-Programme ohne main-Funktion. Sie müssen von der Klasse Applet abgeleitet werden, und sind wegen ihrer geringen Größe insbesondere zur Verwendung im Internet geeignet (und bekannt geworden). Ist ein solches Applet in einem HTML-Dokument, wird ein Java-Browser benötigt, um es zu starten. Java Applets sind keine Applikationen - es sind vielmehr Java-Klassen, welche in eine bereits laufende Applikation, wie etwa einen Webbrowser oder Appletviewer, geladen werden.

Was ist eine Java Virtual Machine ?
Die Java Virtual Machine interpretiert den maschinenunabhängigen Bytecode auf einem beliebigen Rechner. Die JVM ist quasi ein Rechner, der Bytecode verarbeiten kann, eine Art von (Prozessor-)Emulation. Tatsächlich sind inzwischen Prozessoren verfügbar, welche diesen Bytecode quasi als Maschinensprache haben. Die JVM ist in relativ begrenztem Code realisierbar, etwa um die 200kB, und ist ein deutliches Indiz für die ursprüngliche Idee hinter Java - die Verwendung in kleinen Elektrogeräten.

Was sind Java-Browser ?
Java-Browser haben zunächst nichts mit der Sprache zu tun. Browser sind Programme, welche im wesentlichen HTML-Dokumente anzeigen, die aus dem Internet geladen werden, einschließlich der Grafik- und/oder Musikdateien. Java-Browser können zusätzlich Java-Applets (Bytecode) interpretieren. Im JDK von SUN befindet sich ein AppletViewer. Dieser AppletViewer ist dann sozusagen in die Browser implementiert. Alle modernen Browser sind bereits Java-fähig, was auch sinnvoll ist, da bereits sehr viele Internet-Seiten ein Applet enthalten, gleich ob Grafikanimation, Datenerfassung oder Spiel.

Was sind Java-Beans ?
Eine Grundidee objektorientierter Programmierung ist ja die Wiederverwendung von (Software-)Design-Wissen und entsprechender Komponenten. Unter Microsoft Windows wurde das durch die OCX/OLE-Technologie verwirklicht. Der Nachfolger dieser Technologie wurde vor wenigen Wochen von Bill Gates präsentiert und heißt ActiveX. Genau das was ActiveX irgendwann können soll, ist seit Anfang Dezember `96 für Java verfügbar. Das heißt, eine Technologie, welche Komponenten über das Internet laden bzw. zur Verfügung stellen kann. Hier ist nicht mehr die Rede von Applets, sondern von Komponenten wie animierten Buttons oder Bildverarbeitungskomponenten. Es sei noch hinzugefügt, das sich die `Java-Beans` nicht an der Technologie Microsofts orientieren, diese ist nicht standardisiert und somit nicht für den plattformunabhängigen Betrieb geeignet. Java-Beans bauen auf dem standardisierten OpenDOC-Modell der Firma Apple auf, welches robuster (Sicherheit) und leistungsfähiger sein soll. Die Beschäftigung mit Java-Beans kann alleine ein eigenes Buch füllen, weshalb im Rahmen dieses Proseminars nicht weiter darauf eingegangen wird. Java-Beans sind praktisch das netzwerktaugliche Äquivalent zu OLE/OCX.

Warum liest man selbst in Tageszeitungen von Java ?
Das Internet der Zukunft verspricht Gewinne in Milliardenhöhe. Die diversen Provider vermelden dauernd steigende Mitgliedszahlen, z. B. ist die Telekom mit ihrem Dienst T-Online und rund 1.1 Millionen Mitgliedern Deutschlands größter Internet-Provider und verdient entsprechend. Und Prognosen, welche regelmäßig durch die Presse geistern, sprechen von bis zu 10 Millionen Anwendern bis zum Jahr 2005 oder gar 2000. Diese Zahl ist sicherlich übertrieben aber zeigt ungefähr welches Potential die Industrie dem Internet zugesteht. Von diesem Kuchen wollen natürlich alle etwas bekommen und investieren entsprechend. Java hat sich zur Schlüsseltechnologie für das Internet entwickelt, weil es den Anforderungen in Bezug auf Sicherheit, Stabilität und Prozessorunabhängigkeit voll genügt. Das Internet soll schließlich mehr werden, als eine Ansammlung langer Texte und vieler Bilder. Das Netz soll zum Informations-, Verkaufs-, Bankgeschäftabwicklungs-, Werbungs-, Bildungs-, usw. Zentrum dieser Welt werden. All das ist nur mit neuen Technologien möglich (wie Java), und getreu dem Motto: `Wer zuerst kommt mahlt zuerst.` ist SUN vorgeprescht und hat die notwendige Technologie vorgelegt - gratis und für jedermann verfügbar; sicherlich mit der Absicht den Markt auf Java `einzuschießen`. Sollte sich Java durchsetzen (und es sieht sehr stark danach aus) hat SUN allein mit den Lizenzabkommen einiges verdient - mit der Aussicht auf ein Monopol was die Sprachentwicklung betrifft. Es ist im Moment nicht klar festzustellen was Werbung, Versprechen und Realität rund um Java ist, aber SUN hat alle seine Java-Produkte im jeweils angekündigten Zeitraum veröffentlicht, ganz im Gegensatz zu Microsoft. Sowieso scheint das Java-Konsortium mit den Firmen SUN, IBM, Netscape und Oracle an der Spitze, einen klaren Anti-Microsoft Kurs zu verfolgen; MS hat nämlich `den Start` total verschlafen und hatte offenbar nicht mehr damit gerechnet, das irgendjemand nicht auf MS-Technologien bauen würde. Java ist die Schlüsseltechnologie, die Grundlage, welche weitere Fortschritte erst möglich macht. Wird das Internet weiter ausgebaut (und das wird es sicher) sind große gesellschaftliche Änderungen abzusehen, angefangen beim Homebanking bis hin zum Arbeitsplatz zu Hause. Weil diese Veränderungen recht schnell kommen könnten, haben sich auch nicht-Computer-Medien dem Thema angenommen.

zu Kapitel 2 Kapitelanfang zum Inhalt