Java - Ein Überblick

Die Java Technologie wurde von der Firma Sun Microsystem entwickelt. Mit dem Begriff Java meint man im allgemeinen nur die Programmiersprache, bzw die zusätzlichen Werkzeuge die man kostenlos von der Firma Sun Mircosystem über das Internet bekommt.

Java ist eine leicht erlernbare objektorientierte Programmiersprache, mit der es möglich ist plattformunabhängige Programme zu erstellen. So kann man in Java programmierte Applikationen in WWW Seiten integrieren, die dann beim Öffnen automatisch heruntergeladen werden und lokal durch den WWW Browser (Netscape, Internet Explorer) ausgeführt werden. Damit ist es möglich Software zu entwicklen die vollkommen unabhängig von der Hardware ist auf der sie ausgeführt wird. Java ist mit der Entwicklung des WWW gewachsen. Jeder WWW Browser kann heutzutage Java Applets ausführen.

Theoretisch sind den Anwendungsmöglichkeiten keine Grenzen gesetzt. Da die Sprache noch relativ jung ist, experimentieren interessierte Programmierer zunächst mit einfachen Dingen, die als "normale", "nicht-online" Software nichts Neues wäre.

Zur Zeit finden sich verschiedene Kategorien von integrierten Applets im WWW. Hauptsächlich stößt man auf Animationen, wie Laufschriften, hüpfende Icons und bewegte Grafiken. Aber auch Spiele, Musik, Client/Server-Zugang, Finanzplanungs-Programme oder Börsenapplikationen kann man beim "surfen" finden. Und es wird ständig mehr.

Doch Java ist nicht nur auf das WWW beschränkt, sondern bietet sich auch an, um "grosse" Applikationen zu entwickeln.

Die Geschichte von Java

Die Java Technologie wird erst seit Mitte 1995 in WWW Browsern eingesetzt. Innerhalb dieser zwei Jahre hat Java einen enormen Bekannheitsgrad erreicht, etwas was man in dieser Form nie bei einer Programmiersprache kannte. Sun Microsystem arbeitet seit dieser Zeit daran in Java Mechanismean zu integrieren die man benötigt um "grosse" Applikationen zu erstellen. Mit dem Java Developmentkit, das Oktober 1996 von Sun frei zur Verfügung gestellt wurde, ist dies gelungen.

Der Zeitverlauf im Einzelnen:

1990

Sun arbeitete mit enormen Aufwand an einer neuen Software (NeWS). Patrick Naughton, ein leitener Softwareentwickler war es leid, diese Software einmal zu entwickeln und danach mit dem gleichen Aufwand auf verschiedenen Betriebssysteme zu portieren. Er wollte kündigen. Sein Chef ließ das nicht zu, stattdessen bot man im an, in einem eigenen Projekt ("Green Project") sich Gedanken zu machen. Man erwartete nichts konkretes vom dem "Green Projekt" man ließ den Teilnehmern die Freiheit das zu machen was sie für sinnvoll hielten.

"Green Project"

6 Softwareentwickler, darunter Patrick Naughton machen sich Gedanken, was die Hauptprobleme der Softwareentwicklung sind. Zur Softwareentwicklung zählten sie ebenfalls die Entwicklung von Benutzerschnittstellen für Videorecorder,SetTop Boxen (Video on demand) und Software für Steuerungsanlagen in der Industrie(embedded systems). Die Probleme die alle diese "Geräte" gemeinsam hatten war, daß jedesmal die Software neu entwickelt wurde, weil sich über die Zeit die zugrundeliegende Hardware änderte.Man entschied sich, eine Programmiersprache für die Gerätesteuerung zu entwickeln. Das Entwickler-Team bei Sun fand, daß die existierenden Sprachen C und C++ für Steuerungssoftware ungeeignet sind, da sie für bestimmte Chips kompiliert werden und bestimmte Bibliotheken benutzen. Für Geräte mit meist langer Lebensdauer, wie Videorecorder, Telefone u.ä., mußte über eine neue Sprache nachgedacht werden. Die Sun-Leute waren überzeugt, daß die Zukunft in kleinen Programmen für diese Consumer devices liegen würde. Das Green Project entwickelte unter der Leitung von James Goseling eine neue objektorientierte Programmiersprache namens "Oak".

