Meine Herren!
myArray.filter(), oder myArray.sort() habe ich dann? so für sich genommen erschließt sich ja erstmal nicht, warum das von nachteil sein sollte
Zum Beispiel wegen Vererbung. Wenn ich eine etwas spezifischere Klasse haben möchte, zum Beispiel ein Array, das keine Mehrfachvorkommen erlaubt, also eine Menge, könnte ich einfach von Array eine Klasse ableiten, ein paar Methoden überschreiben, vielleicht ein paar neue hinzufügen und gut ist.
Deswegen aber würde Facebook nicht Hack entwickeln, denke ich mal.
Nein, das würden sie sicher nicht. Das wollte ich auch nicht vermitteln. Dir ist sicher aufgefallen, dass ich auf deinen längeren Hack-Abschnitt gar nicht eingegangen bin, schlicht weil ich mich in dem Thema nicht genug auskenne. Ich möchte dir nur die bestehende Kritik an PHPs Arrays erläutern. Wenn ich den Finger erhebe und die nachfragst, sollte ich schließlich in der Lage sein, meine Kritik verteidigen zu können ;)
In Kombination mit Dereferencing, können wir Method-Chaining benutzten. Stell dir eine Liste von Produkten vor, wir wollen den Gesamtpreis ermitteln:
Method-Chaining geht aber auch in PHP. Und klar, es muss ersterer Code umgesetzt werden.
$produkte->get("Preis")->reduce($sum);
Ja für Objekte geht das. Arrays sind in PHP leider keine Objekte.
Wenn das so überhaupt Sinn macht. Eine Produktklasse hätte vielleicht auch schlicht eine "getTotal()"-Methode.
Die müsste ja auch irgendwie implementiert werden. Beispiele hinken natürlich, gerade in der Programmierung, sie werden immer geschaffen um einen konkreten Sachverhalt zu illustrieren. Einfach eine fertige Methode "getTotal()" zu benennen hätte mir nicht bei der Veranschaulichung geholfen.
Ich erkenne auch hier nicht wirklich den Nutzen, den es ja haben muss, wenn FB in Hack dafür extra "Collections" "erfindet". Ich sage nicht, dass es keinen gibt. Es muss ja ne Menge Arbeit sparen, sonst würden sie es nicht machen.
Wie gesagt, ich kenne mich mit Hack nicht genügend aus. Aber scheinbar herrschte Unzufriedenheit über die Natur von PHP Arrays. Die Kritik an den Arrays besteht und lässt sich nicht abstreiten, das war es, was ich an dem ursprünglichen Artikel so heftig kritisiert habe: Der Autor weiß, dass Kritik besteht und tut sie ab mit einem "Arrays sind so verflixt nützlich". Das ist inhaltlich völlig wertlos. Meine Kritik richtete sich ja vor allem gegen den Artikel, nicht gegen PHP selbst. Da wäre mir noch schlechtere Features in den Sinn gekommen.
Man hat doch ansonsten aber in PHP immer die Möglichkeit, Funktionalität in einer Klasse zu ergzeugen. Vielleicht ist ja "Collections" sowas wie eine Helferklasse? Oder ist das ein neuer Datentyp in Hack?
Nur nochmal fürs Protokoll, von Hack und den Beweggründen von Facebook weiß ich nicht viel, deswegen möchte ich mich nicht an diesem Teil der Diskussion beteiligen. Aber ich werde mir die Sprache bei Zeit mal zu Gemüte führen.
“All right, then, I'll go to hell.” – Huck Finn