Hallo Mauki
Original geschrieben von Mauki
Ich möchte noch auf meine alten Tage ne Programmiersprache lernen. Nun wird meine Wahl wohl auf Java fallen. Dazu hätte ich noch einige Fragen.
1) Es heist ja immer das Java ideal für Einsteiger sei ?
2) Läuft ne Java App problemlos auf dem Mac und unter Win bzw Linux ?
3) Wo sind den die Vorteile und die Nachteile von Java besonders auf Mac, Win und Linux bezogen. Ich habe mal gehört, Java sei langsam ?
4) Kann man eine GUI unter Java programmieren die auch dann nach Mac oder Win bzw Linux aussieht ?
4) Welche bekannten Programme für den Mac sind den in Java programmiert ?
ich veruche mal deine Fragen zu beantworten, auch wenn ich kein Java-Guru bin... Ja ich habe sogar ein recht gespaltenes Verhältnis zu Java..
1. Java ist geeignet für Einsteiger die eine moderne Objekt orintierte Programiersprache lernen wollen. Java ist recht mächtig und ist plattformunabhängig, läuft also auf jedem Rechner für den es eine virtual machine gibt.
Ich finde Pascal noch eine schöne Einsteiger-Sprache, ist aber halt prozedurel und nicht objekt orientiert. Von C und C++ kann ich für den Einsteiger eigentlich nur abraten. Nimm da lieber Java. Da lernst du das gleiche, hast aber weniger Stress mit dem System
Ein Switching von Java nach C++ sollte dann nicht allzu schwer fallen. Aber wenn du mal auf Java bist willst du wahrscheinlich nicht nach C (wenn du keine Guten Gründe hast wie Performance etc.)
2. Die Apps laufen auf fast jeder Plattform. Der Witz ist, dass Java keinen echten Maschinencode erstellt, der dann direkt auf deinem Prozessor läuft, sondern Code erstellt der auf einer virtuellen Maschine läuft. Diese Maschine ist auch ein Programm, das es für viele verschiedene Rechner gibt. Daher ist Java auch ein wenig lahm... Es läuft noch die virtuelle Maschine dazwischen. Dafür kannst du aber in 2 Jahren die ganzen Programme vielleicht auch ohne viel Aufwand auf deinem Eierkocher oder Kühlschrank laufen lassen..
(War das nicht darmals der Hintergrund von Java?)
3. Java ist definitiv langsamer als nativer C++-Code. Ja ich kenne die Tests und Aussagen, dass moderner Java-Code allemal mithalten kann. Eigentlich ist das aber kaum ein Problem. Ich denke nicht, dass du zeitkritische Anwendungen schreiben wills, und dafür hast du den Vorteil, dass es überall läuft. Naja und C++ ist Java sehr ähnlich, daher kannst du dann auch leicht auf C++ schwenken wenn du das später willst. Java ist eigentlich auf jeder Plattform gleich zu bewerten, denke ich.
Ein großer Vorteil ist, dass es eine Garbage-Collector gibt. Ebenso ist es für die Entstehung sauberer Programme positiv, dass Pointer in Java (offiziell) ganz abgeschafft wurden (und durch referenzen ersetzt).
4. (erstes mal) Java sah immer nach Java aus. Aber angeblich soll die Java-eigene GUI ("swing"(?)) überarbeitet worden sein. Ich glaube aber, dass es sich immer noch nicht ein OS-Theme pressen lässt. Das Erstellen von grafischen Anwendungen ist aber recht einfach unter Java.
4. (die Zweite) Da muss ich passen.... Mein Mac ist noch nicht da
Aber ich hoffe dass ich bals in den being assembled Status über gehe. carro
Ich hoffe ich habe hier keinen allzu großen Mist erzählt. Bin wie gesagt kein Java-Jünger.... Bin aber um Verbesserungen glücklich
CU