Java SE unter GPL

Kamikaze

Warrior of Sunlight
Teammitglied
Ein großer Teil der Java Standard Edition wird heute unter die GPLv2 gestellt. Der Code wird in die Hände der OpenJDK Community übergeben. Außerdem stellt Java Tests zur Verfügung um die Kompatibilität mit dem kommerziellen Java Zweig zu gewährleisten.

Quelle: Heise Newsticker
 
Hallo Kamikaze,

danke für die Meldung, endlich endlich Sun hat sich ja da sehr lange geziert !

Dann auch nocht interesant Echtzeitsystem Java RTS 2.0 in Hinblick auf Solaris alles auf Heise nachzulesen und JavaFX Scriptsprache für Internet-Anwendungen....
Alles so wie ich das verstanden habe als Open Source...

Hat Sun seinen Winterschlaf beendet also da passiert sehr viel ?

gruss der rudy ( javafreund :D )
 
Da ist wohl einer besonders ungeduldig. :)

Bestimmt nicht bevor der Ports-Freeze vorbei ist.
 
Was kann das (Java SE), was das jetzige Java nicht kann? Und ja, die Frage ist ernstgemeint, ich brauche Java höchstens als Plugin für meinen Browser und als Starthilfe für tvbrowser.
 
Gar nichts. Ich gehe aber mal davon aus, dass es Java 1.6 ist, damit wäre das schon ein Gewinn.
 
Gar nichts. Ich gehe aber mal davon aus, dass es Java 1.6 ist, damit wäre das schon ein Gewinn.

Was mich nur gewundert hat die werben auf der Open JDK Seite mit NetBeans 5.5 wo doch schon 6.0 als Download erhältlich ist :

http://bits.netbeans.org/netbeans/6.0/m9/

Aber egal freu mich so oder so, auf 1.6 freu ich mich , ja und die ruby unterstützung in NetBeans ist auch was feines.....

Werde mal abwarten was die JavaOne so bringt....

gruss rudy
 
Gar nichts. Ich gehe aber mal davon aus, dass es Java 1.6 ist, damit wäre das schon ein Gewinn.

Erst mal ists Java 1.7, 1.6 wird aber wahrscheinlich nachgezogen und auch Gnufiziert...

auf bald
oenone

PS: ein port von dem GPL-Teil von 1.7 für OpenBSD wurde schon nach ports@ geschickt ;)
 
Erst mal ists Java 1.7, 1.6 wird aber wahrscheinlich nachgezogen und auch Gnufiziert...

auf bald
oenone

PS: ein port von dem GPL-Teil von 1.7 für OpenBSD wurde schon nach ports@ geschickt ;)

Hallo oenone,

das wusste ich auch nicht, danke für die Mitteilung, sagenhaft wie schnell das auf einmal alles so geht !

gruss rudy
 
Was mich nur gewundert hat die werben auf der Open JDK Seite mit NetBeans 5.5 wo doch schon 6.0 als Download erhältlich ist :

http://bits.netbeans.org/netbeans/6.0/m9/

Aber egal freu mich so oder so, auf 1.6 freu ich mich , ja und die ruby unterstützung in NetBeans ist auch was feines.....

Werde mal abwarten was die JavaOne so bringt....

gruss rudy
Hallo,
derzeit gilt NetBeans 5.5 als stabil, NetBeans 6.0 gibt es nur als Preview. Dein Link verweist auf den Milestone 9 von NetBeans.

marmorkuchen
 
Ich bin mit meinem Wissensstand mehr oder weniger bei 1.4 hängen geblieben. Außer Templates kenne ich keine der neueren Möglichkeiten. Ich muss mich endlich mal wieder in die Materie vertiefen. Ich hoffe bloß, das neuste Java kennt typedef, das habe ich bei C++ zu schätzen gelernt.
 
Was kann das (Java SE), was das jetzige Java nicht kann? Und ja, die Frage ist ernstgemeint, ich brauche Java höchstens als Plugin für meinen Browser und als Starthilfe für tvbrowser.

es kann nicht mehr. Das SE steht für Standard Edition. Also nicht für Special Edition. ;)
Hoffentlich ist es Version 1.6 dann kann ich endlich auch Scripting unter FreeBSD verwenden.


Ich bin mit meinem Wissensstand mehr oder weniger bei 1.4 hängen geblieben. Außer Templates kenne ich keine der neueren Möglichkeiten. Ich muss mich endlich mal wieder in die Materie vertiefen. Ich hoffe bloß, das neuste Java kennt typedef, das habe ich bei C++ zu schätzen gelernt.
Typisierte Listen gibt es seit 1.5 genauso wie die "for each"-loops
Code:
List<String> names = new ArrayList<String>();
names.add("a");
names.add("b");
names.add("c");

for (String name: names)
   System.out.println(name);

Soweit ich weis bringt 1.6 hauptsächlich Performanceverbesserungen sowie die Möglichkeit Scriptsprachen einzubinden mit.

Viele Grüße
 
Zuletzt bearbeitet:
Typedef heißt Typen umzubenennen, womit man die Lesbarkeint verbessern kann.

typedef List<String> StringList;
typedef List<StringList> StringMatrix;

Statt

StringMatrix matrix = new StringMatrix();

muss man dafür ohne typedef

List<List<String> > matrix = new List<List<String > >();

schreiben.
 
So wie ich das verstanden habe, dauert's wohl noch ein Weihlchen, biss alles (also so, dass man 'nen Port basteln kann) unter der GPL steht. [1]

Einige Teile der jre - scheinbar vor Allem 2D-Graphikzeugs - wurden nicht von Sun entwickelt und so müssen diese von dieser Open-Java-Gruppe erst neu implementiert werden.

