dedlfix: PHP5

Beitrag lesen

echo $begrüßung;

PHP wurde nicht zur Veranschaulichung moderner OOP im Informatik-Studium entwickelt,
sondern für den konkreten Einsatzzweck, Webseiten serverseitig dynamisch gestalten
zu können. Deswegen sehe ich es nicht ein, warum es sämtliche Features einer
ausgewachsenen OOP-Sprache mitbringen sollte.
Das ist, wie Du mir unten selbst vorgeworfen hast, _deine_ Meinung.

Der erste Teil bezog sich auf PHPs Geschichte. Der Rest ist meine daraus gezogene Meinung. OOP war am Anfang gar kein Kriterium, das kam erst nach und nach hinzu. Schon deshalb wird es ein Äpfel- und Birnenvergleich, wenn man es mit von vorn herein objektorientiert entwickelten Sprachen vergleicht.

Typsicherheit,
Naja, in Bezug auf Sicherheit ist es schon nicht so schoen. ein typisches Beispiel: Man
schleift eine ID in der URL mit und moechte diese spaeter verwenden. Wer garantiert, dass
es tatsaechlich ein integer Wert ist und kein String oder Amount?

Niemand. Werte, die über HTTP übertragen werden, also GET- und POST-Parameter, sind generell Strings und außerdem vom Client veränderbar. Du musst sie in jeder Sprache prüfen und ggf. nach Integer casten oder parsen, wenn du einen Integerwert haben möchtest. Das war nicht grade das beste Beispiel :-)

Ansonsten ist Typsicherheit schon was Feines. Da funktioniert wenigstens die Codevervollständigung ordentlich :-)

M.M.n. sind enums unersaetzlich. Denn es ist sehr muehsam den Anwendungsbereich haendisch
nachzuahmen. Man stelle sich vor, eine Kalkulationsmethode Methode bedarf einer Waehrung
als Parameter.
public enum Currency {
     USD,
     EUR
}

Dann ist dein Programm ziemlich eingeschränkt und muss, wenn eine neue Währung hinzukommt, im Quelltext erweitert werden. Meiner Meinung nach ist der Name der Währung unerheblich. Die zu einer Währung gehörigen Daten, wie Name, Umrechnungsfaktor, etc., kommen aus der Datenbank. In meinem Beispielanwendungsfall für ein mit Währung hantierendem Programm muss der Quellcode nicht wissen, dass es USD oder EUR gibt.

Auch sonst fällt mir grade kein Anwendungsfall ein, bei dem ich ohne Enums nicht weiter käme.

Für eine Script-Sprache ist es schon in Ordnung, wenn sie nicht mit zu viel Features gepolstert ist. Das macht den Compiliervorgang einfacher und schneller (jedenfalls in meiner Vorstellung), der muss ja schließlich zu jedem Script-Lauf gestartet werden (Cache-Mechanismen mal unbeachtet gelassen).

echo "$verabschiedung $name";