Dabei entstand auch das Zeichentrick-Maskottchen Duke, das die Anwender duch den virtuellen Haushalt navigierte. Auch wurde an eine Verwendung für die SetTop Boxen des Interaktiven Fernsehens gedacht, doch 1992 kam das Aus, da niemand Oak lizensieren wollte.

1993

Zu diesem Zeitpunkt jedoch entdeckte die breite Masse das Internet. Das "National Center for Supercomputing Applications" stellte den ersten WWW Browser "Mosaic" vor. Das Sun-Team fand, daß diese neue plattformunabhängige Sprache hervorragend geeignet ist um innerhalb von WWW Browsern wie etwa Mosaic benutzt zu werden.

1994

Sun entschließt sich die Programmiersprache (Entwicklername "Oak") als Programmiersprache für "online-mutimedia" in Internet frei zur Verfügung zu stellen. Die Programiersprache bekommt aber vorher einen neuen Namen : Java.

Übrigens, die häufige Darstellung von Kaffeetassen im Zusammenhang mit der Sprache erklärt sich dadurch, daß Java in den USA umgangssprachlich "Kaffee" bedeutet, der auch das Hauptexportprodukt der gleichnamigen Insel darstellt.

1995

Sun Microsystem bringt den ersten Java fähigen Browser ins Internet: Hotjava. Der Quellcode von Java wird an Netscape weitergegeben. Auch Netscape fügt die Java Technologie zu ihren WWW Browser hinzu. Sun stand damals unter enormen Druck, denn Microsoft hatte für Anfang 1996 eine Internet Entwicklungsumgebung angekündigt (Codename: Blackbird) Blackbird konnte auch Applikationen in WWW Browsern ausführen, allerdings war Blackbird niemals als Plattform unabhängige Programmiersprache gedacht.

1997

Sun stellt das JDK 1.1 vor. Die Prophezeihung der Java-Entwickler hat sich bewahrheitet, daß Java das Internet revolutionieren wird. Wie ein Mitarbeiter von Sun treffend formulierte: "Java ist eine Lösung, die nur noch auf das passende Problem gewartet hat."

Java die Technologie

Plattformunabhängigkeit

Um Java Programme auf seinem Rechner ausführen zu können braucht man ein Basispaket, daß das jeweilige Betriebsystem Java-fähig macht. So ist es zwar richtig,daß die Programiersprache Java plattformunabhängig ist, dennoch braucht man eben dieses Basispaket was speziell auf die unterliegende Hardware zugeschnitten ist. Man unterscheidet zur Zeit zwei verschiedene Basispakete. Einmal Java Versionstand 1.0.2 und dann Versionstand 1.1.1. Da die Version 1.1.1 noch relativ neu ist, gibt es Java Portierungen für diese Version nicht für alle Plattformen, ebenso untertützen auch die WWW Browser zur Zeit nur den Stand 1.0.2. Ein Entwickler, der sich heute die Frage stellt für welche Version er entwickeln soll, muß diese Frage mit Version 1.1.1 beantworten. Erst in dieser Version sind wesentliche neue Funktionen hinzugekommen, die ein Entwickler für professionelle Software unbedingt benötigt. Das JDK 1.0.2 ist zudem auch noch fehlerbehaftet und verhält sich auf verschiedenen Plattformen unterschiedlich.

