Bjoern Schliessmann wrote: > Andreas Juch 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. Man kann nicht rein prozedural/funktional programmieren, sondern braucht immer eine Klasse. Deshalb würde ich Java schon als rein objektorientiert bezeichnen. > BTW, in Python /sind/ die Basistypen Objekte, genau wie > beispielsweise auch Stringliterale, Klassen und Funktionen, > insofern ist es einheitlicher als Java. Python kann > Mehrfachvererbung und Operatorüberladung, was Java ja als "BÖSE" > deklariert. 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. Mir würde jetzt auch spontan nichts einfallen welche Objektmethoden mir bei int abgehen. > "Rein objektorientiert" finde ich aber eigentlich nur Lisp. Nicht, > dass ich viel Erfahrung damit hätte, aber das, was ich davon > gelesen habe, gibt mir diesen Eindruck. Smalltalk ist eigentlich das Paradebeispiel. Es lehnt teilweise an Lisp an, der Begriff "objektorientiert" wurde aber vom Smalltalk "Erfinder" erfunden :-) >> Was sich allerdings mit wachsender Komplexität schnell ändert. > > Dass Objektorientiertheit Vorteile bringt? Hängt ganz von der > Aufgabe ab. Eigentlich möchte ich jetzt über solche Paradigmen nicht diskutieren. Ich habe es bis jetzt sehr hilfreich gefunden Komplexität durch Klassenhierarchien zu abstrahieren. >> Wie eine Krankheit sieht's für mich eigentlich nicht aus. Am >> ehesten wie C(++) :-) > > Tja, klauen kann jeder. Wenn man schlecht klaut ... ;) Klauen ist hier eigentlich nicht das richtige Wort. Wenn man jede Programmiersprache syntaktisch unverkennbar einzigartig entwerfen wollte, würde das IMO überhaupt nichts bringen. > 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... >> Bis auf die Klammern, Semikola und die fehlende Capitalize >> Funktion in java.lang.String sehen die Programme aber ziemlich >> ähnlich aus ;-) > > Ja, weil ich es intuitiv vergleichbar halten wollte, weil so die > Prinzipien von Python besser rauskommen. Eine aufs Nötigste > beschränkte Version hat Andreas ja gerade gepostet. Fand ich auch sehr ellegant! Die Diskussion ist insofern eigentlich sinnlos weil so ziemlich jede Programmiersprache (IMO außer Basic) ihre Stärken hat. Python erscheint mir auch immer interessanter, besonders für RAD. Trotzdem gefällt mir Java eigentlich recht gut. Aber jemandem anders gefällt dafür Ruby wieder besser, er findet Python hässlich, etc. Aber gerade für den Web-Bereich reizt mich Python schon. Denn Servlets und JSP sind teilweise sehr umständlich. Soll ja auch nicht besonders schwer zu erlernen sein. lg Andreas -- Andreas Juch, andreas.juch@aon.at, http://andreasjuch.mywol.org GPG Key: http://andreasjuch.mywol.org/files/gpgkey.asc
Attachment:
signature.asc
Description: OpenPGP digital signature