Pourquoi les développeur(euse)s détestent PHP

Pourquoi les développeur(euse)s détestent PHP

Le PHP est le langage le plus utilisé au monde. C’est aussi le plus détesté. Et c’est de la haine pure. Mais pourquoi autant de développeur(euse)s le détestent autant ? Aujourd’hui on va aller jusqu’à l’origine de la haine et on va voir si elle est vraiment fondée.



Touche pas à mon PHP

Si j’ai l’aplomb de t’affirmer que PHP est détesté par le monde entier c’est pas un avis personnel. Je te sors pas ça pour troller. Je sais que c’est mon genre mais là c’est pas le cas. Dans la dernière enquête de stack overflow les développeur(euse)s du monde entier ont mis PHP dans le top 5 des langages les plus craints. La dernière enquête de chez Hired le met carrément en première place des plus détestés. Y’en a plein d’autres c’est accablant et je te parle même pas de ce qui se passe sur Reddit. Si t’es un(e) développeur(euse) PHP depuis 20 ans venu(e) ici en croisade pour me crucifier sur l’autel de Symfony détends toi deux minutes s’il te plait. On est là pour discuter, pose cette arme. Bon maintenant au contraire si tu hais PHP avec passion : prends des pop-corns et assieds toi confort’ t’es au bon endroit.





Bon t’es au bon endroit c’est pas sûr en fait. Il y a quelques années je faisais moi-même du Symfony2. Et j’ai fait ça pendant des années. Et j’aimais bien cette affaire de Symfony franchement c’est pas mal. Y’a très peu de temps j’ai raconté ça à un développeur que j’ai rencontré à un meetup devops. Il était choqué, à deux doigt de vomir, il me regardait comme si j’avais assassiné un nouveau-né. À partir de maintenant je vais l’appeler Jean-Jean pour que ça soit plus simple. Du coup j’ai tout de suite posé une question à Jean-Jean : pourquoi tant de haine ?



Le passé de PHP

Pour comprendre ce qui va suivre il te faut du contexte. Pour ce faire petit retour en arrière. Nous somme en 1994 et Rasmus Lerdorf code rapidement une suite d’outils en C. Cette suite d’outils lui sert à gérer son site web perso. Rasmus il fait ça juste pour sa gueule à ce moment là. Il ne veut pas en faire un langage de programmation. Rien n’est désigné dans cette suite d’outils pour le devenir. Un an plus tard Rasmus publie en open source cette suite d’outils appelée alors : PHP/FI. Et ça ressemblait à ça.



<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
  Hey, you are using Netscape!<p>
<!--endif-->

<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
  Sorry, that record does not exist<p>
<!--endif exit-->
  Welcome <!--$user-->!<p>
  You have <!--$index:0--> credits left in your account.<p>

<!--include /text/footer.html-->


On est loin de ce que tu utilises aujourd’hui dans ton énorme framework PHP7 pas vrai ? Pourtant tout vient de là. Pour la suite de l’histoire le code est repris par une équipe de dev et PHP/FI2 sort en 1997. En 1998 une partie est réécrite et PHP3 fait son apparition. En 1999 le cœur de PHP est totalement réécrit pour produire Zend. PHP4 suit l’année d’après et PHP5 sort en 2004 avec Zend2. PHP6 est carrément annulé tellement son développement s’est transformé en enfer sur terre. Enfin via une énième réécriture majeur du langage : PHP7 sort en 2015. Je me rappelle qu’a l’époque j’étais tout excité. Mais à la base Rasmus il codait juste son truc dans son coin. En 2003 il fait une interview et raconte des choses incroyables.

“Je n’aime vraiment pas la programmation. J’ai construit cet outil pour programmer moins afin de pouvoir simplement réutiliser du code[…]. Je ne sais pas comment l’arrêter, il n’y a jamais eu d’intention d’écrire un langage de programmation […]. Je ne sais absolument pas comment écrire un langage de programmation, j’ai juste continué à ajouter l’étape logique suivante.”





Inconsistance et mauvais design

Retour en 2019 avec notre ami Jean-Jean du meetup qui vomit PHP comme pas possible. Il a tout de suite commencé à me parler de la syntaxe “dégueulasse” de PHP. Du fait que le langage soit non typé. Du fait que cette “horreur de langage” soit la plupart du temps imprévisible. Que ça soit du côté des retours de fonction ou bien de l’utilisation des opérateurs. Il y a également les inconsistances incroyables du nommage des fonctions. Bref je t’épargne la liste des problèmes techniques car sinon cet article va te prendre la journée à lire.

