Dlaczego PHP jest tak znienawidzony? [Zamknięte]


17

Ostatnio natrafiłem na kilka żartów i komiksów o tym, jak pozornie okropny jest PHP.

Dlaczego tak jest, zupełnie nieświadomy języka? Czy to moja własna percepcja, czy jest to ogólne ogólne odczucie społeczności programistów?


2
Piszę oprogramowanie w języku c # i słyszę całą krytykę Microsoftu, to właściwie po prostu bash inny język
Scott Selby


4
@Andy nie należy zapominać o blogach Jeffa: Osobliwość PHP i PHP do bani, ale to nie ma znaczenia

5
Nie ma dwóch rodzajów języków ... tych, których wszyscy nienawidzą, i tych, których nikt nie używa.
GrandmasterB,

2
@HerrK jedynym sposobem, na jaki można na nie odpowiedzieć (w tym moje), są opinie na temat tego, dlaczego uważasz, że php jest do bani. Doprowadziłoby to również do nieproduktywnych dyskusji (to do bani! Nie, nie! Java jest do bani tak samo!). Pytanie nie optymalizuje się pod kątem dobrych odpowiedzi, ponieważ jest obecnie napisane (nie oznacza to, że nie można napisać dobrej odpowiedzi ). Nawiasem mówiąc, dobrym miejscem do zadawania pytań i dyskusji jest Software Engineering Chat . Byłoby szczególnie przydatne porozmawiać z naszymi własnymi Yannis o php i jego postrzeganiu w branży.

Odpowiedzi:


29

Uwaga: Jest to napisane z wysoce opiniotwórczej pozycji.

Zobacz także: PHP: Fractal of Bad Design

Dawno temu, kiedy sieć była młoda, napisałeś aplikację internetową w perlu. To było naprawdę to. To był twój jedyny wybór (chyba że naprawdę lubiłeś pracować z ciągami w C). (I tak, przeglądam wielkie obszary ASP i tym podobne ... wolałbym zapomnieć tamte dni.) Było wiele świetnych i dużych aplikacji internetowych napisanych w perlu. I było wiele, wiele kawałków ... cóż, bzdury napisane w perlu. Nadal możesz je znaleźć, jeśli spojrzysz - błędne skrypty CGI, które ktoś spoliczkował, a które nawet nie są w pobliżu odkażać swoich danych wejściowych.

Gdy sieć stała się bardziej przedsiębiorcza, wielkie i ogromne aplikacje zostały przeniesione do innych platform, które zostały lepiej zaprojektowane do obsługi tysięcy połączeń (perl w tym czasie nie był). Ci, którzy mogli nauczyć się nowego języka, przeszli na Javę (był to najlepszy wybór dla wielu frameworków). Ci, którzy nie mogli, no cóż, istniał ten język, który wyglądał bardzo podobnie do Perla i robił kilka rzeczy lepiej (nie musiał rozwiązywać procesu dla każdego żądania). To był php.

Php urósł, organicznie ... jeśli można nazwać organicznym potworem Frankensteina. Wiele hacków (czy wiesz, że pierwotna funkcja skrótu dla nazw funkcji była strlen ?). Częściowe elementy dodane do podstawowego języka (zamiast bibliotek), które nadal istnieją do dzisiaj. To nie jest takie ładne. (Poke na reddit's / r / lolphp, który wyśmiewa wiele z tych niestałości ... czy wiesz, że -1 monthto zawsze 30 dni ?)

I chociaż wielkie i ogromne rzeczy zostały wbudowane w php (spójrz na wordpress jako przykład), to wciąż jest potworem pod przykrywką z ezoteryką o tym, jak rzeczy działają (lub nie działają, lub jakie części rzeczy działają większość czas).

Jest to szybki i łatwy do nauki język, więc korzysta z niego wiele osób, które nie chcą poświęcać czasu na naukę języka. A potem, kiedy się zepsuje i musisz go teraz utrzymać? Cóż, język, który pozwala na taki brak dyscypliny ze strony programistów, którzy nie zawsze rozumieją, co robią, powoduje kilka bardzo „interesujących” błędów.

Jest to język szybkich stron internetowych i na wpół upieczonych wtyczek wordpress. Gdzie 16-latek napisał kod dla swojego sąsiada za 20 USD lub studenta za pieniądze z piwa ... wiedząc, że nigdy więcej na niego nie spojrzą. Przejdź przez chwilę do znacznika php Stack Overflow i zastanów się, że pewnego dnia możesz zachować ten kod.

Pamiętaj, że kod wszystkich innych jest zawsze do bani. A jeśli masz do czynienia z czyimś kodem w php - to jest do kitu.


6
nic dziwnego, że ludzie nienawidzą php, jeśli biorą przykład za wordpress ... frameworki takie jak Symfony lub klasy takie jak Pimple są lepiej napisanymi czystymi skryptami php, które chciałbym zachować. symfony.com/components pimple.sensiolabs.org
Félix Gagnon-Grenier

Każdy język zawiera błędy. PHP miał mnóstwo tych błędów. Niektóre są posortowane, niektóre są takie, jakie są, ale powstają alternatywy. PHP ewoluowało z czasem. ALE problemem jest społeczność. Ma społeczność wypełnioną noobami i amatorami. Mój starszy powiedział kiedyś: „nikt nie zna php, nawet jeśli ma 5 lat doświadczenia”. To prawda, że ​​ponad połowa programistów php nie zna koncepcji OOP. po prostu wykonują pracę za pomocą funkcji tablicowych i łańcuchowych skopiowanych z stackoverflow.
tejas.jaiswal
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.