PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tiger Beta 1


HellHorse
2004-02-05, 12:14:19
Juhu, endlich ist Beta 1 von Tiger da :)
(und ich bin der Erste, der es postet) :D
http://java.sun.com/j2se/1.5.0/index.jsp
Schade, dass ich erst ab Di Zeit habe, damit rumzuspielen. :(

Aqualon
2004-02-05, 18:06:26
Die Änderungen von Java 1.5 gibt es unter http://java.sun.com/developer/technicalArticles/releases/j2se15/

Ich werde aber wohl bis zur final 1.5er warten, bis ich mir das genauer anschaue. Für den Normaluser ist das Update momentan eh nicht interessant.

Aqua

Stone2001
2004-02-05, 18:07:48
Naja, die Beta gibt es schon etwas länger, nur mußte man sich vorher registrieren.

Zumindest befindet sich eine Beta-Version von Java 1.5 vom 24.12.2003 auf meinem Rechner.

EDIT: Es könnte auch eine Alpha-Version sein, die ich drauf habe. Zumindest steht im betreffenden Artikel bei Heise.de, das es eine Alpha-Version ist, die an diesem Tage veröffentlicht wurde.

HellHorse
2004-02-05, 18:41:39
Original geschrieben von Aqualon
...
Für den Normaluser ist das Update momentan eh nicht interessant.
...
Häh?
Da wurde so viel zum Guten geändert, ich weiss gar nicht wo anfangen.
Generics, das erweiterte for, ich weiss nicht, wer das nicht braucht.
Alleine wenn ich mir schon java.util.concurrent anschaue :sabber: oder auch enumerations

Aqualon
2004-02-05, 19:31:29
Original geschrieben von HellHorse
Häh?
Da wurde so viel zum Guten geändert, ich weiss gar nicht wo anfangen.
Generics, das erweiterte for, ich weiss nicht, wer das nicht braucht.
Alleine wenn ich mir schon java.util.concurrent anschaue :sabber: oder auch enumerations
Aber die müssen auch erstmal von Programmen unterstützt werden und so lange die 1.5er nicht final ist, werden die Neuerungen wohl kaum von Programmierern in fertigen Anwendungen verwendet werden, da die Verbreitung zu gering sein wird.

Oder würdest du eine Software verwenden wollen, für die du die Beta-Version einer anderen Software installieren musst.

Aqua

Stone2001
2004-02-05, 19:33:41
hmm, also die Version 1.5 ist wirklich verdient. Und es gibt ein paar Neuerungen, die ich sofort verwenden würde / werde, die import static Anweisung z.B. .
Formatted Output dürfte wohl eher was für ehemalige C-Programmierer sein. (Und es erleichter die Konvertierung von C <-> Java)
Und die Semaphoren in java.util.concurrent sind auch sehr nützlich.
...

Trap
2004-02-05, 20:33:03
java.lang.instrument ist wohl auch ganz lustig, ausprobiert hab ich es allerdings noch nicht...

Xmas
2004-02-05, 20:38:28
Ein paar Features die Tipparbeit sparen (enhanced for, static import, auto-boxing), und die längst überfälligen Generics und Enums. Und rundherum noch ein paar Verbesserungen. Java wird erwachsen ;)

Nur die Metadata-Syntax finde ich etwas seltsam.

Trap
2004-02-05, 21:47:40
Ich seh das ganze auch etwas kritisch, es sieht ein wenig nach zielloser Featuritis aus.
Generics sind gut, ich weiß nur nicht ob die es richtig kopiert haben ;)
Autoboxing ist ganz net, allgemein Zwischen Wert- und Referenzsemantik wählen zu können und automatische konvertierung ist konsequenter.
Varargs halte ich für Unsinn.
Noch ne Schleife halte ich auch nicht für so toll, es gibt schon 3, außerdem wäre so ein Feature IMO besser in Iterator aufgehoben. Zusammen mit einer Extrasyntax zum Erzeugen von Reflection-Objekten wär das praktisch. So in der Art: array.iterator().foreach(->this.append)