Si vraiment tu veux tout savoir je t’ai trouvé la personne la plus énervée du monde contre PHP qui déverse sa haine sans retenue. Non, en fait je crois que celui qui déteste le plus PHP c’est lui en fait. Des articles comme ça y’en a 1 milliards sur les internets. Et ils valident tous pas mal ce que me disait Jean-Jean. Les développeur(euse)s détestent PHP car c’est un langage techniquement inconsistant avec un mauvais design. Quand on le compare à d’autres langages le contraste est flagrant. Si après la lecture de ces deux articles tu ne peux pas avouer que PHP a des problèmes alors c’est que c’est devenu ta religion. Et j’ai arrêté d’essayer de convaincre des fanatiques.



php


En PHP c’est très facile de coder quelque chose avec son cul. D’autres languages ont beaucoup plus de restrictions et empêchent les libertés et les facilités. Le meilleur exemple ici est le fort typage présent dans beaucoup de langage. On voit aussi beaucoup de problèmes de sécurité avec PHP. Et le problème est le même : c’est très facile de faire du code non sécurisé avec PHP. Mais PHP n’est pas un trou de sécurité si on fait les choses proprement. Les développeur(euse)s détestent PHP car tu es plus susceptible d’avoir des erreurs avec un langage qui laisse autant de liberté. Et les bugs dans du spaghetti code PHP c’est pas la joie. Surtout quand grand nombre de ces utilisateurs sont des débutants du fait de la facilité d’accès de PHP.



Victime de son succès

Il y a un autre facteur important dans cette haine ambiante. Les développeur(euse)s détestent PHP car il est utilisé partout. Ce blog tourne sur du PHP7. Comme la majeure partie du web j’ai juste besoin d’hoster une page dynamique qui est ensuite cachée en HTML statique. Mon blog c’est pas Amazon. Et du coup PHP ça fait la job comme on dit au Québec. Oui le langage en lui même n’est pas le meilleur. Oui il y a plus joli. Mais on s’en fout en fait. Ca répond à mon besoin de façon rapide et accessible. Et c’est également pour cette raison que 80% du web tourne en PHP.

Quand j’ai expliqué la même chose à Jean-Jean il a commencé à bouillonner. Comme toi et moi Jean-Jean a des amis et de la famille. Ces gens lui demandent fréquemment de l’aide pour leur site pro et perso. Devine quelle langage revient toujours sur les sites de ces connaissances ? Du coup Jean-Jean il se retrouve de temps à autre à devoir changer des choses en PHP. Et ça, ça lui file un mal de tête incroyable.

php


Avec l’avènement de WordPress qui domine littéralement les Internets Jean-Jean a pas fini de rager. En passant je te parle comme si ce langage savait que chier un blog comme le mien, mais pas du tout ! Facebook, Wikipedia, Yahoo, Flickr, Tumblr tous ces sites tournent en PHP et accueillent des millions d’utilisateurs tous les mois et des milliers de façons concurrentes sans broncher. PHP fait ça très bien et il le fait depuis longtemps.



Vieux de la veille

Ca fait 10 ans que t’entends que PHP va mourir. Pourtant il est toujours là. Malgré le temps et les dernières technologies hypes il ne bouge pas. Les développeur(euse)s détestent PHP car c’est le contraire du hype driven development. Dans un métier ou tout le monde investit rapidement sur les dernières nouveautés, PHP est un vieux monsieur qui ne veut pas vendre son terrain. Un vieux monsieur qui continue à danser de façon insolente avec ces 80% d’occupation du web.





Bref en tout cas ma discussion avec Jean-Jean continue normalement et tout d’un coup il me dit quelque chose de complètement choquant tellement c’est faux. “En plus de ça PHP est de très loin le langage le plus lent de tout ce que tu trouve pour faire du web”. Quand il a dit ça j’ai compris que Jean-Jean avait pas fait sa veille depuis longtemps.



PHP évolue, pas sa réputation

Dans la tête de beaucoup de développeur(euse)s, PHP est resté en version 4. À l’époque ou le langage était instable, où la performance était désastreuse et où la POO était inexistante. Les développeur(euse)s détestent PHP car ils sont persuadés que le langage stagne depuis 20 ans. Quand tu connais PHP aujourd’hui et tous les frameworks qu’ils l’entourent force est de constater qu’on est loin de PHP4.

