Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Java ist auch eine Insel von Christian Ullenboom
Buch: Java ist auch eine Insel (Galileo Computing)
gp Kapitel 1 Schon wieder eine neue Sprache?
gp 1.1 Der erste Kontakt
gp 1.2 Historischer Hintergrund
gp 1.3 Eigenschaften von Java
gp 1.3.1 Bytecode und die virtuelle Maschine
gp 1.3.2 Kein Präprozessor
gp 1.3.3 Keine überladenen Operatoren
gp 1.3.4 Zeiger und Referenzen
gp 1.3.5 Bring den Müll raus, Garbage-Collector
gp 1.3.6 Ausnahmenbehandlung
gp 1.3.7 Objektorientierung in Java
gp 1.3.8 Java-Security-Model
gp 1.3.9 Wofür Java nicht geeignet ist
gp 1.4 Java im Vergleich zu anderen Sprachen
gp 1.4.1 Java und JavaScript
gp 1.4.2 Normierungsversuche
gp 1.5 Die Rolle von Java im Web
gp 1.6 Aufkommen von Stand-alone-Applikationen
gp 1.7 Entwicklungs- und Laufzeitumgebungen
gp 1.7.1 Aller Anfang mit dem Java SDK
gp 1.7.2 Die Entwicklungsumgebung von Sun: Sun ONE Studio und NetBeans
gp 1.7.3 Jikes und Eclipse von IBM
gp 1.7.4 JBuilder von Borland
gp 1.7.5 Together
gp 1.7.6 Die virtuelle Maschine Kaffe von Transvirtual Technologies
gp 1.7.7 Ein Wort zu Microsoft, Java und zu J++
gp 1.7.8 Direkt ausführbare Programme
gp 1.8 Installationsanleitung für das Java 2
gp 1.8.1 Das Java 2 SDK beziehen
gp 1.8.2 Java SDK unter Windows installieren
gp 1.8.3 Compiler und Interpreter nutzen
gp 1.8.4 Installation der Java Laufzeitumgebung unter Linux
gp 1.9 Das erste Programm compilieren und testen
gp 1.9.1 Häufige Compiler- und Interpreterprobleme
gp 1.10 Eclipse
gp 1.10.1 Eclipse starten
gp 1.10.2 Das erste Projekt anlegen
gp 1.10.3 Eine Klasse hinzufügen
gp 1.10.4 Übersetzen und Ausführen
gp 1.10.5 Nutzen des JDK und Starten ohne Bestätigungsdialog


Galileo Computing

1.4 Java im Vergleich zu anderen Sprachendowntop

Beschäftigen sich Entwickler mit dem Design von Programmiersprachen, so werden häufig existierende Spracheigenschaften auf ihre Tauglichkeit überprüft und dann in das Konzept aufgenommen. Auch Java ist eine fließende und sich entwickelnde Sprache, die viele Merkmale von anderen Sprachen aufweist. Zunächst basierte Java sehr stark auf C++, bis die Entwickler Inkonsistenzen der Sprache nicht übernehmen wollten. Bisweilen wird Java auch als der Nachfolger von C++ angesehen. Auf den ersten Blick erinnert die Syntax sehr stark an C und C++. In der Tat wurden fast alle Anweisungen und Operatoren übernommen. Da viele Konzepte nur von anderen Programmiersprachen übernommen sind, ist die Sprache im Jahr 1996 an sich keine Revolution. Java vereinigt vielmehr bekannte und bewährte Konzepte.

Das Klassenkonzept - und damit der objektorientierte (OO-)Ansatz - wurde nicht unwesentlich durch SIMULA und Smalltalk inspiriert. Die Schnittstellen (engl. interfaces), die eine elegante Möglichkeit der Klassenorganisation bieten, sind an Objective-C angelehnt - dort werden sie lediglich Protocols genannt. Während in Smalltalk alle Objekte dynamisch verwaltet werden und in C++ der Compiler statisch Klassen zu einem Programm kombiniert, mischt Java auf eine sehr elegante Art und Weise dynamisches und statisches Binden. Klassen können zur Laufzeit geladen werden, Methoden auch auf anderen Rechnern ausgeführt und Ergebnisse über das Netz geschickt werden1.

Nicht direkt mit der Sprache, aber mit der Anwendung sind die Threads verbunden, das sind leicht zu erzeugende Ausführungsstränge, die unabhängig voneinander arbeiten können. Diese leichtgewichtigen Prozesse gibt es beispielsweise in Solaris.


Galileo Computing

1.4.1 Java und JavaScriptdowntop

Obacht ist beim Gebrauch des Namens »Java« geboten. Nicht alles, bei Java im Wortstamm auftaucht, hat auch tatsächlich etwas mit Java zu tun; JavaScript hat keinen Bezug zu Java. Die Programmiersprache wurde von Netscape entwickelt. Dazu aus dem Buch »The Java Developer's Resource« ein Zitat: »Java and JavaScript are about as closely related as the Trump Taj Mahal in Atlantic City is to the Taj Mahal in India. In other words Java and JavaScript both have the word Java in their names. JavaScript is a programming language from Netscape which is incorporated in their browsers. It is superficially similar to Java in the same way C is similar to Java but differs in all important respects.«


Galileo Computing

1.4.2 Normierungsversuchetoptop

Der Normierungsversuch, aus Java eine Programmiersprache unter ISO-Norm zu machen, ist unter anderem daran gescheitert, dass Sun den Namen »Java« weiterverwenden wollte. Dies wäre bei der Norm nicht möglich gewesen. Das Argument ist aber etwas schwach. In der Praxis gibt es auch andere Programme, die bei den Anwendern den offiziellen ISO-Namen tragen und in der Öffentlichkeit ihren ursprünglich aussprechbaren Namen behielten. Die ISO-Norm ist gescheitert. Auch die zweite Normierungsinstanz ECMA lehnte eine Standardisierung ab, da Sun unter allen Umständen verhindern wollte, dass Java in verschiedene Dialekte zerfällt. Aus diesem Grunde hat sich Sun die alleinige Kontrolle über die Weiterentwicklung des Java-Standards vorbehalten. Ein öffentlicher Standard hat aber gerade die Eigenschaft, dass Mitglieder neue Ideen einbringen können. Als Antwort auf Microsofts Forderung, das Java-Warenzeichen allgemein freizugeben, fordert Sun lapidar, dass auch Microsoft die Windows-APIs und das Warenzeichen frei geben sollten. Kein Kommentar von MS!






1 Diese Möglichkeit ist unter dem Namen »RMI« (Remote Method Invocation) bekannt. Bestimmte Methoden können über das Netz miteinander kommunizieren.





Copyright (c) Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de