Warum ist PHP so gehasst? [geschlossen]

17

In letzter Zeit habe ich einige Witze und Comics darüber gehört, wie schrecklich PHP anscheinend ist.

Warum ist das so? Ist es meine eigene Wahrnehmung oder ist dies das allgemeine Gefühl in der Programmiergemeinschaft?

Gabriel
quelle
2
Ich schreibe Software in c # und höre alle Microsoft-Kritik, es ist so ziemlich nur die andere Sprache zu schlagen
Scott Selby
4
@Andy sollte man Jeffs Blog-Beiträge nicht vergessen: Die PHP-Singularität und PHP saugt, aber es spielt keine
5
Gibt es nicht zwei Arten von Sprachen, die jeder hasst und die keiner benutzt?
GroßmeisterB
2
@HerrK die einzige Möglichkeit, die beantwortet werden kann (meine eingeschlossen), ist die der Meinungen, warum du denkst, dass PHP scheiße ist. Es würde auch zu unproduktiven Diskussionen führen (es ist zum Kotzen! Nein, es ist nicht so! Java ist genauso zum Kotzen!). Die Frage nicht optimize für die guten Antworten , wie es zur Zeit geschrieben (dies bedeutet nicht , eine gute Antwort kann nicht geschrieben werden). Abgesehen davon ist der Software Engineering Chat ein guter Ort, um Diskussionen und Meinungsfragen zu stellen . Es wäre besonders nützlich, mit unserer eigenen Yannis über PHP und seine Wahrnehmungen in der Branche zu sprechen.

Antworten:

29

Hinweis: Dies ist aus einer hochmeinenden Haltung geschrieben.

Siehe auch: PHP: Ein Fraktal von schlechtem Design

Vor langer Zeit, als das Web noch jung war, haben Sie eine Web-App in Perl geschrieben. Das war es wirklich. Das war Ihre einzige Wahl (es sei denn, Sie mochten es wirklich , mit Strings in C zu arbeiten). (Und ja, ich beschönige große Teile von ASP und Ähnlichem. Ich würde diese Tage lieber vergessen.) Es gab großartige und umfangreiche Anwendungen für das Web, die in Perl geschrieben waren. Und es gab viele, viele Stücke von ... na ja, Scheiße, geschrieben in Perl. Sie können sie immer noch finden, wenn Sie nach fehlerhaften CGI-Skripten suchen, die jemand zusammengeschlagen hat und deren Eingaben nicht annähernd bereinigt wurden.

Als das Web unternehmerischer wurde, wurden die großen und riesigen Anwendungen auf andere Frameworks verlagert, die besser für die Verarbeitung von Tausenden von Verbindungen ausgelegt waren (Perl zu dieser Zeit nicht). Diejenigen, die eine neue Sprache lernen konnten, wechselten zu Java (das war die beste Wahl für viele Frameworks). Diejenigen, die es nicht konnten, gab es eine Sprache, die Perl sehr ähnlich sah und einige Dinge besser machte (sie musste nicht für jede Anfrage einen Prozess starten). Es war PHP.

Php ist organisch gewachsen ... wenn man ein Frankenstein-Monster als organisch bezeichnen kann. Viele Hacks ( Wussten Sie, dass die ursprüngliche Hash-Funktion für Funktionsnamen eingeschränkt ist ?). Teilweise Dinge, die der Kernsprache hinzugefügt wurden (und nicht Bibliotheken), die heute noch vorhanden sind. Es ist nicht so hübsch. ( Stöbern Sie in reddits / r / lolphp, das sich über viele dieser Unstimmigkeiten lustig macht ... wussten Sie, dass -1 monthdas immer 30 Tage sind ?)

Und während große und riesige Dinge in PHP gebaut wurden (siehe WordPress als Beispiel), ist es immer noch ein Monster unter der Decke mit Esoterik darüber, wie Dinge funktionieren (oder nicht funktionieren oder welche Teile der Dinge am meisten funktionieren) Zeit).

Es ist die schnelle und einfache Sprache, die man lernen kann, so dass viele Leute, die keine Zeit damit verbringen möchten, eine Sprache zu lernen, sie benutzen. Und wenn es dann bricht und Sie es jetzt pflegen müssen? Nun, eine Sprache, die Codierern, die nicht immer verstehen, was sie tun, einen solchen Mangel an Disziplin erlaubt, führt zu einigen sehr "interessanten" Fehlern.

Es ist die Sprache von schnell zusammengewürfelten Websites und halbgebackenen WordPress-Plugins. Wo ein 16-Jähriger den Code für seinen Nachbarn für 20 Dollar oder einen College-Studenten für Biergeld schrieb ... in dem Wissen, dass sie ihn nie wieder sehen werden. Sehen Sie sich das PHP-Tag von Stack Overflow ein wenig an und denken Sie daran, dass Sie diesen Code möglicherweise eines Tages beibehalten.

Denken Sie daran, dass der Code aller anderen immer scheiße ist. Und wenn Sie sich mit dem Code eines anderen in PHP auseinandersetzen müssen, ist das zum Kotzen.

Gemeinschaft
quelle
6
Kein Wunder, dass Leute PHP hassen, wenn sie WordPress als Beispiel nehmen ... Frameworks wie Symfony oder Klassen wie Pimple sind besser geschriebene saubere PHP-Skripte, die ich gerne pflegen müsste. symfony.com/components pimple.sensiolabs.org
Félix Gagnon-Grenier
Jede Sprache hat Fehler. PHP hatte eine Menge dieser Fehler. Einige sind sortiert, andere sind wie sie sind, aber es werden Alternativen erstellt. PHP hat sich mit der Zeit weiterentwickelt. ABER das Problem ist die Community. Es hat eine Community voller Noobs und Amateure. Mein Senior sagte einmal: "Niemand kennt PHP, auch wenn er 5 Jahre Erfahrung hat." Das stimmt, mehr als die Hälfte der PHP-Entwickler kennt das OOP-Konzept nicht. Sie erledigen ihre Arbeit nur mit Array- und String-Funktionen, die aus dem Stackoverflow kopiert wurden.
tejas.jaiswal