Ebenso ist der Quellcode (nicht der ausführbare Code) den man für 1.0.2 Programme schreibt zu zukünftigen Javaversionen nicht kompatibel, dies liegt an den weitgehenden Veränderungen in der Version 1.1.1. Der Quellcode wird zwar noch kompeliert, aber wenn man in 1.1.1 kompelierte Programme mit 1.0.2 kompelierten Programmen ausführt garantiert Sun nicht, daß diese Programme zusammen laufen (im allgemeinen klappts aber doch). Da aber zukünftige Entwicklungen auf der neuen Technologie derVersion 1.1.1 aufbauen, sollte man nur mit dieser Version entwickeln.

Java gibt es für folgende Plattformen.

* BeOs

* Windows 3.1 (Portieung von IBM)

* Windows 95/NT (Sun)

* HP 3000

* HP-UX

* DEC Alpha

* Linux

* Next-Step

* Macintosh (Sun)

* FreeBSD

* Solaris (Sun)

* OS/2

geplant ist :

* VMS

* DOS

Alle Hersteller von Betriebsystemen arbeiten daran Java nicht nur als nachinstallierbares Paket zu ihrem Betriebsystem anzubieten, sondern direkt in das System zu integrieren. Dadurch erhofft man sich Geschwindigkeitssteigerungen, sowie eine einfachere Wartbarkeit der Software. So plant IBM die graphische Schnittstelle zu ihrem Betriebsystem neu zu programmieren, natürlich in Java.

Sollte ein System hier nicht aufgeführt sein, so kann man sicher sein, daß es bald eine Portierung dafür geben wird. Um Java auf ein System zu portieren, ist im allgemeinen nicht viel Arbeit nötig. Zuerst kann man sich bei Sun Mircosystem regestrieren lassen um Einsicht in den plattformabhängigen Quellcode zu bekommen. Dafür bietet Sun eine eigene Web-Seite an. Man muß dann nur noch den plattformabhängigen Code (in C programmiert) auf der jeweiligen Zielplattform zum "laufen" bringen.

Der Vorteil dabei ist, daß dieses zu portierende Paket sehr "klein" ist, sich also ohne grossen Aufwand auf ein Betriebsystem übertragen läßt danach sind alle reinen Java Appliktionen sofort auf diesem Betriebsystem ausführbar sind. So implementiert der Netscape Navigator und der Internet Explorer diesen Java-Interpreter. Dabei umfaßt der plattform spezifische Code gerade mal ca 500 KB. Das aktuelle Java Development Kit JDK1.1.1 umfaßt gerade mal ca 2.5 MB. Diese 2.5 MB enthalten dabei den nötigen Programmcode um die plattformunabhängigen Java Befehle auf die Zielplattform umzusetzen.

Die Anwendung der Java-Applets im WWW wird erst durch einen Browser ermöglicht, der die Tags (Anweisungen) und Parameter der HTML-Implementierung versteht. Hot Java von Sun war der erste Browser, der dies ermöglichte. Hot Java, der komplett in Java geschrieben ist, kann also nicht nur HTML interpretieren, sondern auch Java-Applets laden und ausführen. Er ist z.Zt. für Sun Solaris 2.3, 2.4, 2.5, für Windows NT, Windows 95 sowie für Apple Macintosh verfügbar. Auch Netscape hat seinen Navigator 2.0 Java-kompatibel gemacht. Das heißt konkret, daß die Java Virtual Machine, der Bytecode-Interpreter, in den Browser eingefügt wurde.

Java- Die Programmiersprache

Ein Beispielprogramm

Auf die Syntax von Java kann hier nicht näher eingegangen werden. Ausführliche Erläuterungen dazu findet man unter http://www.javasoft.com/hooked/language-ref.html.

Als exemplarisches Beispiel hier nur das obligatorische "Hello world" Programm.

1:import java.awt.*;

2:public class HelloWorld extends Frame {

3: public HelloWorld () {

4: add(new Button ("Hello World"));

5: pack();

6: setVisible(true);

7: }

8: public static void main(String args[]) {

9: HelloWorld hw=new HelloWorld();

10: }

11:}

Erklärung:

