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

2006-08-18 Diskussionsfäden Bjoern Schliessmann
Elias Gerber wrote:

 Wirf mal einen Blick auf Eiffel. ;)

Haben da Integerliterale Methoden?
 
 Mhh..

Ja?

Grüße,


Björn

-- 
BOFH excuse #230:

Lusers learning curve appears to be fractal


-- 
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)



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

2006-08-16 Diskussionsfäden Christian Frommeyer
Am Mittwoch 16 August 2006 07:42 schrieb Jochen Schulz:
 Du kannst Dir aber mit Lisp eine bessere OO-Simulation bauen, als mit
 den meisten prozeduralen Sprachen. Siehe CLOS:
 http://www.lisp.org/table/objects.htm

CLOS != Lisp. CLOS ist das Common Lisp Object System. Ein OO Aufsatz auf 
Lisp.

 Schließlich sind in Lisp alle vordefinierten Datentypen first class
 objects.

Also ich hab gelernt in Lisp ist alles eine Liste != Objekt (im OOP 
Sinne)

Gruß Chris

-- 
A: because it distrupts the normal process of thought
Q: why is top posting frowned upon



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

2006-08-15 Diskussionsfäden Elias Gerber
On Sun, 2006-08-13 at 13:39 +0200, Bjoern Schliessmann wrote:
 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.

Wirf mal einen Blick auf Eiffel. ;)

 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).

Mhh.. 

Elias



-- 
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)



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

2006-08-15 Diskussionsfäden Mario 'BitKoenig' Holbe
Bjoern Schliessmann [EMAIL PROTECTED] wrote:
 Rein objektorientiert finde ich aber eigentlich nur Lisp. Nicht,

Lisp ist funktional. Objektorientiert ist SmallTalk.


regards
   Mario
-- 
Ho ho ho! I am Santa Claus of Borg. Nice assimilation all together!


-- 
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)



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

2006-08-14 Diskussionsfäden Christian Frommeyer
Am Montag 14 August 2006 00:46 schrieb Bjoern Schliessmann:
 Funktionen sind aber in Java beispielsweise keine Objekte.

Es gibt in Java auch gar keine Funktionen. Die Dinger heißen in Java 
Methoden und gehören untrennbar zur Klasse.

 Ja, in Java kann man es sich so einfach machen, da dort nur
 Klasseninstanzen Objekte sind ... ;)

Das ist eigentlich wenn man Corba und ähnliches was noch pre OOP ist 
ausklammert die gängige Definition von Objekt im Zusammenhang mit 
Programmiersprachen.

 Hast du dich nie gefragt, warum man in Java schreiben muss

 int a = 5;

int genießt Wertesemantik. Einem int kann man keinen Zeiger zuweisen.

 aber bei Objekten

 Integer a = new Integer(5);

einer Referenzvariable kann man nur Referenzen zuweisen. Das ist völlig 
Analog zu C++.

 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);

Da vergleichst Du Äpfel mit Birnen. Die erster Version ist analog zu 
Java. Ein gewöhnlicher int. Das zweite geht so nicht (wie Andreas ja 
schon angemerkt hat) da müsste eine Pointervariable stehen. Pointer 
gibt es in Java aber nicht, ergo geht das auch nicht.

 string b1(Honk);
 string b2 = new string(Honk);

Hier sieht das genau anders herum aus. Die erste Variante erzeugt eine 
Objektvariable in Wertesemantik. Das geht in Java nicht. Das zweite 
einen Pointer auf ein Objekt (In Java eine Referenz). Aus 
Analogiegründen verwendet man in Java dann dieselbe Syntax wie in C++.

 In Java ist das new IMHO völlig überflüssig und macht die Sprache
 uneinheitlich.

Das ist offensichtlich falsch.

 Was sind denn die Stärken der Sprache Java? Dass Operatorüberladung
 und Mehrfachvererbung verboten sind?