Evt. kann man jetzt 'nen Misch-Port basteln, der den Standard-JSE-Unterbau und deren GPL-Klassen nimmt und die fehlenden Teile mit Classpath-Klassen auffüllen. :)

[1] http://www.infoworld.com/article/07/05/08/bulk-of-java-is-open-sourced_1.html
 
Typedef heißt Typen umzubenennen, womit man die Lesbarkeint verbessern kann.

typedef List<String> StringList;
typedef List<StringList> StringMatrix;

Statt

StringMatrix matrix = new StringMatrix();

muss man dafür ohne typedef

List<List<String> > matrix = new List<List<String > >();

schreiben.

Da war ich wohl etwas voreilig. Ein typedef-Konstrukt in Java ist mir nicht bekannt. Da müsste man wohl den Umweg über die Definition einer eigenen Klasse gehen um die Lesbarkeit zu verbessern.

Viele Grüße
 
Mal blöd gefragt, aus Interesse: Was ist der Unterschied zwischen Java-Generics und C++-Templates? Also ich meine in der Funktionalität, nicht wie beide umgesetzt sind.

Hallo Vicent,

zu Java-Generics eine Einführung:

http://www.angelikalanger.com/Articles/JavaMagazin/Generics/GenericsPart1.html

dann Templates sind eigentlich Schablonen und mit ihrer Hilfe definierte Methoden könnten ebenfalls als „Schablonenmethoden“ bezeichnet werden.

Das funktioniert in Java etwas anders im verbund mit UML: Abschnitt Das Schablonenmethode-Muster

http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht14Ht/java_abstrakte_klassen_de

gruss rudy
 
Zuletzt bearbeitet:
In Zweck und Funktion sind sie offensichtlich das gleiche. Dass das technisch anders gelöst ist, ist für mich irrelevant.
 
Es gibt eben einen Unterschied in der Funktionsweise...

Bei Java-Generics wird der Typ entfernt und alle Instanzen benutzen die selbe Klasse. Der Quellcode ist und bleibt wie er ist.
Bei C++-Templates jedoch handelt es sich im Grunde nur um ein nettes präprozessor-makro, jede Instanz ist eine eigene Klasse, der Quellcode wird extra nochmal kopiert (angepasst) und kompiliert.

Mit Java-Generics ist vieles möglich, was mit C++-Templates nicht ist. Außerdem sind sie sicherer, da der Compiler die Typen prüft.

auf bald
oenone
 
Es gibt eben einen Unterschied in der Funktionsweise...

Bei Java-Generics wird der Typ entfernt und alle Instanzen benutzen die selbe Klasse. Der Quellcode ist und bleibt wie er ist.
Bei C++-Templates jedoch handelt es sich im Grunde nur um ein nettes präprozessor-makro, jede Instanz ist eine eigene Klasse, der Quellcode wird extra nochmal kopiert (angepasst) und kompiliert.

Mit Java-Generics ist vieles möglich, was mit C++-Templates nicht ist. Außerdem sind sie sicherer, da der Compiler die Typen prüft.

auf bald
oenone

hallo oenone,

ein weiterer Nachteil von Templates ist
Ein C++-Compiler generiert aus einem Template für jede Instanziierung unterschiedlichen Binärcode. Aus einem Listen-Template beispielsweise entsteht der Binärcode für mehrere Listen-Klassen. Bei dieser Technik besteht die Gefahr, dass sehr viel Binärcode entsteht.

gruss rudy
 
Danke, oenone.

Es gibt eben einen Unterschied in der Funktionsweise...

Bei Java-Generics wird der Typ entfernt und alle Instanzen benutzen die selbe Klasse. Der Quellcode ist und bleibt wie er ist.
Bei C++-Templates jedoch handelt es sich im Grunde nur um ein nettes präprozessor-makro, jede Instanz ist eine eigene Klasse, der Quellcode wird extra nochmal kopiert (angepasst) und kompiliert.

Ja, das dachte ich mir. Ich wusste auch, wie C++ Templates vom Compiler behandelt werden, ich war mir nur nicht sicher, wie Java Generics funktionieren. Wenn das allerdings der einzige Unterschied ist, dann fällt das für mich unter nicht-funktionale Unterschiede ;)

Der einzige Unterschied, der mir jetzt spontan auffällt wäre dann, dass man in Java eine Methode schreiben kann, z.B. die irgendeine Liste (egal welche Art von Objekten darin abgelegt werden) als Parameter akzeptiert, während man in C++ zu Überladung greifen müsste, da die Typen im folgenden Beispiel unterschiedlich sind:

Code:
List<String *> Foo;
List<char *> Bar;

Versteh' ich das so richig?

Was ich aber trotzdem nicht verstehe, ist das hier:

Mit Java-Generics ist vieles möglich, was mit C++-Templates nicht ist. Außerdem sind sie sicherer, da der Compiler die Typen prüft.

Das liest sich jetzt, als seien C++ Templates nicht "sicher". Wenn Du das meintest, dann versteh ich Dich nicht richtig, könntest Du das mal genauer erklären?
 
ganz einfach.. du kannst beim erstellen der generics angeben, welche typen erlaubt sind. der compiler prüft dann schon beim kompilieren ob das auch eingehalten wird.

auch kannst du bei methoden generics als parameter angeben, die einen bestimmten typ enthalten müssen, z.b.:
Code:
int mymethod( List<? extends Myclass> mylist );
das gleiche geht auch mit interfaces, etc... lies dir die links in diesem thread dazu durch.

auf bald
oenone
 
Zurück
Oben