Zeile 1: Wir benötigen die Java Libary für grapische Objekte (Frame,Button..)

Zeile 2: Deklaration der Klasse, der Compiler übernimmt den Namen "HelloWorld" (und nennt das Programm helloworld.class)

Zeile 3: Konstruktor der Klasse.

Zeile 4: Es wird zu dem Fenster ein Button zugefügt. Per default wird der Button links im Fenster positioniert.

Zeile 5: Das Fenster paßt seine Größe an

Zeile 6: Das Fenster wird sichtbar gemacht

Zeile 8: Wie jedes C Programm beginnt die Programmausführung eines Java Programms in der Funktion main. Wenn eine Java Klasse die Methode main defeniert, kann man diese Klasse ausführen. public heißt: die Methode kann von überall aufgerufen werden static heißt: alle Instanzen der Klasse sind inbegriffen void heißt: das die Methode keinen Wert zurückgibt Das Argument ist eine Zeichenkette (String) namens args

Kompilierung:

Der Quellcode heißt hier Helloworld.java. Wird er mit dem Java-Compiler bzw. mit dem Befehl javac kompiliert, wird eine Datei mit dem Namen Helloworld.class erzeugt, die jetzt auf allen Plattformen mit Java-Interpreter die Bildschirmausgabe "Hello world!" erscheinen läßt.

Java - im WWW Browser

Alle HTML-Befehle stehen in sogenannten Tags, die durch diese <> spitzen Klammern definiert werden. Fast alle HTML-Anweisungen haben ein einleitendes und ein abschließendes Tag. Dazwischen ist die Gültigkeit der Anweisung angegeben. So wird auch für die Einbindung der Java Applets ein bestimmtes Tag benötigt, welches die Browser,die Java-kompatibel sind (Netscape,HotJava), interpretieren können. Andere Browser ignorieren das unbekannte Tag und zeigen das Applet nicht an.Dieses <applet> Tag schließt den Namen, die Breite und Höhe sowie die Parameter ein.

Als Beispiel:

1:

2:<APPLET code="HelloWorld.class" width=100 height=30>

3:<PARAM name=text value="Hallo, Welt!">

4:Sie benötigen einen Java-kompatiblen Browser!

5:</APPLET>

Erläuterung:

Zeile 1: Der Name des Applets sowie Breite und Höhe: die notwendigen Standardattribute (code, width, height)

Zeile 2: Die Applet-Parameter sind Attribute außerhalb des Standards, nur für dieses Applet gültig. Hier enthält Parameter "text" eineZeichenkette

Zeile 3: Alternativer HTML-Inhalt, der angezeigt wird, wenn der Browser Java nicht versteht

Zeile 4: Ende des Applets


Java ist sehr stark an C++ angelehnt, hat aber Besonderheiten, die es für die geplante Anwendung im Netz besonders auszeichnen sollen. Am leichtesten werden es ProgrammiererInnen haben, denen die Syntax von C++ geläufig ist. Für alle NichtprogrammiererInnen ist Java genauso leicht oder schwer zu erlernen wie jede andere Sprache, auch wenn Sun behauptet, Java sei besonders einfach.

Die Eigenschaften Unterschied C++ / Java

- Objektorientiert

Im Gegensatz zu C++ ist in Java alles ein Objekt. Selbst wenn man "nur" ein Hello Wolrd Programm schreiben will, muß man dafür eine eigene Klasse definieren. (wenn auch nur eine sehr einfache)

- Multithreading

Threads sind parallele Aktionen, die ein Programm gleichzeitig ausführen kann. Das heißt, ein Thread kann eine Berechnung durchführen, wobei gleichzeitig ein anderes Thread eine Benutzerinteraktion ermöglicht. Es gibt also weniger Wartezeiten. Java enthält eigene Thread Klassen. Ebenso kann mit dem synchronised Bezeichner sichergestellt werden das der Bereich, den das synchronised Statement umgibt nur einmal zu Zeit ausgeführt wird. Alle Java Klasse sind Thread save. Alle eigenen Klasse sind einfach Thread safe zu machen. In C++ ist zur Zeit frei gestellt ob ein Compiler Threads umsetzt oder nicht.

