Neue Sprache lernen

Hallo,

ich habe mich entschlossen wieder mal eine neue Programmiersprache zu lernen. Im Moment programmiere ich taeglich mit perl, php mit mysql und auch html/css. Habe vor langer, langer Zeit auch schon mal C, Fortran, Basic usw. gelernt, aber davon weiss ich kaum noch etwas ausser den allgemeinen Programmier-Grundbegriffen.

Nun suche ich nach einer Sprache mit der ich Programme entwickeln kann, die auf verschiedenen Plattformen laufen: Windows, Linux, Mac und bin dabei auf Java gestossen.

Was mir noch nicht so ganz klar ist:
Wie gross ist der Mehr-Aufwand um ein Programm z.B. fuer die drei verschiedenen Plattformen in Java zu schreiben?
Welche Voraussetzungen muss der jeweilige Anwender-Computer haben, damit das Java-Programm dann dort auch laeuft?

Waere toll, wenn Ihr mir da mit ein paar Infos weiterhelfen koenntet. In den allgemeinen Java-Grundlagen bin ich da nicht so fuendig geworden.

Christian

Java VM
Javaprogramme laufen in einer eignen Virtuellen Maschine. Deshalb sind sie in der Regel absolute identisch. Man hat keinen Mehraufwand um es für ein anderes Betriebsystem zugänglich zu machen.

Ausnahmen bestätigen die Regel: Mit Java steht dir auch eine C/C++ Schnittstelle zur Verfügung. Solltest du tatsächlich das nutzen um Betriebsystemschnittstellen zu verwenden, musst du natürlich für Windows anderen Code als für UNIX (Linux und MAC sind UNIX Zertifiziert und als solches zu betrachten). Aber das sollten die wenigsten Programme benötigen.

Insofer ist Java Ideal für OS unabhängige Programmierung. Ich habe Java damals mit dem Buch „Java Kompendium“ von Dirk Louis gelernt.

Nun, es gibt schon ein paar Unterschiede, die darüber hinaus gehen. Bei Dateioperationen muss man sich z.B. angewöhnen, ausserhalb von „C:“ zu denken. Auch beim Einsatz von zusätzlichen Bibliotheken, die auf Hardware zugreifen, muss man aufpassen. Z.B. gibt es Unterschiede bei dem Zugriff auf serielle Ports mit RXTX oder die Behandlung von USB-Webcams und iSight auf dem Macbook (da häng ich gerade…).

Ansonsten gilt: Bei der Programmierung an Java-Standards halten und man kommt relativ ungeschoren davon. :wink: