Vienna! See! See!     [www.vienna.cc]   [English / Deutsch / Po-Russky]   [Search/Suchen]

www.vienna.cc - Company Logo

Hotel ONLINE
English / Italiano / Deutsch
Español / Français
日本語 / 中文
Online Travel Agency - Click here

ViennaCC-Music online
 

Google


Deutsch
Suchen in:

Suchbegriffe:

AMAZON.DE
Unsere Empfehlungen

English

Search:

Keywords:

AMAZON.COM
Our Recommendations
Shopping:
Deutsch
English
Po-Russky

Java

Urlaubsparadies und Programmiersprache - Kurze Einführung

Java ist die kleinste aber wichtigste der Großen Sundainseln Indonesiens mit der Hauptstadt Djakarta, nach der auch die Java-See benannt ist. Wenn Sie nun in Urlaubsstimmung sind, lesen Sie bitte nicht weiter. Denn hier geht es um eine Programmiersprache, welche durch das Internet bekannt wurde.

Historie

Die amerikanische Firma SUN mit James Goshlin startete 1990 das Projekt OAK (Eiche) mit dem Ziel, eine Programmiersprache zu entwickeln, mit der universell Haushalts- und Consumergeräte wie Kaffeemaschinen, Videorecorder oder Geschirrspüler gesteuert werden können. Daraus ergibt sich, daß OAK klein, schnell und auf verschiedenen Systemen einsetzbar sein sollte. Das Projekt drohte zu scheitern und wäre beinahe eingestellt worden. Mit dem Internet-Boom auf Basis der 1989 von Tim Berners Lee am Genfer Forschungslaboratorium CERN entwickelten Spezifikationen für das World Wide Web (WWW) jedoch holte Sun das Projekt nochmal hervor, taufte es in JAVA um (weil ein Produkt namens Oak bereits existierte) und verkaufte es ab Mai 1995 als plattformübergreifende, universell einsetzbare Sprache - optimal für ein heterogenes Netzwerk wie das Internet. Sun brachte eine Java-Alpha-Version, den in Java geschriebenen Browser HOTJAVA sowie das Developers Kit zur Programmentwicklung heraus. Apropos Browser: Netscape entwickelte eine Script-Sprache für kleine Internet-Programme und taufte diese Javascript. Ein Marketing-Schachzug, Javascript hat mit Java nichts zu tun. Apropos Kaffee: Auf Java gedeiht Kaffee und dieses Getränk hält EDV-Wesen (seltsame Wesen, die mit Maschinen kommunizieren, welche manchmal sogar vernünftig reagieren) nächtens auf Trab; vielleicht ist deshalb eine Kaffeetasse das von Sun kreierte Markenzeichen Javas.

Beschreibung

Ein Ausschnitt aus einem White Paper von Sun: "Java ist eine einfache, objektorientierte, verteilte, interpretierte, robuste, sichere, architekturneutrale, portable, leistungsfähig und dynamische Sprache mit Multithreading Fähigkeiten.". Der Kern von Java ist relativ klein. Wer C++ programmieren kann, sollte Java leicht lernen. Hervorzuheben ist die Plattform-unabhängigkeit. Das bedeutet, daß Java-Programme auf Windows geschrieben, auf Solaris getestet und auf Unix-Rechnern eingesetzt werden können. Die oben erwähnte Perspektive einer Steuerung von Haushaltsgeräten mit Java wurde nicht aus den Augen verloren. Eine solche Einsetzbarkeit in verschiedenen Systemumgebungen wird dadurch erreicht, daß ein Javaprogramm in einen Bytecode kompiliert wird, welcher von einem Interpreter (Java Virtual Machine) des jeweiligen Systems ausgeführt wird. Leider bedeutet Interpretieren höheren Rechneraufwand zur Laufzeit und einen Nachteil gegenüber Maschinencode - Javaprogramme sind um Faktor 10 bis 20 langsamer gegenüber kompiliertem C-Code. Als Lösung bietet sich JIT (Just-in-time-Compiler) an, der Javacode in Maschinencode übersetzt. Dieser ist nur auf dem Zielsystem lauffähig - Plattformunabhängigkeit ade! Aber: die Portabilität des Javacodes ist weiterhin gegeben. Erwähnenswert wäre noch, daß Java eine objektorientierte Programmierung unterstützt. Objekte sind eigenständige Funktionseinheiten, welche ein Verhalten haben und auf Nachrichten reagieren. Der Sinn der Objektorientierung ist die Wiederverwendbarkeit von Programmen, womit eine Reduktion von Entwicklungs- und Testaufwand erreicht werden soll. Objekte sind eigenständige Einheiten, welche miteinander (asynchron) kommunizieren können.

