Suche Home Einstellungen Anmelden Hilfe  

Vor- und Nachteile von JAVA

Java - Vorteile

Java - Nachteile:

Der größte Vorteil ist auch gleichzeitig ein Nachteil: die Performance ist verringert, da Java-Code vom Interpreter (der die Plattformunabhängigkeit erst möglich macht) interpretiert wird. Momentan sind Java-Applikationen etwas langsamer als vergleichbare Anwendungen, die in C++ geschrieben wurden

 

Java – Begriffe
Einige Bemerkungen zu gerade genannten Begriffen und Eigenschaften von JAVA .

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 kurz erläutert :

Objektorientiert

In Java geschriebene Programme benutzen Objekte. Objekte werden in zwei Bestandteile unterteilt, Datenelemente und die dazugehörigen Funkionen (Methoden). Inhalte von Datenelementen repräsentieren den Zustand, in dem ein Objekt sich gerade befindet. Funktionen sind Operationen, die ein Datenobjekt von einem Zustand in einen anderen versetzen. Die Gesamtheit von Objekten mit gleichen Eigenschaften wird als Klasse bezeichnet. Objektorientiertes Programmieren ist die Zusammenstellung von Klassenbeschreibungen, d.h. die Beschreibung der Datenelemente, die jedes Objekt der Klasse enthält, sowie der Funktionen, die auf jedes Objekt der Klasse anwendbar sind. Diese sind z.B. im Rahmen eines größeren Programmpaketes wiederverwendbar. Somit kann man sich im Laufe der Zeit eine umfangreiche Bibliothek (Klassenbibliothek) verschiedener Objekte anlegen. Ein Satz Bibliotheken für Standardaufgaben (wie z.B. Ein/Ausgabe oder Graphik) wird zur Sprache mitgeliefert. 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. 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 hat leicht benutzbare Synchronisationseigenschaften, die die Schwierigkeiten der Programmierung solcher Umgebungen einfacher machen sollen. - Sicher und robust Java-Programme können vor der Ausführung verifiziert werden, da sie keine Zeiger haben und in Bytecode vorliegen. Die Verifizierung wird 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. - 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.


Vergleich mit anderen Programmiersprachen

Java ist eine objektorientierte, interpretative, hardwareunabhängige, netzwerkfähige, multitaskingfähige, dynamisch erweiterbare
Programmiersprache mit strenger Typisierung und einigen Sicherheitsmaßnahmen. Die Ausführungsgeschwindigkeit von Javas
Bytecode ist genügend gut für Benutzerinterfaces. Zeitkritische Programmabschnitte lassen sich vor der Ausführung in direkte
Maschinencode des Zielrechners umwandeln. Der Compiler macht ein paar Optimierungen und erzeugt relativ guten Code.
Java ist streng typisiert und zwingt die Programmierer, frühzeitig Entscheidungen zu treffen. Anderenseits unterstütz er sie auch,
indem er viele mögliche Fehlerquellen schon zur Kompilierzeit aufdeckt. Da Java erst sehr spät die eigentlichen
Methodenaufrufe bindet und keinerlei Aussagen über das Layout der Klassen im Speicher von Zielsystem erlaubt, zwingt er die
Programmierer, von unsauberem Programmierstil abzusehen. Hier noch ein Vergleich mit anderen Programmirsprachen:

            Vergleich von Java mit anderen Programmiersprachen. Quelle: Sun Microsystems

In der Programmiersprache Java hat man versucht, die besten Eigenschaften von C++, SmallTalk, Oberon, Eiffel, Perl und
anderen Programmiersprachen zu vereinen. Es ist ein Kompromiß zwischen einer hohen Ausführungsgeschwindigkeit, guter
Portierbarkeit und Felxibilität.

Benutzer: Gast • Besitzer: seminar • Zuletzt geändert am: