
Java ist eine objektorientierte Programmiersprache die getreu dem Motto „write once, run everywhere“ (frei übersetzt: einmal schreiben, überall nutzen) genutzt wird. Gerade diese Stärke wird oft als Vorteil von Java genannt (und ist definitiv auch einer!), man muss jedoch bei einigen Dingen vorsichtig sein, denn oft kann es auch dazu kommen, das aus dem gut gemeinten Motto eher so etwas wird: „write once, debug everywhere“. Da man genau dies natürlich vermeiden möchte, sollte man die folgenden Hinweise beachten:
- Man sollte sich nicht auf die Groß-/Kleinschreibung eines Systems verlassen (case (in)sensitivity), gerade Windows und Linux sind da unterschiedlich.
- Man darf sich nicht auf den Pfad-Seperator (Tipp) verlassen, ob das nun ein Slash (/) oder ein Backslash (\) ist, ist vorher nicht immer ganz klar.
- Ebenso darf man sich nicht auf das Zeilenende (\n vs. \n\r) verlassen, auch hier sind Windows und Linux unterschiedlich.
- Das Standard-Encoding (UTF-8 vs. CP-1252) ist auf fast jeder Plattform anders, darauf sollte man sich also nicht verlassen.
- Verwende keine Programmaufrufe wie „cmd.exe“, außer man legt sich zu 100% auf Windows fest.
- Verlasse dich nicht auf Pfad-Prefixe wie \\ oder C:\.
- Nutze keine betriebssystem-spezifischen Tastaturbelegungen wie die Windows-Taste.
- Achte auf die JVM in der das Programm läuft, com.sun.* ist nicht überall verfügbar.
Die Liste ist nicht zu 100% vollständig, deckt aber die häufigsten Probleme auf. Kennt ihr noch weitere? Worauf muss man noch achten, wenn man für verschiedenen Plattformen entwickelt?