3 Das Computerprogramm

 

3.1 Zur Wahl der Programmiersprache

 

Der Hauptteil der Facharbeit ist die Realisierung der vorgestellten numerischen Verfahren in einem Computerprogramm. Das Programm wurde mit der Programmiersprache Java unter dem Betriebssystem Windows95 geschrieben und mit dem Java-Compiler 1.1.7 kompiliert. Da Java noch eine sehr junge Programmiersprache ist und über interessante Fähigkeiten verfügt, möchte ich Java kurz vorstellen.

Java wurde anfangs für das Internet konzipiert, um interaktive Anwendungen im Internet zu ermöglichen. Diese werden auch "Applets" genannt, das sind Programme, die in HTML – Seiten "eingebettet" werden können und von einem Java – fähigen Webbrowser ausgeführt werden.

Java ist vollkommen objekt-orientiert aufgebaut und verlangt daher vom Programmierer eine objekt – orientierte Programmierweise. Allgemein heißt das, dass man sich als Programmierer mehr auf Daten und die Methoden konzentriert, die diese Daten bearbeiten, als dass man den Code strikt nach dem Schema von Prozeduren schreibt. Zusammen bilden Methoden und Daten in einer objekt-orientierten Sprache ein Objekt. Die Objektbeschreibung wird in Klassen vorgenommen. Die Klassen stehen in Abhängigkeiten zueinander und bilden eine "Klassenhierachie". So ist z. B. die Java-API (Application Programming Interface) konsequent nach diesem System aufgebaut.

Auch das Innenleben von Java ist neu: Es gibt keine Zeiger mehr, das sind manipulierbare Variablen, die Speicheradressen enthalten. Java arbeitet mit Referenzen, die nicht manipulierbar sind. Dadurch ist eine Stelle, die oftmals Fehler verursacht hat, zum Beispiel durch Überschreiben von Speicher, beseitigt. Weiterhin gibt es ein automatisches Speichermanagement (garbage collection), was von Anfang an den Programmierer von der Pflicht befreit, nicht mehr benutzten Speicher freizugeben und schützt ihn auch vor Zugriffen auf ungültige Zeigerinhalte. Dies trägt maßgeblich zur Robustheit und Sicherheit von Java bei.

Java ist eine interpretierte Sprache. Der Java Compiler erzeugt aus dem Quelltext der .java-Dateien keinen Maschinencode, sondern den Byte-Code in den .class-Dateien und der Java Interpreter, auch Laufzeitumgebung genannt, führt dann den Byte-Code aus. Um Java-Programme laufen zu lassen, muss die Laufzeitumgebung installiert sein. Der Vorteil dieser Konzeption ist, dass ein Programm, wenn es einmal geschrieben und kompiliert ist, auf verschiedenen Plattformen wie Unix, Windows95, Macintosh und sogar im Internet als Applet, falls dies vorgesehen wurde, laufen kann. Sogar die äußere Erscheinung der Benutzeroberfläche paßt sich automatisch durch das AWT-Package (Abstract Windowing Toolkit) an das jeweilige System an. Das macht Java so flexibel. Sicherlich wird ein Programm in Java nie so schnell sein wie ein auf Maschinencode basierendes, jedoch ist die Leistung ausreichend, um Applikationen interaktiv laufen zu lassen, da das Programm oft auf Eingaben des Benutzer wartet. Bei rechenintensiven Polynomberechnungen oder bei der Grafikausgabe macht sich dieses Faktum allerdings bemerkbar.

Entscheidend war und ist für die rasche Verbreitung und schnelle Weiterentwicklung von Java seit dem Start 1996, dass es vom Hersteller Sun Microsystems frei vertrieben wird und über das Internet unter www.sun.java.com erhältlich ist.