PHP7 est plus rapide que Python et Ruby. Le langage peut être fortement typé si tu le souhaites. Le tooling évolue aussi avec des analyseurs statiques qui sont apparus ces dernières années. Les frameworks comme Symfony ou Zend forcent les bonnes pratiques. Une nouvelle version est release tous les ans avec un agenda bien précis. D’ailleurs PHP7.4 arrive bientôt et promet encore plus de performance. Encore une fois je vais pas te faire la liste de tout ce qui se passe dans le PHP moderne par soucis de longueur. Si tu veux tout savoir je t’invite à consulter cet article qui va t’ouvrir les yeux sur PHP en 2019. Il est temps de nuancer ton regard haineux qui date de 2003 sur un langage qui n’a plus rien à voir avec ce qu’il était.



php7


Si je fais cet article c’est aussi pour ouvrir les yeux aux gens qui n’ont pas touché à PHP depuis longtemps et qui ont une haine aveugle envers le langage. Les développeur(euse)s détestent PHP car c’est cool de détester PHP. Ce langage continue à se trainer cette réputation de language monstre alors qu’il s’agit d’un langage comme les autres. Avec certes un fort legacy et pas mal de problème mais avec autant de forces.



Épilogue

La plupart des développeur(euse)s qui détestent PHP le détestent par élitisme ou par ignorance. Dans les deux cas c’est débile. Il faut choisir une technologie par rapport à son besoin. PHP est fortement utile et performant dans de nombreux scénarios. Et le sortir de l’équation seulement à cause de sa réputation est aussi con que désespérant. Et y’a plein de gens désespérants.

Qui me parle ?

jesuisundev
Je suis un dev. En ce moment je suis Backend Développeur / DevOps à Ubisoft. Je suis passionné du dev et j'écris comme je parle. Je continue à te parler quotidiennement sur mon Twitter. Tu peux m'insulter à cette e-mail ou le faire directement dans les commentaires juste en dessous. Y'a même une newsletter !

