Erste Schritte Womit anfangen, Java 6 oder 7 ?

Dingels

Mitglied
Schönen guten Abend allerseits,

eure Community hat ab sofort ein Mitglied mehr, dem ihr mit Rat und Tat zur Seite stehen könnt. Ist das nicht schön? :toll:
Ähm ja...kurz zu mir: Ich bin Master-Student der Computerlinguistik und habe bereits reichlich Erfahrung im Programmieren mit Python gesammelt. Was Java betrifft, bin ich allerdings ein blutiger Anfänger. Ein Software-Projekt an der Uni macht es nun notwendig, dass ich mich endlich mal in Java einarbeite. Allerdings stellt sich mir nun die Frage, welche Sprachversion ich verwenden soll. Java 6 oder 7?

Nach dem zu urteilen, was ich bisher auf diversen Seiten im Netz so gelesen habe, scheinen die Unterschiede / Neuerungen nicht so gravierend für den Otto Normalprogrammierer zu sein, oder? Als Computerlinguist habe ich hauptsächlich mit dem Einlesen und Verarbeiten von Texten zu tun. Aspekte wie etwa Netzwerk- oder GUI-Programmierung sind für mich also völlig irrelevant. Ist es in einem solchen Fall egal, mit welcher Version ich starte? Ich würde eigentlich gern mit dem Javainsel-Buch lernen, aber das basiert auf Java 6 und ich möchte ungern eine möglicherweise bald veraltete Version lernen.

Diesbezüglich noch eine verwandte Frage: Wie sieht es generell mit der Kompatibilität von externen Bibliotheken zu neuen Sprachversionen aus? Sind ältere Bibliotheken in der Regel weiterhin kompatibel oder nicht? Ich möchte nämlich gern auf eine Bibliothek zurückgreifen, die laut Entwickler Java 4 oder neuer voraussetzt. Bedeutet das, dass sie auch mit Version 6 und 7 funktionieren wird?

Herzlichen Dank im Voraus! 🙂
 
Hallo erstmal,
momentan würde ich dir wohl anraten, J6 zu nutzen, da es in 7 noch so einige Bugs gibt. Prinzipiell macht es aber nicht einen so großen Unterschied, welche Version du verwendest.
Java ist in der Regel abwärtskompatibel, ergo solltest du da keine Probleme bekommen 😉
 
momentan würde ich dir wohl anraten, J6 zu nutzen, da es in 7 noch so einige Bugs gibt

Ich denke nicht, dass man als Anfänger sich mit den Sachen beschäftigen wird, die zZ verbugt sind. Von daher ist es im Grunde egal, die grundlegenden Sachen (Syntax, HalloWelt, Taschenrechner etc) werden eh jede menge Zeit in Anspruch nehmen, bis dahin kann ja schon Update 999 draußen sein.
 
Software-Projekt an der Uni macht es nun notwendig, dass ich mich endlich mal in Java einarbeite.
Endlich? Muss es denn unbedingt die Sprache Java sein oder geht es eher um die JVM? Jython oder Scala fallen mir da als bessere Alternativen (vor allem für einen Python-Programmier) ein. 😉

Nach dem zu urteilen, was ich bisher auf diversen Seiten im Netz so gelesen habe, scheinen die Unterschiede / Neuerungen nicht so gravierend für den Otto Normalprogrammierer zu sein, oder?
Sie sind wirklich minimal. Was am ehesten beim Programmieren auffallen wird ist der Diamond-Operator (ganz nett, dann sind die Typangaben bei Collections nicht mehr ganz so hässlich) und das switch mit Strings.
Dadurch wird ja kein Code falsch, der mit Java 6 geschrieben wurde. Er wirkt nur ein bisschen weniger "elegant"...
 
Endlich? Muss es denn unbedingt die Sprache Java sein oder geht es eher um die JVM? Jython oder Scala fallen mir da als bessere Alternativen (vor allem für einen Python-Programmier) ein. 😉

