[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Anfangsbuchstaben in Großbuchstaben ändern [OT]



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


Reply to: