JAVA oder die Tücken des Downloading

Von den Schwierigkeiten im Umgang mit kostenloser Software

Java ist in aller Munde, also ist es selbstverständlich für einen Anbieter von DV-Fachschulungen, entsprechende Seminare zu entwickeln und anzubieten.

Dabei ist die Tatsache sehr erfreulich, daß man in einschlägigen Publikationen zunächst genügend Adressen findet, von denen man alle benötigten Software-Produkte, Dokumente usw. "kostenlos" herunterladen kann.

Es wird also eine Auflistung der zu ladenden Produkte erstellt und dann rein ins Internet. Sehr schnell wird klar, daß der bestehende CompuServe-Zugang mit einer 9600b/s-Leitung (die zudem noch an einer alten, analogen Vermittlungsstelle hängt) für diese Aufgabe gewiß überfordert ist. Die Erfahrung zeigt nämlich, daß in der Regel nicht mehr als 2 MB Daten am Stück fehlerfrei (= ohne Abbruch) zu übertragen sind. Aber es gibt ja noch T-Online mit ISDN-Zugang: Und schon kann die Übertragung losgehen (in dem Bewußtsein, daß dabei einiges an Kosten auflaufen wird).

Da wir uns entschieden haben, einen lokalen Web-Server auf NT-Basis einzurichten, brauchen wir zunächst mal das "NT-Service-Package für NT-Server" 3.51, das gerade mal 7,9 MB umfaßt. Um es vorwegzunehmen: Wir haben maximal etwas über 6 MB transferieren können; auch von unterschiedlichen Download-Sites war mehr nicht drin. Nach mehreren Tagen des Probierens konnten wir schließlich bei einem unserer Partner eine Diskettenversion auftreiben.

Einfacher ging es mit dem eigentlichen NT-Webserver: Nach der Registrierung kam postwendend per e-Mail eine Liste der verschiedenen Download-Sites zurück. Kurzes Probieren an verschiedenen Adressen brachte dann schnell den gewünschten Erfolg. Aber dann: Dokumentation, PostScript-Viewer, Java-Entwicklungswerkzeuge, Dekomprimierer, Tutorials, Beispiel-Applets, Internet-Explorer, Browser, Hot-Java usw.: Jeweils die passende, aktuelle Version herauszufinden, ist wirklich nicht einfach. Hinzu kommt, daß sich die Dinge täglich ändern und aktualisieren. Wenn man es dann geschafft hat, eine größere Menge an Bytes herunterzuladen, stellt man fest, es ist doch wieder gerade nicht die passende oder aktuelle Version. Soviel zur Kunst des Surfens ...

Wie sieht nun das Starter-Kit für einen künftigen Java-Experten aus? Natürlich erfährt man das nach einigen Hot-Links auch bei http://java.sun.com . Diese Seite ist früher oder später sowieso fällig. Aber das dortige Angebot ist auch entsprechend umfangreich. Fürs erste genügen: das Java-Development-Kit, die Basis-Dokumentation, ein Tutorial, ein Java-fähiger Browser, ein bequemer Editor. Hier wird es wohl ohne etwas Wartezeit beim Herunterladen vom Internet nicht abgehen. Das "Java Development Kit" (JDK) liegt inzwischen in der Version 1.0.1 vor und kann für Solaris, Macintosh und WindowsNT/95 bezogen werden. Leider geistern immer noch Beispiele, Applets und Artikel zur Alpha-Version herum. Der Schritt von der Alpha- zur Beta-Version war gewaltig, von der Beta- zur 1.0.1-Version nur minimal. Erliegen Sie insbesondere nicht der "heißen" Versuchung, sich HotJava -- den Browser von Sun -- auf die Platte spielen zu wollen. Er wird zwar komplett mit Alpha-JDK, Dokumentation, Quelltext und Demo-Applets in einem gut strukturierten Paket angeboten, ist aber inzwischen veraltet, da er nur mit der Alpha-Version von Java zusammenarbeitet. Das aktuelle JDK holt man von http://java.sun.com oder einem deutschen Spiegel (http://sunsite.informatik.rwth-aachen.de/Mirror/java/). Wir waren als Bildungseinrichtung in erster Linie an der Win32 -Version interessiert. Für die Linux -Gemeinde dürfte das Portierungsprojekt unter http://www.cc.gatech.edu/linux/ldp/HOWTO/Java-HOWTO.html interessant sein. Nun denn: reichlich 3 "MB JDK" liegen auf der Festplatte. Das erste Entpacken des zip-Archivs schlägt garantiert fehl, wenn man nun nicht die neuste 32-Bit-Version (6.0a) von WinZip besitzt (http://www.winzip.com). Nur die kommt mit den langen Dateinamen zurecht, von denen Java ausgiebig Gebrauch macht. ähnliche Pannen kann man sich ersparen, wenn man eine Anleitung zur Installation des JDK liest: http://www.bcpl.lib.md.us/~pfilner/jdkhowto.html .

