Diskussion:Java (Programmiersprache)
aus Wikipedia, der freien Enzyklopädie
Auf dieser Seite werden Abschnitte automatisch archiviert, deren jüngster Beitrag mehr als 30 Tage zurückliegt und die mindestens 2 signierte Beiträge enthalten. |
[Bearbeiten] Archiv
Diskussion:Java (Programmiersprache)/AutoArchiv
[Bearbeiten] Java Umleitung
Entschuldigt, habe jetzt erst gesehen, dass der Link Java auf Programmiersprache_Java umgeleitet wurde. Hat mich etwas verwirrt (weil es keine Umleitungsanzeige gibt). -- HelmutLeitner
[Bearbeiten] Ich hab da ein Problem ...
Ich hab da mehrere Probeme mit dem Artikel:
- Java ist nicht rein objektorientiert, int usw. sind keine Objekte.
- Applets werden beschrieben, sind aber heute fast bedeutungslos.
- Es fehlt der ganze J2EE/Server Bereich, der sehr viel gewicht hat.
- Es sollte auch eine deutliche Trennung vollzogen werden zwischen der Implementierung von SUN und der Sprache an sich.
- JAVA ist eine spezielle Sorte Kaffe, keine umgangssprachliche Beziechnung, oder?
- Es sollte vielleicht noch ein Verweis auf Vorgänger gemacht werden (Smalltalk, USCD Pascal,...)
Wenn ich dazukomme, das in vernünftige Sätze zu packen, mache ich das. OliD 20:53, 19. Mai 2003 (CEST)
[Bearbeiten] Rein objektorientiert?
Ich muss Dir leider in ein paar Punkten widersprechen:
- Java ist rein objektorientiert, für alle primitiven Typen wie "int", usw. gibt es auch entsprechende Klassen, z. B. Integer.
- Applets sind nicht bedeutungslos, wenn Du Bankgeschäfte über das Internet abwickelst, kommst Du an Java nicht herum
- J2EE fehlt, da stimme ich absolut zu
- Nun, Sun ist nun mal der Erfinder von Java. Man könnte höchstens andere Implementierungen wie Kaffee (gnu) oder Jikes (IBM) erwähnen.
- Java ist eine ziemlich starke Kaffesorte, die von der Insel Java her bezogen wird
- Mit dem Vorgänger Smalltalk bin ich einverstanden
jonelo 21:45, 19. Mai 2003 (CEST) Im Text steht :
C# kennt ebenso wie Java eine Unterscheidung zwischen Werttypen (engl. "value types"; z. B. int, struct) und Referenztypen (engl. "reference types", z. B. class), allerdings sind auch die elementaren Datentypen objektbasiert.
struct gibt es in java nicht, und in C++ sind sowohl struct als auch class "class types" (der einzige unterschied zwischen struct und class ist dass in struct per default alles public ist)... also irgendwie ist dieser satz humbug...
[Bearbeiten] ein bischen ...
Ich geb ja zu, manchmal übertreibe ich ein bischen... Aber immer nur zur Verdeutlichung :-))
- Mit dem "reinen" objektorientierten hast Du dir da grade selbst widersprochen oder? "Rein" ist Python, C# und Smalltalk. Dort gibt es nur (aussschliesslich) Objekte. Und keine Primitivtypen. Die sind übrigens auch noch ein Problem für die Portabilität, da ihre Grösse vom ausführenden System abhängt.
- Mit trennen (Java/SUN) meinte ich, dass Features der VM von Sun nicht von Eigenschaften der Sprache Java getrennt wurden. zB JIT ist ein Feature der VM, hat im Prinzip nix mit Java zu tun. Und die VM ist auch nicht von Java abhängig, man kann Bytecode drauf ausführen, der aus allen möglichen Sprachen herkommt. (Praktisch macht das recht wenig Unterschied, da eh 90% der Anwendungen auf der Sun VM laufen, und mit den Sun Klassen)
- Ich weiss, dass Applets nicht bedeutungslos sind, ich benutze fast täglich eins. Das ist aber eine Nische, die auch nicht grösser werden wird. Am interessantesten ist Java vor allem auf dem Server, und wenn auf dem Client, dann als normale Applikation.
- Eventuell noch ein Verweis auf C#, da es ähnliche Konzepte verwendet. (Done)
OliD 09:11, 20. Mai 2003 (CEST)
[Bearbeiten] objektorientiert und c#
Bin auch der Meinung, dass "rein" objektorientiert auf Java nicht zutrifft. Dasselbe gilt aber auch für c#, es kennt zwar autoboxing, aber primitive Datentypen sinds trotzdem. Mit Java 1.5 gibts ja auch autoboxing, aber deshalb wirds auch nicht "rein" oo Sebastian 00:50, 9. Juli 2006 (CEST)
[Bearbeiten] Vaterfigur
Ich hab ein Problem mit Patrick Naughton: [1] [2] [3]
Wie sollte ich denn bitte das dann in der Bio schreiben? OliD 18:53, 20. Mai 2003 (CEST)
Slashdot - News for NERDS Da bist Du wohl jemanden auf den Leim gegangen ;-) Das hier ist auch witzig: Steffi Graf Wins Case Vs. Microsoft http://yro.slashdot.org/yro/02/05/28/1911247.shtml?tid=123 from the refusal-to-promise-a-perfect-tomorrow dept.
Nun im Ernst: die englische Beschreibung aus Wikipedia "Java Programming Language" listet Patrick Naughton übrigens nicht, da Gosling die Vaterfigur von Java war. Siehe auch http://java.sun.com/java2/whatis/1996/storyofjava.html
jonelo 20. Mai 2003
[Bearbeiten] in jeder Hinsicht
Ich versuch mal das zusammenzufassen:
- Java ist in jeder Hinsicht plattformunabhängig.
- Nur James Gosling wird namentlich genannt.
- Die VM haben wir schon abgetrennt, einen Verweis auf C# haben wir auch schon.
- Material zur Geschichte von Java: ( 1 2 3 4 5 6 )
- Wir sollten vor allem als Vorgänger Simula einbauen, und Smalltalk. Die hatten vom Konzept her mehr mit Java zu tun, als C++. (VM, ...)
- Die Serverseite von Java sollte noch erwähnt werden. (J2EE)
- Die Mobile Seite fehlt auch noch (J2ME)
- Material zur VM: (1)
Wenn Dir was fehlt, machs einfach dazu. Ansonsten lösch einfach den Rest weg. OliD 12:26, 21. Mai 2003 (CEST)
[Bearbeiten] JNI und JDBC
Mir fehlen im Beitrag Informationen zu plattformspezifischen Lösungen (insbesondere JNI) und der Datenbankanbindung (JDBC). Insbesondere das Java Native Interface ist m.E. von besonderer Bedeutung, da hierdurch vorhandene Ressourcen eingebunden resp. weitergenutzt werden können.
Hhoffmann 3. Juni 2003 (CEST)
Go ahead!
jonelo 5. Juni 2003 (CEST)
[Bearbeiten] Kontrollstrukturen gelöscht? Links zu Webstart und Plugin gelöscht?
In der letzten Zeit wurde hier editiert wie die Axt im Walde! Es gibt keinen Link zu Plugin mehr, keinen zu Webstart, und die Kontrollstrukturen sind ebenfalls alle gelöscht (bei Perl z.B. sind sie aber noch da). Warum? Hat jemand Angst, man könnte einem Wikipedia-Benutzer zu viele Informationen liefern?
Zu Java Webstart / Carter666: Java ist nicht nur eine Sprache, sondern auch das API, die VM etc.. Java Webstart gehört definitiv dazu, es ist nicht einfach irgendeine Anwendung sondern spielt eine ebenso zentrale Rolle wie Servlets oder Applets.
(Die Änderung zu "Container" mit Aufzählung finde ich dagegen sehr gut)
[Bearbeiten] (Keine) automatische Serialisierung bei transient
transient
sorgt keineswegs für die automatische Serialisierung. Transient bestimmt, dass ein Member eben nicht serialisiert wird. Er taucht im serialisierten Zustand des Objekts nicht auf. Bei der Deserialisierung wird für transiente Variablen der Default-Wert (nicht Initialwert) eingesetzt, also 0 bzw. 0.0 bzw. false bzw. null. Soll ein Transient einen anderen Wert erhalten, so ist die Deserialisierung durch Implementieren von readObject() selbst zu übernehmen, wobei man noch defaultReadObject() kennen und eventuell aufrufen sollte. --ChristianHujer 21:38, 3. Sep 2004 (CEST)
[Bearbeiten] Enum kein Typ
enum
ist in Java kein Typ, insbesondere kein Primitiv, sondern ein Typkonzept, wie class
oder interface
eben keine Typen, sondern Typkonzepte sind. Deshalb habe ich enum
aus der Liste der Typen entfernt. Vor allem sind Java-Enums komplex, d.h. sie haben Konstruktoren und können auch Member (statisch und Instanz-) haben. --ChristianHujer 21:38, 3. Sep 2004 (CEST)
[Bearbeiten] Link auf API-Dokumentation
Ich habe heute den Link der API-Dokumentation wieder auf die Version 1.4.2 gesetzt. Wir können den Link auf die 1.5.0 (oder 5.0) setzen, wenn diese nicht mehr Beta oder RC ist sondern wenn sie es wirklich zum Release geschafft hat. --Herr Schroeder 09:37, 8. Sep 2004 (CEST)
[Bearbeiten] Generelle Anmerkungen
Ich bin auf den Eintrag Java über die Rubrik in Review gestossen, und finde beim ersten Lesen eine ganze Reihe von Punkten, die ich für verbesserungsfähig halte. Hier hilft meines Erachtens ein Vergleich mit der englischen Version, die mir in der Darstellung an einigen Stellen deutlich besser gefällt.
Haupteindruck: zu unübersichtlich, zu technisch, als Hauptseite teilweise zu detailliert. Für einen Nicht-Experten geht die wahre Bedeutung daraus nicht hervor.
Eindruck von der Diskussion: Man diskutiert über Details, während Ausbau/Struktur der Seite noch nicht gut sind.
Da bereits eine Reihe von Autoren an diesem Artikel geschrieben hat, möchte ich meine Vorschläge zunächst zur Diskussion stellen. Falls die Ideen auf Zustimmung treffen, bin ich gern bereit, auch selbst Beiträge zu liefern.
Mir fehlen:
- Darstellung der Bedeutung von Java
- Der Architekturaspekt
- Garbage collection
- Klassen/Interfaces
Aus meiner Sicht zu ändern:
- Geschichte nach hinten, evtl. kürzer fassen
- Grundkonzepte erweitern
- Sprachkonstrukte zu technisch, zu ausführlich: Details auslagern
- Versionsgeschichte : wesentlich kürzer, max. 1 Seite !!!
- APIs : Hier sollten nicht die Einzeltechnologien, sondern die SUN Distributionen (J2SDK, J2EE, J2ME) aufgeführt werden. Die Technologien finden sich dann unter den entsprechenden, bzw. unter einem Link "Sonstige Java Technologien". Evtl. Abschnitt umbenennen zu Distributionen ?
- Modulare Ausführbarkeit : statt Modulen sollte man von Komponenten sprechen, ich würde Doclets und Translets hier rausnehmen. Kriterium: Container-Spezifika.
gut gefallen mir bereits:
- Plattformunabhängigkeit
- Merkmale der Sprache
- Abgrenzung zu anderen Sprachen hier würde ich vorläufig nichts ändern (diese Abschnitte sind teilweise besser dargestellt als im englischen Pendant).
Feedback ?
- Mein Feedback:
- Bedeutung der Sprache ist ok, sollte aber zeitlos formuliert werden.
- Was meinst Du mit dem Architekturaspekt?
- Garbage Collection, Schnittstellen und Klassen sind unter "Merkmale der Sprache" schon erwähnt.
- Sprachkonstrukte: Du meinst das unter Syntax oder? Das finde ich gut, danach kann man gleich anfangen zu programmieren.
- Ja, Versionsgeschichte kürzer.
- APIs: Das sind schon welche, gefallen tut mir der Abschnitt aber auch nicht.
- --Supaari sag'smir! 02:26, 6. Okt 2004 (CEST)
[Bearbeiten] Wikipedia:Kandidaten für exzellente Artikel
[Bearbeiten] Jikes ist schneller
Hallo Meph666, Jikes wird nicht von irgendwelchen Leuten als schneller angesehen, sondern ist objektiv und messbar schneller als javac. Dieser Artikel ist zwar schon etwas älter, aber auch heute ist Jikes immer noch deutlich schneller aks javac. Was mich nur noch interessieren würde: Kennst du Jikes, oder hast du "nur" reflexartig eine nach POV riechende Formulierung weichgespült? (Fasse das bitte nicht als persönlichen Seitenhieb auf. Mir war nur diese Wikipedia-typische Verhaltensweise aufgefallen; ich mache so was ja manchmal wahrscheinlich auch ;-) --Langec ☎ 11:01, 14. Mär 2005 (CET)
[Bearbeiten] Java Zwangseinweisung
Sind Zuweisungen in Java Ausdrücke oder Anweisungen?
Ich habe einmal in Google-Groups "Java Zuweisungsanweisung" eingegeben - Ergebnis: 1. Dann habe ich "Java Zuweisungsanweisung" eingegeben - Ergebnis 0. Außerdem fragt Google: "Meinten Sie: Java Zwangseinweisung". Ich weiß nicht, was ich davon halten soll. --Flogger 12:14, 19. Mär 2005 (CET)
[Bearbeiten] Seite reorganisiert
Ich habe nun die Seite reorganisiert, wie bereits angekündigt. Es gibt jetzt die folgenden Seiten:
In diesem Artikel müssen noch die Abschnitte Grundkonzepte der Sprache und Compiler angepasst werden. Dieses habe ich bislang nicht gemacht, da dieses erstens ein wenig mehr Arbeit ist und zweitens am ehesten Diskussionsbedarf weckt.
-- Herr Schroeder 16:17, 19. Jul 2005 (CEST)
[Bearbeiten] java deutschsprachig ?
Das wäre ja das neuste ! Dokumente wie die API-Beschreibungen gibt es es bei SUN meistens nur auf Englisch und japanisch, neuerdings z.T. auch auf chinesisch. Aber im allgemeinen ist Deutschland für SUN doch viel zu unbedeutend und unwichtig.
- Das ist ein guter Einwurf. Nach welchem Kriterium wird das hier eigentlich entschieden? Die API-Dokus sind genauso nicht auf Deutsch zu finden wie die Language Specification oder gar die Programmiersprache selbst. Lediglich einige vorgefertigte Klassen (wie etwa für Swing) halten an bestimmten Stellen Informationen auch mehrsprachig bereit, das hat aber mehr mit Internationalisierung als mit der Programmiersprache selbst zu tun. --Royd 21:17, 23. Nov 2005 (CET)
[Bearbeiten] GNU GPL
Sun wird Java ME, SE und EE unter der GNU GPL Version 2 veröffentlichen. Siehe: http://www.sun.com/software/opensource/java/project_overview.jsp Mms 22:41, 13. Nov. 2006 (CET)
[Bearbeiten] Java interpretiert
"Deren wichtigster Bestandteil ist die Java Virtual Machine (Java-VM), die die Programme ausführt, indem sie den Bytecode interpretiert."
Hier wird gleich zu Beginn der Eindruck erweckt, Java sei noch immer eine interpretierte Sprache. Dabei wird, wie es auch später erwähnt wird, erst in Bytecode compiliert und dann beim Programmstart (just-in-time) in nativen Code compiliert.