Ob Mehrfachvererbung (von Klassen) ein Feature ist ist sehr umstritten. 
Sicher ist, das Mehrfachvererbung einen ganzen Batzen von 
Konsistenzproblemen , Schwierigkeiten für die statische Typsicherheit 
und dynamische Bindung mit sich bringt.

 Dass jede Klasse zwangsweise in eine eigene Datei muss?

Das ist für mich durchaus ein Feature. So finde ich eine Klasse auch in 
einem Projekt, das ich nicht selbst geschrieben habe schnell und 
zuverlässig.

 Dass jeder Anfänger auf die CLASSPATH-Geschichte reinfällt? :)

Welche CLASSPATH-Geschichte? Wenn Du die Tatsache meinst, das die VM 
gerne wissen mag wo die Klassen liegen... das ist gut dokumentiert. 
Welche Umgebungsvariablen jetzt für welchen Compile, Link und Execute 
Schritt wirklich nötig sind habe ich noch nicht verstanden und auch 
leider noch nicht in der Doku gefunden, also setzte ich halt alle...

 Für mich ist Java ein kastriertes C++.

In Java hat man den prozeduralen Teil abgeschnitten, der die 
Abwärtskompatibilität zu C darstellt und Dinge wie Pointerarithmetik 
und Mehrfachvererbung, die z.B die statische Typsicherheit gefährden, 
weggelassen.

 Vielleicht sehe ich auch nur die verborgenen Vorteile dieser Sprache
 nicht, also wenn jemandem welche einfallen, nur her damit.

Java ist gut zu überschauen. Insbesondere durch die Einschränkungen ist 
der Code IMHO wesentlich besser zu lesen als C++. Das Konzept ist 
tatsächlich Objektorientiert und es gibt eine Standardisierte 
Klassenbibliothek. Und es gibt sicher noch mehr. (Klar es gibt auch 
schwächen, sonst würde ich für meine Diplomarbeit wohl auch lieber auf 
Java zurückgreifen...)

 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.

Das stimmt so nicht. Pointerarithmetik z.B. kann auf unterschiedlichen 
Plattformen durchaus zu unterschiedlichen Ergebnissen führen. Ein Grund 
warum M$ in .net managed Code verbietet Pointerarithmetik zu betreiben.

Gruß Chris

-- 
A: because it distrupts the normal process of thought
Q: why is top posting frowned upon



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

2006-08-14 Diskussionsfäden Bjoern Schliessmann
Christian Frommeyer wrote:

 Es gibt in Java auch gar keine Funktionen. Die Dinger heißen in
 Java Methoden und gehören untrennbar zur Klasse.

Definitionssache, IMHO sind Methoden Funktionen.
 
 Das ist eigentlich wenn man Corba und ähnliches was noch pre OOP
 ist ausklammert die gängige Definition von Objekt im Zusammenhang
 mit Programmiersprachen.

In der Informatik ist es IIRC weiter gefasst.
 
 int genießt Wertesemantik. Einem int kann man keinen Zeiger
 zuweisen.

Warum nicht? In Python geht's.

 Das zweite geht so nicht (wie Andreas ja schon angemerkt hat) da
 müsste eine Pointervariable stehen. Pointer gibt es in Java aber
 nicht, ergo geht das auch nicht.

ACK, ich habe gedankenverloren den * durch ein  ausgetauscht, weil
ich dachte, es sieht so analoger aus. Dumme Idee.

 string b1(Honk);
 string b2 = new string(Honk);
 
 Hier sieht das genau anders herum aus. Die erste Variante erzeugt
 eine Objektvariable in Wertesemantik. Das geht in Java nicht.

Warum nicht?

 Das zweite einen Pointer auf ein Objekt (In Java eine Referenz).
 Aus Analogiegründen verwendet man in Java dann dieselbe Syntax wie
 in C++.

Diese Analogiegründe sind IMHO Altlasten, die die Sprache nur
seltsam aussehen lassen ...

 Dass jede Klasse zwangsweise in eine eigene Datei muss?
 
 Das ist für mich durchaus ein Feature. So finde ich eine Klasse
 auch in einem Projekt, das ich nicht selbst geschrieben habe
 schnell und zuverlässig.