Java hat Klasse

Klassen sind in der Objektorientierung ein abstraktes Modell, nach dem Objekte, sogenannte Instanzen, erstellt werden können. Beispiel: Eine Klasse könnte ein Auto sein. Ein Auto hat eine Farbe und Türen. Ein Objekt ist rot mit 2 Türen, ein anderes blau mit vier Türen. Die einzelnen Objekte mögen sich von einander unterscheiden, sie sind aber alle Objekte der Klasse Auto. Klassen werden durch Eigenschaften und Verhalten definiert. Ein Auto hat z.B. die Eigenschaften Farbe, Länge oder Motorleistung oder der Zustand 'Motor ist angestellt'. Die Eigenschaften werden in Variablen definiert, Instanzen erhalten diese Variablen ("Instanzvariable") individuell. Jede Klasse kann über auch Klassenvariable verfügen, deren Wert für alle Instanzen gleich ist. Klassen verfügen über Funktionen, sogenannten Methoden, welche das Verhalten einer Klasse bestimmen, wenn Eigenschaften geändert werden. Ein Beispiel aus der EDV: Ein Druckknopf (Button) hat eine Form, eine Farbe, einen Text und eine Position. Ein Objekt ist der quadratische, rote Ende-Knopf mit dem Text "Ende" links oben. Wird die Klasse dahingehend geändert, daß bei Mauszeigerberührung ein Sound gespielt wird, so gilt dies für alle Knöpfe am Schirm. Wann immer der Benutzer mit der Maus einen Knopf überfährt, ertönt ein kurzer Ton.

Java sehen und erben

Vererben bedeutet weitergeben von Eigenschaften. Mutterklassen (auch Superklassen) können an Tochterklassen (auch Subklassen) Eigenschaften weitergeben. Beispiel: Die Klasse Fahrzeug kann "beschleunigen", "fahren" und "bremsen". Die Tochterklasse Motorrad kann "umfallen", die Klasse Auto nicht (Eventuelle Ausnahme: Die S-Klasse eines deutschen Herstellers ist 'eine Klasse für sich'). Subklassen können wiederum Superklassen für andere Subklassen sein. Je tiefer der Vererbungsbaum geht, desto spezieller werden die Klassen; je höher desto abstrakter und globaler.

Software und Internet

Das JDK (Java Development Kit) zum Programmieren ist gratis ladbar von der Sun-Website. Ein Einstieg lohnt sich, gewiefte Programmierer werden jedoch komfortablere Werkzeuge wie etwa Symantecs Cafe oder IBMs Visual Age for Java bevorzugen. Kleine nicht selbständig lauffähige Javaprogramme, sogenannte Applets, sind Klassen und benötigen zur Ausführung andere Klassen. Dieses Konzept ist für das Internet von Bedeutung, wo Browser, etwa von Microsoft oder Netscape, Javaklassen zur Verfügung stellen und die über das überlastete WWW - World Wide Wait :-) - übertragenen Applets klein sind.

Weiterführende Links


http://java.sun.com/
http://www.gamelan.com/
http://www.javaworld.com/
News:de.comp.lang.java


Zurück zur Übersicht