hkl: PHP5, Java und OO

Beitrag lesen

Hallo !

Find ich, das Du mal PHP5 thematisert hast.

Moin,
Um auch noch meinen Senf dazu abzugeben:
Obwohl ich begeisterter PERLer bin - was mir bei Perl ganz entscheidend abgeht, ist die Objektorientierung.
Perl unterstützt zwar offiziell Objektorientierung, aber ich finde, die wirkt dort doch sehr "rangeflanscht" (ich sage nur "bless").

Das mit dem "bless" finde ich eigentlich ganz gut; z.B. kriegt man damit ein Singleton-Pattern realisiert - bless im getInstance() o.ae. und nicht im new()

Eine richtige Kappselung wie mit classes in PHP5 ist damit nicht so toll hinzukriegen.

Das kenn ich noch nicht.Es faell mir etwas schwer durch die PHP Doku durchzusteigen - da sind irgendwie alle Versionen durcheinandergewuerfelt.

Ich finde Java als serverseitige Sprache recht tauglich - allerdings bieten das die wenigsten Webserver-Hoster an,

Das ist auch noch so'n Problem mit PHP5.

und ob sich für kleinere Projekte der ganze Deployment-Zirkus lohnt, ist auch zu bezweifeln. Zum Programmieren ists aber am schönsten, meiner Meinung nach.

Ich weiss nicht ob man mit Java und C++ arbeiten kann. Zumsindest ich kann das nicht { Wenn ich versuch IIalienisch zu sprechen kommt auch immer mein Latein in die Quere - auch das hab ich aufgegeben :-) }

Die OO bei Java ist natuerlich sehr huebsch und ich denke auch recht vollsteandig. Aber ein paar Sachen sind Augenwischerei:

//Sowas in C++
feed_me()
{
  Egg anEgg;
  Sau theSau;

std::vector<void*> theEierLegendeWollilchSauVektor;
  std::vector<void*>& theRef = theEierLegendeWollilchSauVektor;

//
  // Stilsicher wird jetzt erst mal hart gecastet :
  // :-)
  theRef.push_back((void*)&anEgg);
  theRef.push_back((void*)&theSau);

//...
// wirkt ugly, nicht wahr ?
}

Unter Java geht das viel huebscher wenn Egg und Milch von Object erben ( uebrigens  - Klasse namens "Object" ?!? - na ja ). Ist aber letztlich (oft) der gleiche typarme Murks. Egal ob's nun Zeiger hat oder nicht.

Unter C++ muesste ich nachdenken wer Objekte hinter den Pointern destruiert - aha, Stackvariablen, also macht's der Compiler. Dabei faellt mir dan aber gleich auf, dass
theSau viellicht im falschen Block deklariert wurde.
Es ist nicht immer schlecht dass man ueber Ressourcen nachdenken muss.

Ferner seh ich von Java auh aus dem Grunde ab, da ich da bei allem Hype oft etwas Realismus vermisse.
Als mit Java die ersten Oberflaechen gebaut wurden, fand ich sie langsam. Vor den Argumentionslawinen die ich damit ausloeste konnte ich mich gar nicht schnell ducken. Jetzt schneckt z.B. eclipse meines Erachtens immer noch ( 2GHz, 1 GB, SCSI, Debian Sarge ).
Niemals wuerde ich auf die Idee kommen ein GUI mit Perl entwickeln zu wollen.

Um Java serverseitig einzusetzen ist der Web-Anteil des Projekts nicht gross genug. "C++ ist eine Sprache fuer mittlere bis grosse Projekte. " - Bjarne Stroustup.  Das trifft m.E. auf Java auch zu.
Wenn ueberhaupt wuerde ich dann das ganze Projekt in Java machen - und das moechte ich einfach nicht. Letztlich Geschmackssache.

Gruss

Holger