Java Projekt

Intention

In meinem Berufsleben habe ich intensiven Kontakt mit der objektorientierten Programmiersprache C++ gehabt. Einige Programme und Anwendungen sind für diese Programmiersprache geplant und darin realisiert worden. Mit dem Internet Boom ist nun auch Java zu einer etablierten objektorientierten Programmiersprache geworden. Es wird Java zudem nachgesagt, dass es eine „sauberere“ Programmierung erzwingt, da es nicht alle in C++ möglichen Konstrukte unterstützt z.B. Pointer zu allem und jedem.

Ziele

Ich möchte verstehen, was die wesentlichen Unterschiede zwischen C++ und Java sind

Erste Erfahrungen

Es stellte sich sehr schnell heraus, dass die auftretenden Fragen nicht von Java oder C++ abhängen, sondern in einer übergeordneten abstrakteren Ebene gelöst werden müssen. Fragen wie: Wie ist der Kontrollfluss, welche Eigenschaft soll welches Objekt bekommen, wie kann ich die Objekte zusammenfassen, Eigenschaften generalisieren usw. führen sehr schnell zu irgendwelchen grafischen Darstellungen, mit denen die Zusammenhänge verdeutlicht werden sollen.

An diesem Punkt angelangt, taucht nun die Frage auf, ob es denn nicht auch eine eindeutige und weiterverbreitete Methode sowie eine allgemein bekannte Darstellung dazu gibt. Auch hier wird man schnell fündig. Die im Moment umfassendste Methode ist wohl die UML. Aber in einigen speziellen Bereichen werden auch noch andere Methoden wie z.B. Entity-Relationschip-Model (ER), Zustands-Automaten und last but not least die Petri-Netze eingesetzt. Weitere Informationen dazu unter Punkt Grundlagen weiter unten.

Aber erst soll ja mal ein einfaches Java Programm erstellt werden. 

Projekt: Schiffeversenken

Das erste Projekt ist ein kleines Applet zum Spielen von Schiffeversenken. Die Sourcen habe ich im Internet gefunden, leider ohne Angabe des Autors.

Grundlagen

Als erste Quelle zu allen Java bezogenen Informationen dient mir die JDK und Java Dokumentation von Sun Microsystems, dem Erfinder von Java (www.sun.com).

Als ein deutschsprachiges Nachschlagewerk dient mir das Buch „JAVA, Programmierhandbuch und Referenz für die Java-2-Plattform“ aus dem dpunkt.verlag (ISBN 3-920993-82-9). Das Buch eignet sich als Nachschlagewerk für den, der schon etwas Erfahrung im Umgang mit Java hat, ist als Lehrbuch jedoch nach meiner Meinung nicht zu empfehlen.

Neben den reinen Kenntnissen der Programmiersprache muss ein Softwareentwickler auch Kenntnisse der Methodik und der üblichen Verfahren im Bereich Softwareentwicklung haben. Als hervoragendes aber leider nicht ganz billiges Buch kann ich das „Lehrbuch der Software-Technik“ von Helmut Balzer aus dem Spektrum Verlag empfehlen (ISBN 3-8274-0480-0). In der zweiten Auflage sind die meisten Beispiele in UML und in Java dargestellt. In der Ersten Auflage waren die Beispiele meist in C++.

Werkzeuge

Bis jetzt wurden keine komplexen Entwicklungsumgebungen benutzt. Als Editor dient Jedit (www.jedit.org) und als Compiler wird das JDK von Sun Microsystems eingesetzt (www.sun.com)