PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java OpenSource. Welcher Vorteil?


Unfug
2006-11-27, 12:35:42
Hi,

Java wird ja OpenSource. Ich frage mich daher wozu dieser Schritt?
Welche "Fortschritte" werden erwartet? Könnte durch den Schritt es OpenSource zu machen die Möglichkeit bestehen Java so umzumodellieren, daß es auch ohne Interpreter (JRE) läuft?

SavageX
2006-11-27, 12:41:58
Java wird *nicht* interpretiert (nicht mehr). Dahinter steckt ein Just-in-Time Compiler (zumindest beim JRE von Sun), so dass die interessanten Codeteile als echter Maschinencode "enden" (und häufig ausgeführte Sachen werden besonders optimiert).

(Es gibt auch Möglichkeiten, Java-Code wie jede "normale" Sprache auch von vornherein zu kompilieren. Hat eher Nischenbedeutung.)

Weiterhin besteht das JRE ja nicht nur aus dem (früher) Interpreter/(heute) JIT-Compiler, sondern auch (und vor allem) aus den Klassenbibliotheken, auf denen Java Programme aufbauen. Auf die kann man nicht verzichten.

edit: Was ich durch das Open-Source Java ändern dürfte ist die Verfügbarkeit des JIT auf anderen Plattformen. So wird z.B. auf PPC-Macs unter Linux Java tatsächlich nicht durch einen JIT gejagt so weit ich weiß.

Ganon
2006-11-27, 12:57:57
So wird z.B. auf PPC-Macs unter Linux Java tatsächlich nicht durch einen JIT gejagt so weit ich weiß.

Doch, wird er, aber mehr schlecht als recht. Betrifft aber nur PowerPC-Macs.

btw. man kann Java ja mit GCJ ja auch schon kompilieren. Nur ist das nicht unbedint schneller, sondern eher langsamer. Nur die Startzeit ist kürzer.

SavageX
2006-11-27, 13:09:05
Doch, wird er, aber mehr schlecht als recht. Betrifft aber nur PowerPC-Macs.


Ah, okay. Wusste nur mit Bestimmtheit, dass da irgendwas im Argen lag.

Gast
2006-11-27, 13:16:16
Könnte durch den Schritt es OpenSource zu machen die Möglichkeit bestehen Java so umzumodellieren, daß es auch ohne Interpreter (JRE) läuft?

man kann auch heute schon java-code direkt in maschinensprache kompilieren.

logischerweise verliert man damit die plattformunabhängigkeit.

Shink
2006-11-27, 15:46:36
Hi,

Java wird ja OpenSource. Ich frage mich daher wozu dieser Schritt?
Welche "Fortschritte" werden erwartet?
Naja, der Schritt hat sicher mit Verbreitung und Sympathiesammeln bei der Open Source-Community zu tun.
Außerdem hofft man wohl, dass so auch Teile des Classpath weiterentwickelt werden, die man selbst eigentlich nicht wirklich entwickeln will (hat ja bei Java 3D eigentlich ganz gut funktioniert; ich kann mir Vorstellen bei Linux Look-and-Feels wird sich da in Zukunft einiges tun).
Vielleicht bauen irgendwelche kranken Leute mit unendlich viel Zeit auch irsinnig tolle Features, die große Vorteile für Java bringen (z.B. Kernel-interne JIT-Compiler, sodass man in Zukunft Treiber betriebssystemübergreifend in Java schreiben kann; JRE für µC-Linux; konsequentes Library-Sharing zwischen einzelnen Java-Prozessen; Swing ohne AWT direkt implementieren...)

EcHo
2006-11-27, 16:01:33
Imo ist das wichtigste, dass jetzt Java auch von den strengsten Distributionen direkt aufgenommen wird.
Wenn jetzt jede Linuxkiste 100% und ohne Aufwand Java unterstützt wird das imo der Java- Entwicklung einen großen schub geben. Die Basis ist nun da!

HellHorse
2006-11-27, 22:38:50
edit: Was ich durch das Open-Source Java ändern dürfte ist die Verfügbarkeit des JIT auf anderen Plattformen. So wird z.B. auf PPC-Macs unter Linux Java tatsächlich nicht durch einen JIT gejagt so weit ich weiß.
Das glaube ich nicht. HotSpot ist nicht wirklich trivialer Code um es mal so auszudrücken. Die Leute, die sowas draufhaben machen das nicht schnell mal am Abend nach der Arbeit. Die haben alle einen Job bei Sun, Mirosoft, IBM, BEA oder Google. Und auch dort sind sie dünn gesäht, so könnte die JScript Enginge des Internet Explorer ein paar davon gut gebrauchen.

Schau dir einfach mal Mono an. Im Gegenstatz zu Java sind das reine Anhänger, die kriegen nicht mal einen GC hin sondern verwenden Boehm :ugly: (ändert sich entweder mit Mono 1.2 oder 2.0, bin mir nicht sicher).
Schau dir Python an, die haben nicht mal einen JIT. Schau dir Ruby an, die haben nicht mal bytecode :uroll: Die Parrot Leute dachten JITs seinen nur für PhDs und so, nicht so gewöhnliche Programmierer wie sie.

Der Rest wird wohl davon abhängen ob Sun wirklich eine Community will. Entscheidend ist auch wie man mit dem JCK umgeht, dazu wurde bis jetzt ja geschwiegen.
Wäre schon cool, wenn eine eine Java Distro gäbe, die diverse 6 bis 8 Jahre alte Bugs fixt und so Druck macht.

http://bugs.sun.com/bugdatabase/top25_bugs.do
http://bugs.sun.com/bugdatabase/top25_rfes.do