Das entpackte JDK ist im Vergleich zum Alpha-HotJava -Komplettpaket ziemlich abgerüstet: Es enthält nur noch die unbedingt notwendigen Kommandozeilenwerkzeuge wie Compiler, Interpreter und Debugger, die Demo-Applets, die Klassenbibliothek inkl. Quelltext sowie die Header-Dateien für die C-Schnittstelle. Statt des HotJava -Browsers bekommt man nun den Appletviewer , mit dem man gerade noch die eigenen Applets lokal testen kann. Die Dokumentation, HTML -Hilfeseiten und Übersichtsartikel muß man sich extra besorgen. Allerdings kann man sich die HTML -Hilfeseiten zur gesamten Klassenbibliothek mittels javadoc generieren lassen. Woher aber bekomme ich die Dokumentation zu javadoc und die Grundkenntnisse zu Packages ? Dazu wäre eine HTML -Hilfeseite notwendig ...

Die schnellste Art, zu einem Satz Dokumentation zu kommen, ist mittlerweile der Weg in den Buchhandel. David Flanagans "Java in a Nutshell" (O'Reilly) können wir insbesondere für C++-Programmierer, die schnell einsteigen wollen, unbedingt empfehlen. Ein Volltreffer ist auch der sog. Portafilter , eine Dokumentation im Windows-Hilfe-Format (http://www.dippybird.com/java.html), weil dort alle wichtigen Dinge zusammengestellt sind, die man sonst einzeln laden muß (http://java.sun.com): API -Dokumentation, Sprach-Spezifikation, Whitepaper, Spezifikation der Virtuellen Maschine, Referenz zu den Kommandozeilen-Werkzeugen, FAQ 's, Tips und Tricks, Hinweise zu Java-Quellen.

Dann kann's ja losgehn? Hier einige Empfehlungen für Tutorials: Für C++-Programmierer ist zweifellos der Einstieg über "Java in a Nutshell" der schnellste, zumal alle Buchbeispiele auch über http://www.ora.com/catalog/books/javanut geladen werden können.

Für Einsteiger aus anderen Programmiersprachen eignet sich "Brewing Java: A Tutorial" von Elliotte Rusty Harold (http://sunsite.unc.edu/javafaq/javatutorial.html ) oder Sun's Heimtutorial (http://java.sun.com/tutorial/index.html ) gleich gut.

Für Spezialgebiete fanden wir Nelson Yu's "The Perpetually Unfinished Guide to Java(tm)" (http://ugweb.cs.ualberta.ca/~nelson/java/JavaTutorial.html , Programmierung von Applets und grafischer Oberfläche), das Java-Package-Tutorial (http://vision.gsfc.nasa.gov/ , Umgang mit Java-Packages ), eine Einführung in Threads (http://www.javaworld.com/javaworld/jw-04-1996/jw-04-threads.html ) und Marianne Muellers FAQ 's zur Sicherheitsfragen bei Applets mit vielen Beispielen (http://java.sun.com/sfaq/index.html ) recht nützlich -- wenn auch erst für den zweiten Anlauf.

Auch der Server mit einer reichen Sammlung von "How To's" (http://www.digitalfocus.com/faq/howdoi.html ) dürfte nach den ersten eigenen Programmierversuchen hilfreich sein.

Braucht man einen Java-fähigen Browser? Zunächst nicht, denn der Appletviewer tut's auch. Aber sehr bald wird man auch eine komplette HTML -Seite mit Applets testen wollen. Dazu eignet sich zur Zeit nur ein Browser: Netscape 2.0 in der 32-Bit-Version. Nach einiger Mühe bei http://www.netscape.com wird man auf eine Liste mit ftp-Servern geführt, wo man eine zeitlich befristete Beta-Version bekommt. Der Netscape -Browser hat ein anderes Sicherheitskonzept als der Appletviewer und reagiert naturgemäß empfindlicher auf HTML -Syntaxfehler: Er stellt das Applet gleich gar nicht dar. Im lokalen TCP/IP -Netz funktionierte unsere Version überdies erst dann zufriedenstellend, als wir die Option "keine Proxies" wählten.

Microsoft's Internet-Explorer 3.0 ist ebenfalls Java-fähig, ist aber zur Zeit in der Alpha-Phase und nur mit dem kompletten, 11 MB großen, Internet-Entwicklungspaket ladbar (http://198.105.232.4/intdev/sdk/sdkdownl.htm) oder als Teil der CD in der letzten Ausgabe der Produktzeitschrift Pointer erhältlich.

Last but not least: ein bequemer Editor, in den man die Entwicklungswerkzeuge einbinden kann. Wer kein Geld in eine komplette Entwicklungsumgebung á la "Symantecs Espresso Cafe" oder Sun's "Java Workshop" oder Borlands C++ 5.0 investieren will, nur um Java zu lernen, dem genügt z.B. der "Programmers File Editor" (ftp://ftp.cica.indiana.edu, Datei pfe0601i.zip). Einen sehr guten Eindruck machte ein Probeexemplar der DIVA -Entwicklungsumgebung (http://www.inch.com/~friskel/javaside.html ), mit Projektverwaltung und Klassenbrowser. Leider lief die Frist schon am zweiten Tag ab. Ein guter Kompromiß könnte "ED for Windows" sein, ein universeller Shareware-Editor für verschiedene Programmiersprachen mit besonderer Unterstützung für Java, Syntax-Hervorhebung, Makrosprache u.ä. Unter Windows 95 eine Empfehlung, unter Windows NT kommt er allerdings mit den langen Dateinamen nicht zurecht. (z.B. http://www.rust.net/frankc) .

Freund+Dirks DV-Fachschulungen, Weilrod/Taunus