Das Software-Projekt ist eine Gruppenarbeit und ich bin der einzige, der wenig bis keine Erfahrung mit Java hat.😳 Außerdem machen sich Java-Kenntnisse immer gut im Lebenslauf. So sehr ich Python auch schätze, es wird auf dem Arbeitsmarkt leider nicht so sehr verlangt wie Java. Jython hab ich vor einiger Zeit mal getestet, aber ich finde es äußerst langsam auf der JVM und außerdem befindet es sich noch auf dem veralteten Stand von Version 2.5. Aktuell ist nämlich Version 2.7.

Aber wie ich sehe, gehen die Meinungen auseinander. Ich denke, ich werd erst mal Java 6 benutzen, da ich auf nem Mac arbeite und es noch keine offizielle Version für OS X gibt.

Danke jedenfalls für eure Antworten. 🙂
 
Das Software-Projekt ist eine Gruppenarbeit und ich bin der einzige, der wenig bis keine Erfahrung mit Java hat.😳
Aber interessant, dass man an einer Uni (oder?) noch nie Java programmieren musste. Wo geht denn das?

Jython hab ich vor einiger Zeit mal getestet, aber ich finde es äußerst langsam auf der JVM und außerdem befindet es sich noch auf dem veralteten Stand von Version 2.5. Aktuell ist nämlich Version 2.7.
Ja, da tut sich leider zu wenig. Von Python 3.2 wollen wir gar nicht reden...
Deswegen nutze ich auf der JVM eher Scala, da kann man je nach Bedarf ganz gut (fast)-Python oder (fast)-Java-Code schreiben 😉
 
"Die Java-Version 7 wurde am 28. Juli 2011 fertiggestellt." Quelle: Wikipedia

In vielen Unternehmen wird heute immer noch der Internet Explorer 6 genutzt. Das liegt unter anderem auch daran, dass es intern viele Anwendungen gibt, die speziell für diesen Browser konzipiert wurden, und diese Anwendungen in neueren Versionen nicht richtig funktionieren.

Was ich damit sagen will: Java 7 gibt es seit ein paar Monaten. Es wird noch sehr lange dauern bis Java 7 auch in den Unternehmen angekommen ist. Von daher machst du absolut nichts falsch, wenn du mit Java 6 anfängst. Zumal du, wenn du Java 6 verinnerlicht hast, nicht besonders viele Probleme damit haben wirst, dich auf Java 7 umzustellen. Die Konzepte sind ja nach wie vor gleich, natürlich gibt es ein paar Änderungen, aber das ist kein Grund direkt mit der 7er Version anzufangen, zumal du, wenn du ins Berufsleben startest, eher mit der 6er Version in Kontakt kommen wirst, und dich dann wunderst, warum dies und das nicht funktioniert.

Und wo du das mit dem Lebenslauf ansprichst, ich bin selbst seit einiger Zeit fertiger Student und auf Jobsuche, daher kenne ich unzählige Stellenanzeigen, und Java-Kenntnisse können definitiv nicht schaden!
 
Zuletzt bearbeitet:
Aber interessant, dass man an einer Uni (oder?) noch nie Java programmieren musste. Wo geht denn das?

Nun, das geht dann, wenn man im Bachelor nicht Informatik, sondern Linguistik studiert hat. 😉 Programmierkurse sind in solch einem Fach eher unüblich. Wobei es in meinem Fall aber Python-Kurse gab. Java jedoch nicht.

Also, ich bleib jetzt erst mal bei 1.6. Nochmals dankeschön an alle! 🙂
 
Wenn ich jetzt in meinem programm strings switche kann das programm dann von jemandem mit einer veralteten jre version trotzdem ausgeführt werden?


Sooo sicher bin ich mir da gar nicht: Der Bytecode ist ja immernoch valider bytecode - durch das String-Switch wurde am Bytecode ja nichts geändert (im Gegensatz zu 'invokedynamic') !? Man kann notfalls ja auch das 'target' angeben, so dass es auch auf einer älteren JVM laufen sollte.
 

Zurück
Oben