In den hunderten Dateien. Naja, ich gruppiere meine Klassen lieber,
damit finde ich sie besser.
 
 Java ist gut zu überschauen. Insbesondere durch die
 Einschränkungen ist der Code IMHO wesentlich besser zu lesen als
 C++.

Ansichtssache ;)

Grüße,


Björn
-- 
BOFH excuse #38:

secretary plugged hairdryer into UPS


-- 
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)



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

2006-08-14 Diskussionsfäden Christian Frommeyer
Am Montag 14 August 2006 14:39 schrieb Bjoern Schliessmann:
  Das ist eigentlich wenn man Corba und ähnliches was noch pre OOP
  ist ausklammert die gängige Definition von Objekt im Zusammenhang
  mit Programmiersprachen.

 In der Informatik ist es IIRC weiter gefasst.

Je nach Zusammenhang ja. In der OOP nein.

  int genießt Wertesemantik. Einem int kann man keinen Zeiger
  zuweisen.

 Warum nicht? In Python geht's.

Weil ein int ein int ist und eben kein Zeiger. Das sowas in 
Script-Sprachen oft geht ist ein Performance hack, der zugunsten von 
Lesbarkeit und Programmierkomfort auf Eindeutigkeit und statische 
Typsicherheit verzichtet.

  Hier sieht das genau anders herum aus. Die erste Variante erzeugt
  eine Objektvariable in Wertesemantik. Das geht in Java nicht.

 Warum nicht?

Weil in Java alle Objekte auf der Halde liegen und via Referenzvariable 
(Eingeschränkter Pointer) angesprochen werden. Das Konstrukt 
Objektvariable gibt es in Java nicht. 

  Das zweite einen Pointer auf ein Objekt (In Java eine Referenz).
  Aus Analogiegründen verwendet man in Java dann dieselbe Syntax wie
  in C++.

 Diese Analogiegründe sind IMHO Altlasten, die die Sprache nur
 seltsam aussehen lassen ...

Altlasten woher?
Der Aufruf

Klasse1* objekt1 = new Klasse1();

erzeugt in C++ ein Objekt objekt1 vom Typ Klasse1 mit dem parameterlosen 
Konstruktor auf der Halde und liefert einen Zeiger auf objekt1 zurück.
Genau das analoge tut in Java

Klasse1 objekt1 = new Klasse1();

Den anderen in C++ möglichen Aufruf ohne new:
Klasse1 objekt2 = Klasse1(); (oder eben gleich nur Klasse1 objekt2();
gibt es in Java nicht.

 In den hunderten Dateien. Naja, ich gruppiere meine Klassen lieber,
 damit finde ich sie besser.

Dafür gibt es in Java Packages.

Gruß Chris

-- 
A: because it distrupts the normal process of thought
Q: why is top posting frowned upon



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

2006-08-14 Diskussionsfäden Christian Frommeyer
Am Montag 14 August 2006 15:14 schrieb Andreas Pakulat:
 On 14.08.06 10:24:36, Christian Frommeyer wrote:
  einer Referenzvariable kann man nur Referenzen zuweisen. Das ist
  völlig Analog zu C++.

 Jaein, in C++ kannst du nicht

Ok, der Vergleich muss hier zu C++-Zeigern gehen nicht zu Referenzen, 
weil Java und C++ Referenzen leider gleich heißen aber nicht das 
gleiche sind.

  stehen. Pointer gibt es in Java aber nicht, ergo geht das auch
  nicht.

 Nunja, von der Bedeutung her sind C++ Pointer und Java Referenzen
 schon vergleichbar.

Vergleichbar, aber eben nicht das gleiche.

   In Java ist das new IMHO völlig überflüssig und macht die
   Sprache uneinheitlich.
 
  Das ist offensichtlich falsch.

 Nein ist es nicht. Du hast selbst festgestellt dass int ein Wert ist
 und nicht mittels new erzeugt werden kann. Objekte hingegen koennen
 nicht einfach als Werte erzeugt werden. Java muesste also nur pruefen
 ob der Typ einer Variablen ein Werttyp oder eine Klasse ist.

Mit dem gleichen Argument kann man das in C++ auch behaupten. Dann da 
darf man einem Zeiger auch nicht direkt einen int zuweisen (auch wenn 
man natürlich casten kann aber das bekommt der Compiler ja wieder mit) 
und einer Objektvariable keinen Zeiger.
Der Punkt ist aber:
* Objekte werden immer gleich behandelt
* Werte werden immer gleich behandelt
Es gibt also keine Uneinheitlichkeit (an dieser Stelle)
Eine Designentscheidung bei Java war IIRC syntaktisch nahe an C++ zu 
bleiben, um Entwicklern den Umstieg leicht zu machen. Da wäre es extrem 
verwirrend das new zu streichen. Es ist also auch nicht überflüssig.

 Dafuer hat man bis 1.5 gebraucht um statische Typsicherheit in
 Containern zu gewaehrleisten ;-)