Die neuen Sprachfeatures helfen häufige Ärgernisse zu umgehen, aber sie sind alle nur Spezielfallregelungen und keine allgemein nutzbaren Sprachfeatures.

HellHorse
2004-02-13, 16:55:38
So weit so gut. Tut alles wie es soll.
Compilieren direkt aus IDEA raus geht nicht, aber das ist keine grosse Überraschung. Ist auch nicht schlimm, denn wozu gibt es schliesslich ant-Integration.
Etwas nerviger sind, dass all die angeblichen Syntaxfehler den Speicherverbrauch extrem in die Höhe schnellen lassen und IDEA auch wesentlich träger reagiert.
Kompilieren aus BlueJ geht, aber instantieren nicht. :(

Kann es sein, dass da kein Webstart beiliegt? :grübel:

Ach ja, das MetalLAF ist nicht mehr pothässlich, geht dafür in Richtung clickibunti. Fünf Jahre zu spät, aber immerhin. ;)

HellHorse
2004-02-17, 22:35:38
Für all die, die mit der beta (oder alpha) und xalan arbeiten und plötzlich einen Error kriegen, den sie noch nie vorher gesehen haben (ExceptionInIntializerError):
Einfach dem Encodings.properties im xalan.jar eine Leerzeile anhängen.
http://java2.5341.com/msg/44435.html
http://java2.5341.com/msg/44438.html

After further digging the reason is bug in jdk1.5 Properties class
load(inputSteam) method
It 's not regonize end of file as a line termination anymore as it should.
So adding additional linefeed to end this Encodings.properties file
resolve problem before jdk has bug fix.

Den Bug hatten die schon mit der alpha und ist noch immer nicht gefixt :(

PH4Real
2004-02-18, 13:20:42
Finde die Änderung zum größten Teil auch sehr sinnvoll. Dämlich ist es aber, dass bei der Verwendung von Enums der Bytecode nicht mehr abwärtskompatibel ist.

Also mittlerweile bin ich fast der Meinung, dass wenn es schon solche Inkompabilitäten zugelassen werden, es doch sinnvoll die alten "deprecated" Methoden endlich aufzugeben, und eine schöne, neue und übersichtliche SDK zu erstellen. Aber der Tag wird wohl nie eintreten :(...

HellHorse
2004-02-18, 18:54:48
Original geschrieben von PH4Real
Finde die Änderung zum größten Teil auch sehr sinnvoll. Dämlich ist es aber, dass bei der Verwendung von Enums der Bytecode nicht mehr abwärtskompatibel ist.

Wie auch, wenn die Klasse in den alten JVM's nicht enthalten ist?
Enums sind eben mehr als ein paar Konstanten. Es sind singelton Objekte, die sogar einen eigenen Klassenkörper enthalten können.
Hier ist ein ganz netter Beschrieb:
http://www.madbean.com/blog/62/

Original geschrieben von PH4Real
Also mittlerweile bin ich fast der Meinung, dass wenn es schon solche Inkompabilitäten zugelassen werden, es doch sinnvoll die alten "deprecated" Methoden endlich aufzugeben, und eine schöne, neue und übersichtliche SDK zu erstellen. Aber der Tag wird wohl nie eintreten :(...
Dann würden all die alten Programme nicht mehr laufen, und das will Sun nicht. Sie wollen einfach die Kunden nicht verärgern.
Ich persönlich fände es auch besser, wenn man alte Zöpfe abschneiden würde (java.util.Date z.B.), aber Sun fühlt sich nicht mächtig genug.

Zudem ist Java 1.5 nicht 100% rückwärtskompatibel. "Dank" den generics gibt's auf 1 Mio Zeilen Code 2 Inkompatibilitäten ;)

So, genug Sun verteidigt für Heute.

HellHorse
2004-05-08, 14:12:34
Also entweder ist alter Bytecode nicht zu 100% kompatibel, oder ein alter Compiler hat Mist gebaut.
Ich hatte schon bei zwei libs.
java.lang.ClassFormatError: Duplicated LocalVariableTable
allerdings half in beiden Fällen neu kompilieren (flags auf 1.4).

Zudem scheint der Compiler mittlerweile contravaiance zu kennen.