1. März 2003: Vortrag "Java unter Linux" (mit Bild und Ton) auf den 5. Chemnitzer Linuxtagen
6. März 2005: Vortrag "Bringt AOP das Aus für Java und OO" auf den Chemnitzer Linuxtagen

Java SW-Engineering unter LinuxJava gefällig?

Das Internet erwies sich als unschätzbare Quelle für mein Buch "Java SW-Engineering unter Linux", das beim millin Verlag (ehem. SuSE PRESS) erscheint, Damit Sie beim Lesen des Buchs nicht jedesmal die dort enthaltenen Verweise mühevoll in Ihren Lieblingsbrowser eintippen müssen, sind sie auf dieser Seite (sowie unter InfoQuellen) versammelt (zusammen mit weiteren Informationen). Der Aufbau dieser Link-Sammlung orientiert sich dabei nach den einzelnen Teilen des Buchs, gefolgt von Sonstiges.

Inhalt

  1. Einleitung
  2. JDK
  3. Entwicklung
  4. Enterprise-Java
  5. Testen
  6. Java für Fortgeschrittene
  7. Verbesserung der Qualität
  8. SW-Verteilung
  9. Ende
  10. Anhang
  11. Literatur
Anmerkungen:
  • Ist Java-Entwicklung unter Linux wirklich so anders? Nein, das Buch geht aber auch auf ein paar linux-spezifische Dinge wie die Auswahl des JDKs oder auf die Frage ein, welche Vorteile (und Nachteile) Linux als Entwicklungsplattform im Vergleich zu Windows bietet.
  • Das Buch richtet sich eher an den fortgeschritteneren Java-Jünger. Wer eher eine Einführung zu Java sucht, dem kann ich die Java Schulungsunterlagen von Hubert Partl empfehlen, die sehr gut zum Selbstudium geeignet sind oder das sehr umfassende Buch Handbuch der Java-Programmierung von Guido Krüger, das alle wichtigen Java-Themen behandelt und auch gut als Nachschlagewerk geeignet ist.

Wer vor lauter Links das Internet nicht findet, kann sich auch Hilfe bei einer der zahlreichen User Groups suchen. Eine recht aktive Gruppe stellt die JUGS (Java User Group Stuttgart) dar, deren Höhepunkt das jährliche Java Forum ist. Und bei LinUGS erhält man Entscheidungshilfe, ob man Linux überhaupt braucht.

Um festszustellen, ob Sie das Buch "Java SW-Engineering unter Linux" benötigen, müssen Sie es schon lesen:-) Oder Sie lassen sich von den verschiedenen Rezensionen dazu anregen.


Einleitung

Warum bietet Linux die bessere Entwicklungs-Umgebung? Ist Java wirklich das bessere C++? Und gibt es neben dem Stromschnellen-Modell (ständiges Auf und Ab, bevor das Projekt den Bach runter get) noch weitere Entwicklungs-Modelle? Für die Antwort auf diese Fragen gibt es neben dem Teil I des Buches folgende Links:


JDK (Java Development Kit)

Egal, nach welcher Methode und mit welchen Tools man entwickelt, das JDK ist stets ein treuer Begleiter bei der Java-Programmierung. Deswegen lohnt es sich, sich näher damit auseinanderzusetzen.


Entwicklung

Nach Murphy kann ja bei der SW-Entwicklung einiges schiefgehen. Zum Glück gibt es eine Reihe von Tools und Vorgehensweisen, um das Schiefgehen besser kontrollieren zu können.


Enterprise-Java

Im Server-Bereich hat sich Linux inzwischen seinen festen Platz erobert. Auch Java ist serverseitig nicht mehr wegzudenken, werden doch mit der Java2 Enterprise Edition (J2EE) von Sun eine Reihe von Techniken wie JDBC, Servlets, JSP, EJB, ... spezifizert, um Java auf dem Server zu etablieren.


Testen

Durch Testen läßt sich leider nicht die Fehlerfreiheit eines Programms feststellen, sondern nur, ob noch Fehler vorhanden sind. Werden keine Fehler gefunden, heißt das noch lange nicht, dass keine drin sind!

Performance

Für das Tieferlegen von Java-Programmen sind vor allem Profiler das richtige Werkzeug, um das letzte Quäntchen Leistung aus der VM herauszuquetschen.

Mehr als in anderen Programmiersprachen hat man in Java mit Performance-Problemen zu kämpfen. Neben guten Ratschlägen und Tuning-Tipps gibt es Java-Optimierier die hier für Abhilfe sorgen sollen.

Natürlich gibt es auch Bücher zu diesem Thema. Eines davon ist "Java Platform Performance - Strategies and Tactics" von Suns Java Performance Team, das auch online gelesen werden kann.


Java für Fortgeschrittene


Verbesserung der Qualität

Auch die Qualität von Programmen sollte bei der Entwicklung berücksichtigt werden.


SW-Verteilung

Endlich fertig mit der Entwicklung? Dann gibt es mehrere Möglichkeiten, das Programm an den Mann bzw. auf den Rechner zu bringen und vor allem auch die Bug-Liste zu verwalten.


Ende

Wie wird es weitergehen mit Java? Auf der Serverseite wird sich sicherlich der Trend fotsetzen, bereits vorhandene Lösungsansezte unter einer gemeinsamen Schnittstelle zusammenzufassen und über den Java Community Process (JCP) zu koordinieren. Für den Low-End-Bereich gibt es inzwischen die ersten Prozessoren, die Byte-Code verarbeiten können (z.B. der ARM-Prozessor). Auch im Echtzeitbereich wird dank spezieller VMs (wie z.B. die J9-VM von OTI) verstärkt vordringen, nicht nur bei Siemens.

Im Linux-Bereich beginnt man so langsam das Potential der Benutzer und Administratoren zu erahnen. So hat der amerikanische IT-Versicherer Wurzler die Versicherungsprämien gegen Hacker-Angriffe auf Linux-Systeme gegenüber Windows-Systemen gesenkt. Begründung: Linux-Administratoren sind besser und kompetenter!


Anhang

Um sich vom Rest der (Fach-)Welt abzugrenzen werden in der Computerwelt gern Akronyme und Abkürzungen verwendet. Damit auch Sie mitreden bzw. Ihren Chef verwirrenkönnen, gibt es neben dem New Hacker's Dictionary (und der Anleitung "How to become a Hacker") hier einige weitere Anregungen:

Weitere (Linux-) Begriffe kann man z.B. in "Linux Glossary for Windows user" nachschlagen.


Literatur


Sonstiges

Linux ist als Entwicklungsplattform unschlagbar, was den Umfang an Tools für die SW-Entwicklung angeht, die bereits in der Grundausstattung der meisten Distributionen enthalten sind. Sollte doch etwas fehlen, so bietet das Internet eine Fülle weitere nützlicher Tools an.


© 22. Dezember 2005,