Andreas Juch wrote: > Bjoern Schliessmann wrote: >> Wie kann man eine Sprache "rein objektorientiert" nennen, wenn >> die Basistypen keine Objekte sind und man zum Konvertieren mit >> Containerobjekten rumfrickeln muss? > Würde ich schon so nennen.
Mit welcher Begründung, wenn z.B. Basistypen keine Objekte sind? "Rein" ist das keinesfalls. > Man kann nicht rein prozedural/funktional programmieren, sondern > braucht immer eine Klasse. Deshalb würde ich Java schon als rein > objektorientiert bezeichnen. Funktionen sind aber in Java beispielsweise keine Objekte. > In Smalltalk auch. Aber ich steigere mich da ungern rein. Mit > einigen Leuten könnte man ja stundenlange Diskussionen über den > Unterschied von Objekt und Instanz führen. Ich verwende die > Begriffe eigentlich synonym. Ja, in Java kann man es sich so einfach machen, da dort nur Klasseninstanzen Objekte sind ... ;) > Mir würde jetzt auch spontan nichts einfallen welche > Objektmethoden mir bei int abgehen. Dann sieh mal nach, was java.lang.Integer für Methoden hat. > Klauen ist hier eigentlich nicht das richtige Wort. IMHO doch, ich verwende es aber nicht "moralisch gefärbt" sondern neutral. >> Zum Beispiel hätte man sich das mit dem new-Operator aus C++ in >> Java echt sparen können. In C++ braucht man ihn zwingend zur >> Erfüllung bestimmter Aufgaben (dynamische Speicherreservierung); >> in Java ist es nur mitgeschleppter syntaktischer Aufwand (da alle >> Bezeichner vom Typ eines Objektes automatisch Zeiger sind). > Das habe ich bis jetzt eigentlich nicht als besonders störend > empfunden... Hast du dich nie gefragt, warum man in Java schreiben muss int a = 5; aber bei Objekten Integer a = new Integer(5); ? In C++ geht beides, und man kann sich aussuchen wo und wie man das Objekt haben möchte. int a1 = 5; int& a2 = new int(5); string b1("Honk"); string& b2 = new string("Honk"); In Java ist das "new" IMHO völlig überflüssig und macht die Sprache uneinheitlich. > Fand ich auch sehr ellegant! Ist es auch, nur für Pythonfremde eher kryptisch. > Die Diskussion ist insofern eigentlich sinnlos weil so ziemlich > jede Programmiersprache (IMO außer Basic) ihre Stärken hat. Was sind denn die Stärken der Sprache Java? Dass Operatorüberladung und Mehrfachvererbung verboten sind? Dass jede Klasse zwangsweise in eine eigene Datei muss? Dass jeder Anfänger auf die CLASSPATH-Geschichte reinfällt? :) Für mich ist Java ein kastriertes C++. Vielleicht sehe ich auch nur die verborgenen Vorteile dieser Sprache nicht, also wenn jemandem welche einfallen, nur her damit. Vorteil von Java als Plattform ist sicher die Portabilität und die Möglichkeit der Benutzung auf WWW-Seiten. Das hat aber mit der Sprache selbst nichts zu tun. Grüße, Björn -- BOFH excuse #339: manager in the cable duct -- Haeufig gestellte Fragen und Antworten (FAQ): http://www.de.debian.org/debian-user-german-FAQ/ Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED] mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)