Wenn man Typsicherheit bei expliziten Casts fordert (und das tut man, 
wenn man behauptet die alten Container wären nicht Typsicher) dann ist 
Java auch mit 1.5 nicht Typsicher, denn auch da kann man sich mit 
expliziten Casts ins Bein schießen. 

Gruß Chris

-- 
A: because it distrupts the normal process of thought
Q: why is top posting frowned upon



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

2006-08-14 Diskussionsfäden Christian Frommeyer
Am Montag 14 August 2006 16:06 schrieb Andreas Pakulat:
 ?? Du hast das wesentliche weggeschnitten, ich bezog mich auf
 statische Typsicherheit der Containerklassen. Die gabs nicht bis 1.5.

In die fertigen Container konnte man bis Java 1.5 nur Objekte von Typ 
Object tun und hat auch nur solche Objekte zurückbekommen. Soweit war 
das statisch Typsicher, denn jedes Java-Objekt /ist ein/ Object. Die 
Tatsache, das man sich dann an der Stelle mit einem expliziten Cast ins 
Bein schießen kann hat mit der Typsicherheit nichts zu tun.

 Was mir bei Containern noch einfaellt: Wieso schmeisst man die ganzen
 Werttypen nicht weg? Man kann diese in keiner Weise erweitern und ihr
 einziger Zweck ist es C++ Programmieren etwas bekanntes zu
 praesentieren.

AFAIR ist das wesentliche Argument für die Werttypen der schnellere 
Zugriff, da ja eine Indirektion wegfällt.
Außerdem wird gern die Intuition angeführt, das eine 1 eben eine 1 ist 
und es nicht mehrere verschiedene Einsen gibt. Ob das schlüssig ist mag 
dann jeder für sich selbst entscheiden.

Gruß Chris

-- 
A: because it distrupts the normal process of thought
Q: why is top posting frowned upon



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

2006-08-14 Diskussionsfäden Bjoern Schliessmann
Christian Frommeyer wrote:

 Weil in Java alle Objekte auf der Halde liegen und via
 Referenzvariable (Eingeschränkter Pointer) angesprochen werden.
 Das Konstrukt Objektvariable gibt es in Java nicht.

Warum nicht? Was wäre so schlimm daran, ein

Objekt a;

zuzulassen, das nur auf dem Stack liegt? Stattdessen gibt man dem GC
nur noch mehr Arbeit. Ein optionales delete wäre auch nicht
schlecht.
 
 Diese Analogiegründe sind IMHO Altlasten, die die Sprache nur
 seltsam aussehen lassen ...
 
 Altlasten woher?
 Der Aufruf
 
 Klasse1* objekt1 = new Klasse1();
 
 erzeugt in C++ ein Objekt objekt1 vom Typ Klasse1 mit dem
 parameterlosen Konstruktor auf der Halde und liefert einen Zeiger
 auf objekt1 zurück. Genau das analoge tut in Java
 
 Klasse1 objekt1 = new Klasse1();

