web-dev-qa-db-fra.com

Pourquoi PHP si détesté?

Dernièrement, je suis tombé sur plusieurs blagues et bandes dessinées sur la façon dont apparemment horrible PHP est.

En tant que complètement ignorant de la langue, pourquoi est-ce? Est-ce ma propre perception ou est-ce le sentiment général général de la communauté de programmation?

17
Gabriel

Remarque: Ceci est écrit à partir d'une position très avisée.

Voir aussi: PHP: Une fractale de mauvaise conception

Il y a longtemps, lorsque le Web était jeune, vous avez écrit une application Web en Perl. C'était vraiment ça. C'était votre seul choix (sauf si vous aimiez vraiment travailler avec des chaînes en C). (Et oui, je passe sous silence de grandes portions de ASP et autres ... Je préfère oublier ces jours-là.) Il y avait de grandes et grandes applications du Web écrites en Perl. Et il y avait de très nombreux morceaux de ... eh bien, des conneries écrites en Perl. Vous pouvez toujours les trouver si vous regardez - des scripts CGI bogués que quelqu'un a giflé ensemble qui ne viennent même pas fermer pour assainir leurs entrées.

Au fur et à mesure que le Web devenait plus d'entreprise, les grandes et énormes applications se déplaçaient vers d'autres cadres mieux conçus pour gérer des milliers de connexions (Perl à l'époque ne l'était pas). Ceux qui pouvaient apprendre un nouveau langage sont passés à Java (c'était le meilleur choix pour de nombreux frameworks). Ceux qui ne pouvaient pas, eh bien, il y avait ce langage qui ressemblait beaucoup à Perl et a fait certaines choses mieux (pas besoin de bifurquer un processus pour chaque requête). C'était php.

Php a grandi, organiquement ... si vous pouvez appeler un monstre Frankenstein organique. Beaucoup de hacks (saviez-vous que la fonction de hachage d'origine pour les noms de fonction était strlen ?). Des choses partielles ajoutées au langage de base (plutôt que des bibliothèques) qui y restent encore aujourd'hui. Ce n'est pas si joli. (Poke chez reddit / r/lolphp qui se moque de beaucoup de ces inconstances ... saviez-vous que -1 month est toujours 30 jours ?)

Et bien que des choses grandes et énormes aient été construites en php (regardez wordpress comme exemple), c'est toujours un monstre sous les couvertures avec ésotérique sur la façon dont les choses fonctionnent (ou ne fonctionnent pas, ou quelles parties des choses fonctionnent la plupart du temps).

C'est la langue rapide et facile à apprendre, donc beaucoup de gens qui ne veulent pas passer du temps à apprendre une langue l'utilisent. Et puis quand ça casse et vous devez le maintenir maintenant? Eh bien, un langage qui permet un tel manque de discipline de la part de codeurs qui ne comprennent pas toujours ce qu'ils font crée des bogues très "intéressants".

C'est le langage des sites Web rapidement assemblés et des plugins à moitié cuits wordpress. Où un jeune de 16 ans a écrit le code pour son voisin pour 20 $ ou un étudiant pour de l'argent de la bière ... sachant qu'ils ' Je ne le reverrai plus jamais. Allez parcourir php tag de Stack Overflow pendant un certain temps et considérez que vous pouvez maintenir ce code un jour.

N'oubliez pas que tout le monde le code des autres est toujours nul. Et si vous devez gérer le code de quelqu'un d'autre en php - ça craint.

29
user40980