- Keine Pointer

Man kann in Java keine Pointer de/referenzieren. In Java gibt es keine Pointer, etwas was keine C Programmierer vermissen wird.

- Sicher und robust

Java-Programme können VOR der Ausführung verifiziert werden, da sie keine Zeiger haben und in Bytecode vorliegen. Das muß man erstmal verstehen. In C++ ist es leicht möglich ein ausführbares Programm (etwa eine .exe Datei unter DOS) zu nehmen und diese .EXE Datei zu modifizieren. Im besten Fall stürzt der Rechner nur ab, im schlechteten Fall, etwa wenn es ein Virus war, der das Programm modifiziert hat, werden alle Daten gelöscht. In Java werden .class Files vor der Ausführung verifiziert. Ein Absturz des Rechners ist somit ausgeschlossen! Eine Manipulation (etwa Löschen von Dateien) wird durch einen Security Manager verhindert.

Die Verifizierung wird ebenfalls von Web-Browsern benutzt, um sicherzustellen, daß keine Viren enthalten sind. Java verwendet nicht Adressen aus Zahlen, sondern Namen für Funktionen und Methoden, die leicht überprüft werden können. So kann kein Java-Applet etwas ausführen oder auf etwas zugreifen, was nicht ausdrücklich im Verifizierungsprozess definiert worden ist. Dadurch, daß jeder Speicherzugriff geprüft wird, kommt es nicht zu Computerabstürzen. Nachdem die Verifizierung durchgeführt wurde, kann das Programm in den jeweiligen Maschinencode übersetzt werden. (sogn Just In Time -JIT Compelierung). Die Verifikation mag etwas überflüssig erscheinen.. Aber da Java als Web-Sprache eingesetzt wird, und man sich mal vorstellt das Java Programme auf allen Rechnern weltweit ablaufen können, muß man SICHER sein das seinem Rechner nichts passieren kann.

Einfach nur zu hoffen das man nur Programme in seinem Browser ablaufen läßt, die von "freundlichen" Programmierern geschrieben wurden, ist für jemanden der mit seinem Rechner einmal im WWW "surft" und danach Banküberweisungen macht, keine Hilfe.

Anm:

In der Tat, hat man schon gezeigt wie Sicherheitslücken auszunutzen sind.So ist es bei der (Java fremden) ActiveX Technologie von Microsoft gelungen jeden Rechner, der im WWW surft, potentiell auszuspionieren. In dem konkreten Fall wurde die Geheimnummer zu einer Bank ausspioniert. Dies macht deutlich wie wichtig Sicherheit bei plattformunabhängigen Programmiersprachen ist. (In dem Fall von Microsoft ActiveX gibt es keine Sicherheit)

Java unterstützte von Beginn an ein ausgereiftes Sicherheitskonzept. C++ kennt kein solches Konzept.

- Garbage Collector Wird ein Speicherbereich des Rechners nicht mehr benötigt, muß ein Programmierer, der in C oder C++ (und vielen anderen Sprachen) programmiert, darauf achten, daß das Programm ihn zur Neubenutzung wieder freigibt. Diese Speicherverwaltung erfordert große Genauigkeit. Bei Java erledigt dies ein eingebautes Programm, der Garbage Collector, das den Speicher scannt und nicht mehr gebrauchte Speicherbereiche wieder freigibt.

Dies mag ein großen Problem sein, in sogn. Echtzeitanwendungen, also Anwendungen in denen man innerhalb einer minimalen Zeit ein Ansprechverhalten des Systems garantieren muß (oder es entsteht ein "großer" Schaden, wenn das System nicht in der vorgegeben Zeit reagiert). In 99,9% der Fälle ist Echtzeit uninteressant. Die gängigen Betriebsysteme auf denen Java läuft (Linux version 2.x, OS/2,Windows NoT..) sind sowieso nicht echtzeitfähig, so das das Problem gar nicht auftreten kann.