Commentaire(s)

      1. J’ai eu à faire un peu de maintenance sur un site WordPress. Je pense que le fait que ce CMS n’utilise pas de framework laisse une porte ouverte à un million de façons d’implémenter du code, ce qui ne facilite pas la lecture pour identifier l’origine d’un bug ou même retracer le workflow d’une feature. Au final, on est frustré et on accuse tonton PHP 😂

  1. “La plupart des développeur(euse)s qui détestent PHP le détestent par élitisme ou par ignorance”
    Faux, on le déteste car on sait qu’on à 9 chances sur 10 de tomber sur un projet codé avec les pieds en PHP 😀

    1. Oui. Mais on a aussi 9 chances sur 10 de tomber sur un projet codé avec les pieds tout court 😉

      Les appli qui ont le plus de besoin de maintenance sont les applis les plus mal codés. Comme il faut 10 fois plus de temps pour réaliser une évolution sur une appli codée avec les pieds par rapport à une appli bien codée, on a 9 chances sur 10 de tomber sur des applis mal codés. cqfd 😉

    2. Reviens à la raison mon chère, il faut s’en prendre à l’équipe à l’origine de ces projets foireux et non au langage !
      Donc c’est toi qui as faux !

    3. De la même manière que pour Javascript, Python, etc. J’ai vu des horreurs en C++ et des super trucs en VB6. C’est pas le langage qui est en cause, c’est la personne derrière le clavier.

      1. Exactement, ca me rassure de voir qu’il a tout de même des gens qui voient clair. Évidemment que c’est la faute des gens. Oui c’est un langage permissif, mais si on respect les bonnes pratiques (cf PHP7, typage, PSR, …) on aura rien à envier à d’autres langages. C’est fatiguant ce discours de cours de récrée. Si un dev ne veut pas faire de php, qu’il n’en fasse pas, mais avant de critiquer, il faut se renseigner sur son vrai potentiel, ou juste faire un peu de veille pour se rendre compte qu’il a clairement changer ces 10 dernières années. Merci pour ton article, qui je l’espère aura ouvert quelques esprits étroits.

  2. Super article.
    PHP souffre aussi de 2 petits problèmes :
    – Il reste cantonné à du Web
    – Si on programme comme une m***e, c’est facile de dire que c’est la faute de l’outil.

    1. Pas vraiment, je code maintenant des routines en ligne de commande pour traiter des fichiers bruts. Ça vaut les autres langages, et quand PHP est déjà présent dans ta machine, ça fonctionne très bien.

    2. – “Il reste cantonné à du Web” : Non. Tu peux très bien exécuter des scripts PHP côté serveur sans que cela ait à voir avec le Web 😉
      – “Si on programme comme une m***e, c’est facile de dire que c’est la faute de l’outil” : Oui. 😛

    3. Vrai et faux.
      PHP fonctionne très bien en ligne de commande.
      J’ai même déjà écrit une appli PHP qui fonctionnent en tache de fond et envoie des SMS (via une librairie externe) en fonction des besoins.
      Ce qui manque à PHP, c’est une interface graphique en natif ou via un “processeur virtuel”… Il est possible de tricher un peu avec, par exemple, pour les appli mobiles, Coedova, mais ce n’est plus du tout du PHP (HTML/JavaScript/CSS “transformé” en langage impératif natif)

  3. super article ! merci
    Moi qui n’est que novice en la matière ,ton article m’a donné envie d’être curieux de me faire mon propre avis sur PHP !
    Sans doute que dans quelque années ( je vise loin oui ) , je détesterai – ou pas – PHP mais au moins pour mes raisons et pas pour faire comme “tout l’monde”

    p.s: merci pour ces mêmes, gifs et blagues de Qualitées ! 👏

    1. Pareille. Php ça va vite et bien. On code comme des porcs mais ça marche. Le web coûte de l’argent. Le temps de dev aussi. Coder vite une bouse qui marche et vendre de la maintenance. Voilà le monde du dev.

      Ce qui est valable pour php edt valable pour tout les languages qui fonctionnent et qui durent. C++, Perl,…

  4. Merci pour l’article! Après des années, je vais justement devoir me remettre à PHP/Symphony et je découvre avec soulagement qu’il y a encore de la lumière au bout du tunnel. Après, je suis d’accord avec Jos : dans langage ouvert aux quatre vents, l’enfer c’est souvent le code des autres…

  5. Bon article. J’ai jamais été un PHP hater et je bosse essentiellement sur cette techno. Et globalement bah t’as tout résumé : C’est un merdier qui a du évoluer pour devenir efficace. Y’a encore beaucoup de chemin à parcourir (notamment foutre un gros coup de balai et rendre cohérent les fonctions de base du langage), mais on y arrive tranquillement.

    Et surtout, on y arrive sans surensemble. Le coeur de PHP évolue, c’est pas juste Zend et Symfony qui rajoute les features, laissant un PHP simple sans rien, c’est pas un pseudo langage qu’on compile en PHP… (Yep, c’est gratuit dans la gueule de Javascript ça)

  6. J’utilise depuis PHP depuis 5 ans, et je me sens tellement bien. Comme présenté dans l’article, PHP est en évolution. La version 7 est un grand pas qui va redonner de la visibilité à ce langage. Je peux rajouter, que mes développeurs détestent PHP, parce qu’ils suivent la tendance tout simplement. Rare, les personnes qui vont se faire un avis sur le langage par le biais de l’expérience.

  7. “le sortir de l’équation seulement à cause de sa réputation et aussi con que désespérant. Et y’a plein de gens désespérants.”
    Merci Mehdi!
    Alors qu’en tu es dev PHP et spécialisé dans WordPress… je te fais pas de dessin…

  8. Sorry je suis orthographe nazi, j’ai pas réussi couper mon cerveau avant quelques lignes, donc il doit rester quelques coquilles :

    “Y’en a plein d’autres c’est accablant et je te parle même pas de ce qui se passe sur [Reddit]”
    “On est là pour [discuter], pose cette arme. Bon maintenant au contraire si tu [hais] PHP avec passion : prends des pop-corns et [assied] toi [confortablement] t’es au bon endroit.”

  9. Je suis DEV, j’aime le Php et je le revendique. Bon d’accord…je suis fullstack et je fais presque tout from Scratch c’est sûrement pour ça que je m’éclate autant. La classe de bosser chez Ubi Soft au passage. Petit Veinard 😁

  10. Essentiellement développeur JS et venant du monde du .Net, du Scala et du Java je n’avais effectivement pas fait de PHP depuis sa version 4 jusqu’à cette année. Et pourtant j’ai toujours autant de mal à l’apprécier..

    J’ai toujours l’impression le monde du PHP (langage + frameworks/outils) est en retard sur celui des autres langage. Peut-être que je n’utilise pas les bons outils ou peut-être est-ce juste une peur du PHP restée enfouie.

    Mais de l’utilisation que j’en ai et surtout de ce que j’en vois quotidiennement en code review, Symfony & co n’apportent pas toute la puissance d’un projet java avec une stack spring (Boot / Cloud / WS) par exemple. Cependant c’est certain pour un petit projet c’est largement suffisant, pas besoin de déployer une usine à gaz.

    Et puis concernant langage lui même, même si j’ai eu l’agréable surprise de voir que les arrow functions arrivent *enfin*, le language me paraît toujours un peu trop verbeux et peu agréable à lire et à utiliser.
    Et ce, en partant de petits détails comme l’utilisation de `$` devant les variables, les `::` et `->` là où on utilise très bien le `.` dans d’autres langages, le `array_map` (quelle horreur d’avoir à écrire ça, là où le `.map` des autres langages ensoleille ma journée, même si oui, il y une lib pour pourvoir faire la même chose en PHP), l’utilisation du `fn` pour déclarer une arrow function…
    Des détails certes, venant de son historique et de sa conception, mais qui le rendent selon moi moins “developer friendly”

    Bref, voilà pourquoi je “déteste PHP”

  11. Amusant 😉

    Je ne pense pas que les dev detestent PHP (ou pas plus que le javascript), c’est l’évolution rapide des technologies (donc des langages) qui fait doucement glisser le php vers la sortie, je m’explique: depuis le web 2.0 avec XMLHttpRequest, l’ES6 (2015), le moteur V8 de Google pour nodeJS, le TypeScript de Microsoft adopté par Angular (framework Google – Single Page Application), le framwork React de Facebook …

    Tout est fait (en tout cas chez Microsoft et Google) pour transformer les sites web en WebApps et maintenant en PWA (mobile oblige). Mon avis: l’association des deux géants du web se concentre avant tout sur l’affaiblissement du Java (et donc d’Oracle). Le backend tel qu’on le pratiquait (il y a quelques années) glisse vers le frontend ((JS) parce que seul maitre dans un navigateur), le backend évolue vers un monde d’API nécessitant des langages plus rapides et facilitant le multi-theading (comme le GO ou le RUST). Des API ne répondant que pour du transfert de data (JSON) à des requetes GET, POST, DELETE …

    Bref, le web se transforme et de nombreux langages vont en faire les frais selon moi (Java, PHP, Ruby). Python tire son épingle du jeux car c’est le langage de scripts de référence des distributions Linux, utilisé également pour l’IA ou le Big Data. Une PWA peut être empaquetée (Electron, Cordova …) et fonctionner su n’importe quel OS (ex VSCODE de MS). Il ne faut pas oublier le monde des objets connectés qui enveront des données aux API (plus besoin de page avec des logos, plus de présentation mais de la vitesse uniquement 4G/5G). Les applications web & mobiles permettants de piloter ses API. Je mets un bemol tout de même, il y aura toujours des sites web à l’ancienne mais moins nombreux. Les iniatives des GAFAM sont d’accélerer le web et même si cela prend quelques années, c’est marche ou crève (même Apple rejoint les autres).

    C’est ma vison et j’aimerai bien connaître vos avis et les nouveautés permettant au PHP de résister à une évolution du web et des technologies. Il y a 10 ans je faisais un peu de PHP, aujourd’hui, je me forme sur GO et JS (JS pas franchement par choix mais plus par obligation). Voilà, maintenant faites moi réfléchir 😉

    1. Mais PHP est tout à fait capable de faire tourner une API REST, vu que de base c’est un langage qui réponds à des requêtes HTTP.
      Du coup je vois pas en quoi ton argumentaire pousse PHP vers la sortie, j’ai plus l’impression que c’est une évolution de son utilisation qui est en train de se passer (ce qui est effectivement clair)

      1. Si on suit ton raisonnement, le JS glisserait aussi vers la sortie. La V8 de Google est une évolution des perfs(pour faire court), le typescript permet de combler des lacunes du JS, etc. Au final, le JS est un vieux langage qui s’est modernisé. Tout comme le PHP aujourd’hui. Après il faut choisir le langage en fonction des besoins/ressources/etc. Les deux langages sont top.

  12. Personnellement ce que j’aime pas avec php c’est qu’il faut avoir du cache pour améliorer les perfs et du coup en fait ne pas exécuter du php pour avoir un php plus rapide. Comme l’installation de opcache est presque un pré requis pour utiliser un framework style laravel ou symfony

  13. Perso je dev 90% du temps en php et qui plus est c’est du dev pour des amelio / plug-ins WP… J’ai testé d’autres technos back et aucune ne me satisfait autant que le php… Pas par refus loin de la mais nous avons tous nos affinités 🙂

  14. Alors Php est lent, oui, parce que y a pas de possibilité de multithreading ou d asynchrone, le fait qu il soit typé ne change en rien ce probleme qui est partiellement resolu par python et javascript qui peuvent etre eux memes typés. Mais surtout Php from scratch c est une horreur au niveau de l API. L api python contient quasiment la totalité de celle de php mais on peut faire du scripting ce qui est un gros plus, quand a celle de js, elle evolue grce a ecmascript et node. Un moment utilisé des librairies et frameworks, c est bien, mais une librairie standard c est le plus important. Perso ce qui me derange le plus c est la sytaxe et le fait que ce soit que tu puisses pas scripté. Tres bonne review de Jerome!

    1. Heuuuu ben non, il est possible de faire du multithreading en PHP …
      Ceci dit, le multithreading n’a jamais fait gagner de temps !
      JavaScript, par contre, ne peur pas être typé (c’est TypeScript qui est typé).
      Enfin, Python n’est pas typé (plus précisément, c’est du “typage dynamique”, c’est à dire la même chose que PHP5 !

  15. J’aime telement le PHP que j’ai creer un cms (doorgets) puis un blockchain (inescoin), c’est le seul language qui me permet de partir d’une feuille blanche pour en faire une oeuvre sortir de mon imagination, avec les restrictions des autres aures languages j’ai l’impression que la boite et toujours la même et franchement c’est pas du code…

  16. >>Et y’a plein de gens désespérants.
    Bah parfois à lire ton blog, il n’est pas loin de l’être, sans que tu le veuilles pour autant.
    Pour aimer ce métier, y a pas à dire faut aimer les gens.

  17. Je ne connaissais pas “Swoole/PHP”, c’est marrant on dirait du node.js 😉 et pas très loin du Golang finalement


    $server = new swoole_websocket_server("127.0.0.1", 9502);
    $server->on('open', function($server, $req) {
    echo "connection open: {$req->fd}\n";
    });

    Il semble que de nombreux langages évoluent dans le même sens ( serveur tcp/http, web socket, …), et donc API, API 😉
    Merci pour vos remarques.

  18. Franchement, je fais des applis JavaScript + PHP depuis 10ans, et ces langages n’ont jamais été un frein au développement. Les seules limites sont les miennes, mes connaissances et compétences.

  19. Je déteste PHP non pas par élitisme mais parce que j’ai l’impression que c’est un language is fourre tout bourrer d’inconstance. Coder c’est avoir des patterns bien précis qui garantissent la constance de ton programme quelque soit les conditions. Or, avec PHP c’est très peu possible.

    Après, moi je viens du monde de Python donc PHP grosso modo me donne mal à la tête car peu ou pas assez proche du language parler aussi.

    Soit dit en passant, monter un site perso facilement y’a pas que PHP qui le fait. Flask (Python) avec un fichier main et un template index tu peux faire de même avec une quinzaine de ligne de code. Après c’est pas hyper connu par rapport à Django.

  20. Article très intéressant! Moi, le comble de l’hypocrisie, je trouve, c’est les détracteurs de PHP qui encensent Javascript. Alors que, je suis désolé, le Javascript ça peut s’avérer tout aussi dégueulasse. Il a aussi l’absence de typage, il y a le comportement fantaisiste du mot-clé “this”, il y a l’ES6 qui n’est pas compatible avec tous les navigateurs et qu’on est obligé de transpiler en ES5…

  21. Salut les boutonneux 😜, faudrait pas oublier une chose très importante, c’est qu’il est gratuit. C’est à mon avis ce qu’il fait toute la différence, tout le monde connaît le nerf de la guerre ..
    return A+

  22. Pour moi effectivement la plupart des détracteurs se sont arrêtés au PHP 4. Si le langage n’avait pas évolué il serait bien mort. Mais PHP c’est une technologie qui évolue, accessible et facile à mettre en place, et désormais aussi assez performante. On trouve facilement des développeurs PHP sur le marché du travail, chose qui est très importante dans le contexte de pénurie actuelle. Des CMS (Drupal, WordPress) et frameworks éprouvés répondent parfaitement à des besoins précis et sont donc souvent le choix tout indiqué. Les membres de la communauté qui font évoluer le langage sont très doués et font un super job depuis ces dernières années, merci à eux. Pour le web PHP est une technologie de choix, et les haters qui ont appris des langages hypes et qui se pensent supérieurs ont juste à mettre leur égo de côté.

  23. PHP ? mouais, je code depuis des années. Ça va faire 40 ans que je code, un peu dans tous les langages. Moi j’aime bien parce que je peux faire très vite n’importe quoi n’importe comment et en plus ça tourne correctement après. Le problème vient du fait que pour certains il faut un langage strict pour qu’ils s’en sortent, avec de la discipline et de la méthode on arrive très bien à de bons résultats. Moi aussi je râle parfois sur certains aspects de PHP et le pire est quand je tombe sur un mélange infâme de HTML et PHP dans un fichier que l’on n’arrive même plus à qualifier. Le problème vient plus souvent de l’artisan que de ses outils, l’essentiel est de maîtriser ce que l’on a et on arrive à tout. J’ai monté une application lourde récemment et fortement hétérogène, une 1/2 douzaine de langages différents, alors PHP, JS, awk, ps1, scripts etc. c’est toujours pareil : de l’ordre dans la tête et dans les idées et on fait feu de tout bois, suffit de choisir ce qui convient le mieux à chaque fois. J’ai connu l’époque où l’on codait en assembleur, alors coté efficacité du résultat, tout est relatif…
    Le pire langage pour moi ? celui que je ne maîtrise pas.

  24. Perso j’utilise php sans plus d’aversion que pour un autre langage. Il est vrai que le typage inconstant est parfois pénible mais ce qui me dérange vraiment avec php c’est sa gestion merdique quasi inexistante d’unicode.
    C’est un langage Web, fait pour gérer des sites dans le monde entier et pour peu que l’on veuille des accents ou des caractères asiatiques c’est l’enfer, d’ailleurs je crois me souvenir que c’est une cause de l’abandon de php 6, ils voulaient un support natif utf 8 ou 16, je ne sais plus, résultat… Euhh on oublie php6 on va au 7 direct.

  25. Et bah en tant que développeur, je craint plus de tomber sur un Projets avec du JS ou autre merde react, angulaire, typescript … C est à chaque fois la marque d un projet réfléchi par un singe, et coder avec le cul

  26. Salut, super l’article. Je suis développeur front mais j’ai pas mal fait du Php, alors je raconte même pas les troll que je me prend quand je dis que j’etais dev Php.
    Sur le fond, c’est totalement vrai, mais voila dans la vrai vie d’une entreprise les habitudes ont la vie dure. On va plus se tourner sur des technos Java ou Csharp pour faire un backend qui aurait pu tourner Php.
    Le dev aurait mis moins de temps, aussi performant, avec les mêmes besoins. Sauf que Php “c’est nul, lent et pas typé”.
    C’est incompréhensible au niveau de l’argumentaire mais c’est comme ça.

  27. C’est sur qu’avec de bons framework on peux faire des choses sympa et propre en Php. Mais ce qui compte c’est les briques qu’il y a derrière, c’est à dire d’avoir des libs métiers pour servir vos use case devs. Et là vraiment il y a tellement plus de lib sur d’autres langages que sur Php. Par exemple en python, regarder les thématiques des confs par comparaisons en php:
    https://event.afup.org/forumphp2019/programme
    https://www.pycon.fr/2018/fr/program

    Clairement, les uses cases traités en python sont vraiment plus variés et plus métiers, donc à terme plus porteur.

    De + python est plus facile à apprendre que php (pourtant deja facile)

    my 2 cts

  28. Lol désolé mais 70% de ces commentaires reflète la communauté PHP. Moi j’ai choisi JS pour la communauté,
    l’asynchrone, l’open source (relié à la communauté), les possibilités d’évolutions, les performances (benchmark) et les rapports de github Octoverse. Je suis passé par PHP (Symfony, Zend, pure php) et je n’y retournerais jamais 😅
    Node js / Typescript / react ❤️ Cœur cœur ❤️
    Je ne suis pas la bonne parole, mais c’est mon avis 😁😘

  29. Bonjour,

    Je suis depuis le début des années 2000 sur PHP. Je suis actuellement en homemade et Laravel suivant le projet.

    L’inconvénient du Php c’est qu’on peut vite faire n’importe quoi si on n’est pas organisé.
    L’avantage c’est qu’on vite faire n’importe quoi :-). Par exemple pour faire un script temporaire je m’embête pas à le coder super propre !! (commentaires, sécurité, tests unitaires, …).

    C’est un langage qui a pas toujours une bonne réputation pour ça mais il faut avouer qu’il s’est bien améliorer dans le temps.

  30. Moi, j’adore le php. J’ai commencé a travailler en tant que développeur en 2002. C’était php3 ce projet là. J’ai continué avec cette merveilleuse langage jusqu’à 2017. Lors de ma décision d’immigrer vers Québec, j’ai échangé également de langage, vers c#, en raison de la quantité de postes disponibles.
    Aujourd’hui, je connais le deux et je peux affirmer, Php et c# sont bonnes, les développeurs sont <>. Les pires projets dont j’ai travaillé ont été faits en c#/asp.net. PHP me manque, la simplicité, l’agilité, la légèreté.
    Mais, je dois être honnête . Avec c# je suis mieux payé 😁

  31. Pourquoi de la haine pure? Le côté interprété suffit à ne pas aimer. J’ai longtemps codé en PHP, je ne le déteste pas mais je l’aime pas non plus. A côté de Java, c’est de la merde et c’est objectif.

  32. Je suis développeur PHP depuis quelques années,

    Le gros problème de PHP c’est que la plupart des projets ne dépasse pas PHP5.4 et qu’ils ont pour la plupart été codé avec des frameworks maison où mal implémenté.

    On a fait une refonte d’application au boulot avec un front Angular7 et un back Symfony 4 api plateform. c’est le feu!

  33. “PHP c’est de la merde” ça me rappelle une anecdote : dans mon ancienne boîte, le boss, qui était aussi dev, n’arrêtait pas de dire à tort et à travers que “PHP c’est de la merde”. Un jour, il m’a confié un projet WordPress pour créer un Wiki interne. J’ai donc installé le tout, et mis PHP 7. J’ai eu à créer un authenticator bridge entre la stack de la boîte et le site WP, donc j’ai fait une petite classe pour ça, avec typage des paramètres des méthodes, typage des retours, spread operator etc etc j’ai juste utilisé les “nouvelles capacités” du langage. Quand mon boss a vu le code il était sur le cul : “Ah bon ? On peut faire ça avec PHP ?”. Et le sys admin de l’achever “et en plus il est 2x plus performant que les anciennes versions” 😀

    Bref tout ça pour dire que, comme pour tout malheureusement, les préjugés ont la vie dure.

    Super article btw 😉

  34. Très bon article !

    Étant dev PHP depuis une bonne dizaine d’années, je peux effectivement dire que certains avantages du PHP sont aussi ses inconvénients !
    Je n’ai aucune haine envers les autres langages limite, si j’avais le temps, j’aurais voulu en apprendre beaucoup plus ! (Ruby,Python,Java, Node.js,React, Swift, Android, Go etc…)

    Le PHP est très modulaire et permet de faire presque ce que l’on veut.
    Du coup, comparer aux autres langages, oui ça peut te paraître dégueulasse (pas de typage etc…)
    Mais c’est au développeur de fournir un travail supplémentaire pour respecter ce genre de règles^^ Et c’est ça qui joue en la défaveur du PHP.

    Dire que c’est de la faute de PHP parce que le projet est mal codé, c’est absurde !

    C’est comme si tu fonce volontairement en voiture dans un mur et dire “c’est pas moi, c’est la voiture”.

    Bonne journée !

  35. Bcp de bêtises techniques dans cet article.
    Allez juste une récurrente également valable pour php7.4 : php peut être maintenant fortement typé.

    Et bien c’est faux : il n’est tjs pas possible même en php7.4 de créer une propriété tableau d’objets telle : public MonObjet[] $monTableauDObjets

    Et c’est qu’un petit défaut … Et pourtant j’adore php… mais de toute évidence java et c# vont bien plus loin.

T'en penses quoi ?

Your email address will not be published. Required fields are marked *