Zum Inhalt springen

Diskussion:Java (Programmiersprache)

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 13. Mai 2015 um 20:13 Uhr durch Sebastian.Dietrich (Diskussion | Beiträge) (Sonderfall Google Android). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Letzter Kommentar: vor 9 Jahren von Sebastian.Dietrich in Abschnitt Sonderfall Google Android
Diese Diskussionsseite dient dazu, Verbesserungen am Artikel „Java (Programmiersprache)“ zu besprechen. Persönliche Betrachtungen zum Thema gehören nicht hierher. Für allgemeine Wissensfragen gibt es die Auskunft.

Füge neue Diskussionsthemen unten an:

Klicke auf Abschnitt hinzufügen, um ein neues Diskussionsthema zu beginnen.
Archiv
Wie wird ein Archiv angelegt?

Java 9

Habt Ihr schon gesehen: Java 9 kommt im Herbst 2016 (Quelle: Informatik Aktuell). Mag das vielleicht schon jemand einarbeiten? Ich würde es auch machen, bin aber nicht sicher, wieweit da auf Details eingegangen werden soll. --95.116.209.137 16:54, 8. Mai 2015 (CEST).Beantworten

Wenn dann in Java-Technologie. Ich hab gerade ein Training zu Java8 vorbereitet & auch einige Slides zu Java9 vorbereitet. Ein paar Dinge zu Java9 sind inzwischen schon fix (mMn für Entwickler nicht wirklich was großartiges dabei, aber ein paar wichtige Dinge im Hintergrund), d.h. macht aus meiner Sicht Sinn das einzuarbeiten (ist keine Glaskugelei mehr, da im aktuellen Java9 Build enthalten), aber Feature-Complete ist erst 10.12.2015 --Sebastian.Dietrich 23:56, 8. Mai 2015 (CEST)Beantworten
Es sollte nichts in den Artikel, was noch nicht per "Feature-Freeze" o.ä. sicher in Java9 sein wird.
So mancher Hersteller hat schon so manches 'fest eingebaut' (in ein Vorab-/Zwischen-Build), und im Endprodukt war's dann doch nicht drin...
Offizielles Feature-Freeze (Oracle: "Das, das und das IST drin."), dann Artikel.
--arilou (Diskussion) 14:36, 12. Mai 2015 (CEST)Beantworten

Sonderfall Google Android

Im Artikel wird JavaME und Android gleichwertig erwähnt, was so aber nicht ganz richtig ist; JavaME ist eine "richtige" Java-Implementierung, also Programmiersprache + Bytecode + VM, während auf Android irgendetwas läuft was von Google je nach Situation als Java oder als nicht-Java bezeichnet wird. Für Android schreibt man Java-Sourcecode (allerdings ohne vollständige Standard-Bibliothek), der auch zu Java-Bytecode kompiliert wird, danach aber zu Googles eigenem Dex Bytecode konvertiert wird, der wiederum in einer speziellen Google-VM läuft (Dalvik) oder kompiliert wird (ART). Google zahlt deswegen keine Lizenzen an Oracle "Weil es ja kein richtiges Java ist", begründet Dalvik damit, dass der Google-Bytecode besser wäre (Was fraglich ist, da Dalvik jetzt eingestampft wird), den Entwicklern gegenüber wird aber von Java gesprochen. Oracle klagt ja deswegen auch gegen Google. Oder kurz gesagt: Oracle meint, dass Google nur ein paar technische Details geändert hat um keine Lizenzgebühren zu zahlen und soll entweder zahlen oder es nicht Java nennen, Google meint, dass sie es aus technischen Gründen anders gemacht haben und es trotzdem Java nennen dürfen, ohne zu zahlen. Insgesamt ist das ziemlich kontrovers und ich weiß nicht, wie man das neutral im Artikel unterbringen kann. Vorschläge? RedNifre (Diskussion) 12:37, 10. Mai 2015 (CEST)Beantworten

Naja - hier ist ja der Artikel zur Programmiersprache. Und die hat ja mal primär nix mit der Laufzeitumgebung oder dem Bytecode in den sie compiliert wird zu tun. Die Kontroverse wäre mMn richtigerweise in Dalvik Virtual Machine aufgehoben (dort gibts bereits dazu einen Absatz). Es geht ja soweit ich es verstanden habe nicht darum, dass man bei Android in Java programmiert, sondern dass Oracle behauptet, dass Google bei Dalvik die JVM "gestohlen" und leicht verändert hätten. --Sebastian.Dietrich 23:38, 10. Mai 2015 (CEST)Beantworten
Wenn jemand ein 'Java' anbietet/verwendet, das nicht den Standards entspricht (in der Sprache/den verfügbaren Standard-Klassenlibs), dann sollte das imho zumindest (auch hier) kurz erwähnt werden:
Das für die Android-App-Entwicklung seitens Google angebotene „Java“ entspricht weitgehend der hier beschriebenen Sprache, weicht aber in einigen Bereichen davon ab und bietet auch nicht alle oder abweichende (Standard-)Klassenbibliotheken.
1 Satz, das genügt ja schon. --arilou (Diskussion) 14:45, 12. Mai 2015 (CEST)Beantworten
Hab kein Problem mit dem einen Satz - aber die Sprache ist meines Wissens nach 1:1 dieselbe (halt eine alte Version) & nur die Klassenbibliothek (deutlich) anders. Wenn die Sprache nicht 1:1 dasselbe ist, dann sollte hier mMn sogar deutlich mehr als nur ein Satz kommen. --Sebastian.Dietrich 22:21, 12. Mai 2015 (CEST)Beantworten
Hab' den Satz jetzt unter 'Apps' eingefügt (leicht abgeändert).
"Die Sprache" umfasst imo die Klassenbibliotheks-APIs mit - ohne hat Java nicht wirklich einen Sinn.
Für die Klassenbiblitheks-APIs hat Sun einige "Pakete" definiert: EE, SE, ME. Google hält sich nicht (100%) an selbige, und nennt es trotzdem 'Java'.
--arilou (Diskussion) 14:08, 13. Mai 2015 (CEST)Beantworten
Passt. @Sprache ists denke ich anders. Die Java Language Spec beschreibt nur die Sprache und nicht die Klassenbibliothek - so wie dieser Artikel nur die Sprache und nicht die Klassenbibliothek beschreibt (bzw. sollte). Alles zusammen (d.h. Sprache, Klassenbibliothek, Runtime, Tools) wird in Java-Technologie beschrieben und umfasst das, was man normalerweise unter "Java" versteht. D.h. ich hab den Satz jetzt (deutlich) auf "Appss für das Android Betriebssystem von Google werden in der hier beschriebenen Sprache Java programmiert, basieren aber auf einer abweichenden Klassenbibliothek." abgewandelt. --Sebastian.Dietrich 20:13, 13. Mai 2015 (CEST)Beantworten