- Plattformunabhängigkeit

Die Plattformunabhängigkeit/Architekturneutralität ergibt sich aus der Tatsache, daß Java-Programme zunächst in neutralen Byte-Code kompiliert werden. Byte-Codes ähneln Maschinenbefehlen, sind jedoch nicht für eine bestimmte Maschine spezifisch. Die Quellcodes in Java werden zu Dateien vom Typ .class kompiliert, die das Programm in Bytecode enthalten. Die Bytecodes können nun auf jeder Plattform laufen, die Java unterstützt. Sie werden quasi beim Starten interpretiert und ausgeführt.

Java - die Basispakete

Mit der Programmiersprache Java werden (in Java geschrieben) Bibliotheken mitgeliefert. Diese Bibliotheken gehören zu dem Basispaket, was mit jedem JDK ausgeliefert wird, und vorausgesetzt wird auf jeder Java Plattform. Im einzelnen sind dies:

Java API Packages

package java.applet

package java.awt

package java.awt.datatransfer

package java.awt.event

package java.awt.image

package java.awt.peer

package java.beans

package java.io

package java.lang

package java.lang.reflect

package java.math

package java.net

package java.rmi

package java.sql

package java.util

Java - die Entwicklungswerkzeuge

Das Entwicklerwerkzeug "Java Development Kit" (aktuelle Version 1.1.1) von Sun ist das Basispaket, um in Java zu programmieren. Das JDK kann man direkt über das Netz von Sun (http:// www.javasoft.com/) downloaden. Die andere Möglichkeit wäre, die Java-CD Edition 1 bei Sun Deutschland kostenlos anzufordern.

Die Bestandteile des JDK sind:

- der Java-Compiler javac

- der Java-Interpreter java

- der (nur zeichenorientierte) Debugger jdb

- der Applet Viewer (appletviewer) als interaktives Testwerkzeug

- die Standard-Bibliotheken

Das JDK unterstützt zur Zeit die Plattformen Solaris (SPARC), Windows NT, Windows 95 und Apple Macintosh. Fremdfirmen kündigten bereits vollständige Entwicklungsumgebungen an. Borland plant etwas unter dem Codenamen Latte.Symantec hat eine Java IDE mit dem Namen Cafe herausgebracht.

Ebenso gehört zu den Entwicklungswerkzeigen natürlich die vollständige Dokumentation der API von Java. Auch diese ist frei verfügbar (http://www.javasoft.com) Der Java Einsteiger sollte das frei verfügbare Tutorial lesen. (htttp://www.javasoft.com) Das Tutorial ist von Sun nur in der englischen Version zu bekommen, sowie auch natürlich die gesamt API Dokumenation in Englisch ist. Das Tutorial ist das beste "Buch" was man empfehlen kann Es umfaßt ca 900 Seiten und gibt einen vollständigen Einführung indie Programmiersprache Java.

Java eine einfache Entwicklungsumgebung

Zur Zeit gibt es für Java noch keine frei verfügbare Entwicklungsumgebung, die mit kommerziellen Tools wie etwa Symantec Cafe mithalten kann. Man muß also so etwa auf einen komfortablen grapischen Debugger verzichten. Um mit Java zu programmieren sollte man immer die API Dokumentation schnell zur Verfügung haben, weil man nicht alle Klassen und schon gar nicht alle Methoden aller Klassen im Kopf behalten kann. Dazu hat man am besten einen WWW Browser geöffnet (etwa Netscape ) und wählt aus der ON-Line Dokumentation die Klasse aus, die einen gerade interessiert.

Zusätzlich kommt es jedoch auch häufiger vor, das einem die Klassendokumentation nicht ausreicht.Gerade bei dem Abstract Window Toolkit (AWT) von Java wird man zu Anfang große Probleme haben , zu verstehen ,wie die einzelnen Methoden ineinander greifen.

Dazu ist es sinnvoll sich den Quelltext der Java Klassen zu entpacken. So kann man z.B. im Orginalquelltext nachsehen in weclher Reihenfolge die Container Klasse Container.java die graphischen Elemente auf dem Bildschirm anzeigt. (Z-Order)

Der Quelltext für alle Java Klassen im Basispaket JDK 1.1.1 sind ebenfalls enthalten. Dies gilt z.Zt. nicht für den Linux Port des JDK 1.1.1. Man sollte sich etwa die Solaris Version von Sun, oder etwa die Windows Version von Java besorgen.. Der Source, der Java Basisklassen aus dem JDK 1.1.1, ist natürlich auf allen Plattformen der gleiche.

Als Editor wählt man den Editor mit dem man sich am Besten auskennt. Für Linux ist natürlich der Editor Emacs erste Wahl. Für den Emacs gibt es einen Java Modus. (Nachzuinstallieren) Damit kennt der Emacs dann die vordefinierten Java Bezeichner, es wird (wenn gewünscht) ein Syntax highlightning unterstützt. Als weitere Editoren gibt es noch den Editor : joe. Ein populärer graphischer Editor ist der Editor nedit. (Bei Linux ist kein Motif enthalten, man muss darauf achten, daß man ein vorkompelierten binary nimmt, in dem die Motif Libary statisch mitgelinkt wurde)

Weiter Aspekte

Kommerzialisierung?

Mit dem jeweiligen Browser oder der passenden Helper-Application ist es für jedeN NutzerIn möglich, die Source-Codes der aktuellen HTML-Site anzusehen. Das hat einen gewissen Charme, da es so möglich ist, von anderen zu lernen.Zusätzlich ist es ebenso kein Problem, die in den Seiten eingebauten Orginalbilder per Mausklick auf den eigenen Rechner zu kopieren.Da von in Java geschriebenen Programmen nur der Bytecode aufs Netz gestellt wird, ist es hier nicht möglich, sich den Quellcode anzusehen. Das hat gewiß den Vorteil, daß die ProgrammiererInnen die Kontrolle über ihr geistiges Eigentum auch in kommerzieller Hinsicht behalten. Doch dazu ein Kommentar aus der Zeitschrift Gateway:

"Eingriff in die Internet-Kultur"

Bei der Verwendung im Internet ergeben sich jedoch einige negative Nebeneffekte: Durch Java wird es nicht mehr notwendig sein,den Source-Code der Applikationen zur Verfügung zu stellen, da die kompilierte Klasse voll ausreicht. Schon heute bietet kaum eine der kommerziellen Web-Sites, die Java-Spielereien in ihrer Homepage haben, den Zugriff auf den Source an. Auch viele Freizeitprogrammierer, werden der alten Tradition der "Free Software" den Rücken zuwenden und ihre Utilities nur binär zum Gebrauch zur Verfügung stellen. Sollte dann auch noch electronic Cash eingeführt sein, wird es eine neue Form von Shareware geben:

der Code kannn nur gegen Geld per WWW geladen und ausgeführt werden. Hierzu plant Netscape übrigens, bei der Übertragung von Objektklassen ihr Secure-Socket-Layer-Protokoll (SSL) einzusetzen, welches vor unzulässigen Modifikationen des Codes schützen soll. Das könnte dazu beitragen, Java zu einem Medium für Netzwerkkommerz zu machen."

Tutorial, JDK : http://www.javasoft.com

Linux: http://www.blackdown.org

ADK(win3.1) http://www.developer.ibm.com/welcome/java/index.html

Gamelan : http://www.gamelan.com


v1.1, 14. Mai 1997,
Martin Vogt, <m_vogt@informatik.uni-kl.de>