Ja. Ist von der Syntax her überflüssig und wirkt auf mich
umständlich. Hatten wir aber schonmal, das Thema. 

Einerseits C++ nacheifern und sich auf lernträge Umsteiger
spezialisieren, und gleichzeitig für Anfänger gut sein wollen ...
 
 In den hunderten Dateien. Naja, ich gruppiere meine Klassen
 lieber, damit finde ich sie besser.
 
 Dafür gibt es in Java Packages.

Vielleicht bin ich konservativ, aber ich habe lieber meine
10 .h-Dateien, in denen jeweils zusammengehörende Klassen
drinstehen ...

Grüße,


Björn

-- 
BOFH excuse #324:

Your packets were eaten by the terminator


-- 
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)



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

2006-08-13 Diskussionsfäden Bjoern Schliessmann
Andreas Juch wrote:

 Nehm ich auch nicht. Für solche Aufgaben bringt eine rein
 Objektorientierte Sprache ja keinen Vorteil.

Wie kann man eine Sprache rein objektorientiert nennen, wenn die
Basistypen keine Objekte sind und man zum Konvertieren mit
Containerobjekten rumfrickeln muss? 

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.

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.

 Was sich allerdings mit wachsender Komplexität schnell ändert. 

Dass Objektorientiertheit Vorteile bringt? Hängt ganz von der
Aufgabe ab.

 Wie eine Krankheit sieht's für mich eigentlich nicht aus. Am
 ehesten wie C(++) :-) 

Tja, klauen kann jeder. Wenn man schlecht klaut ... ;)

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).

 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.

Grüße,


Björn

-- 
BOFH excuse #94:

Internet outage


-- 
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)



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

2006-08-13 Diskussionsfäden Bjoern Schliessmann
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)



Objektorientierte Programmi ersprachen [Was: Anfangsbuchstaben in Großbuchstaben ändern [OT]]

2006-08-13 Diskussionsfäden Andreas Pakulat
On 14.08.06 00:46:31, Bjoern Schliessmann wrote:
 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);

Dein C++ ist etwas eingerostet, die 2. Zeile ist korrekt

int* a2 = new int(5);

 string b1(Honk);
 string b2 = new string(Honk);

Und hier dasselbe, new liefert immer einen Zeiger auf das Objekt
zurueck, keine Referenz.

  Fand ich auch sehr ellegant!
 
 Ist es auch, nur für Pythonfremde eher kryptisch.

Nicht nur fuer Pythonfremde, auch fuer Leute die schon das eine oder
andere Pythonskript geschrieben haben (aka ich). Kommt halt immer drauf
an ob man sowas braucht oder nicht.

  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?

Das letztere stimmt so nicht, nur oeffentliche Klassen muessen in
eigenen Dateien stehen.

 Dass jeder Anfänger auf die
 CLASSPATH-Geschichte reinfällt? :)

Naja, der Linking-Spass mit C++ ist auch nicht so richtig das Gelbe vom
Ei. Insbesondere wenn sich mal eine andere Version einer Bibliothek
weiter vorne in den Libraries-Path einschleicht... Python macht da aber
schon ne recht gute Figur.

 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.

Ein Vorteil gegenueber C++ ist der groessere Umfang der
Standardbibliothek, gegenueber Python punktet Java mit schoeneren
Standard GUI Frameworks. Mehr faellt mir grad nicht ein.

 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.

Benutzung auf WWW Seiten??? Meinst du JSP/Servlet Spaesse? Naja, das
wuerde ich jetzt ehrlich gesagt nicht unbedingt als Vorteil
herauskehren wollen. Ich bin zwar im J2EE-Bereich noch nicht sooo sehr
bewandert aber Zope als Web-Applikationsplatform wuerde mir dann doch
gefallen.

Hab mal das Topic geaendert, wird auch langsam etwas OT hier glaub ich
;-)

Andreas

-- 
You will be married within a year, and divorced within two.


-- 
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)