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.

  1. <!–include /text/header.html–>
  2. <!–getenv HTTP_USER_AGENT–>
  3. <!–ifsubstr $exec_result Mozilla–>
  4. Hey, you are using Netscape!<p>
  5. <!–endif–>
  6. <!–sql database select * from table where user=’$username’–>
  7. <!–ifless $numentries 1–>
  8. Sorry, that record does not exist<p>
  9. <!–endif exit–>
  10. Welcome <!–$user–>!<p>
  11. You have <!–$index:0–> credits left in your account.<p>
  12. <!–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.


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 au 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.

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.


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 et aussi con que désespérant. Et y’a plein de gens désespérants.Tags:#développement, #développeur, #développeuse, #php

Secoué via Android, Huawei pourrait mettre des smartphones sous HongMeng OS sur le marché au 4T2019

Huawei, premier équipementier de télécommunication au monde et deuxième fabricant mondial de smartphones selon l’agence Bloomberg, est sous le coup des sanctions américaines. Cette situation l’empêche de notamment de travailler avec Alphabet, la maison mère de Google, dont le système d’exploitation Android équipe la plupart des smartphones, y compris ceux du groupe chinois. Face à ces sanctions des USA qui pèsent depuis la mi-mai, le groupe chinois a entamé sa contre-attaque en demandant, à mi-parcours du mois de juin, l’enregistrement auprès de l’organisation mondiale de la propriété intellectuelle (OMPI) de son propre système d’exploitation « HongMeng ». D’après les derniers développements, le groupe chinois poursuit avec ses démarches d’émancipation.

Huawei est occupé à tester des smartphones sous son système d’exploitation fait maison. En sus, il y a que ces derniers pourraient débarquer sur le marché avant la fin de l’année. « Les nouveaux téléphones Huawei sous HongMeng OS feront leur apparition sur le marché au quatrième trimestre », lit-on. Le Chinois vise les bas et milieu de gamme au prix de 288 $, ce, pour « attirer développeurs d’applications et utilisateurs. » Mais, le haut de gamme aussi serait dans le viseur de Huawei. En effet, les tests du système d’exploitation portent aussi sur des appareils de la série Huawei Mate 30. D’ailleurs, l’entreprise a, via un autre de ses canaux officiels, donné des précisions en ce qui concerne la période de disponibilité des appareils de cette série dotés de sons système d’exploitation ; ce sera pour le mois de septembre. En attendant d’y être, le groupe chinois prévoit de procéder à une présentation de son alternative à Android lors de sa conférence dédiée au développeurs du 9 au 11 août.

HongMeng OS est à l’origine un système d’exploitation destiné aux objets connectés (IoT) et à une panoplie d’autres usages industriels. C’est ce qui explique que l’entreprise s’apprête à l’intégrer aux nouveaux téléviseurs connectés de la filiale Honor. Ce détail soulève des interrogations quant à savoir si l’OS pourra tenir la route dans la filière des smartphones. En effet, dans une publication de l’agence de presse chinoise Xinhua parue à mi-parcours du mois précédent, Catherine Chen de Huawei laisse filtrer que « le système d’exploitation HongMeng n’est pas conçu pour les smartphones » et que l’entreprise chinoise « entend continuer à faire usage d’Android. » Le PDG du groupe chinois a pourtant laissé paraître le contraire lors d’une récente sortie en ajoutant que HongMeng OS devrait être 60 % plus rapide qu’Android. Ça, c’est sans revenir sur d’autres détails techniques comme le temps de latence de l’OS sur lequel les dirigeants de l’entreprise ne s’accordent pas.

La seule certitude pour le moment est qu’il y a bien une conférence de développeurs Huawei programmée pour la fin de la semaine en cours. On aura les regards tournés sur ces développements pour commencer à voir ce qu’il en est réellement de HongMeng OS et des smartphones qui doivent en être équipés.

Sources : média d’État chinois, Reuters, Xinhua

Et vous ?

Qu’en pensez-vous ?

Huawei fait-il dans le bluff avec HongMeng OS ?

Linux : l’ordinateur portable System 76 Gazelle est enfin disponible

Alors que le retard qu’accuse le déploiement des distributions Linux sur les ordinateurs portables par rapport à ces concurrents directs Windows et Mac ne cesse de faire l’objet de tous les débats, System 76 fait ce jeudi une grande annonce concernant le matériel plutôt que les logiciels. L’ordinateur portable System 76 Gazelle sur Linux est enfin disponible.

System76 est un fabricant et vendeur d’ordinateurs portables, de bureau et des serveurs exécutant un système d’exploitation basé sur Linux. Pouvant démarrer sur des systèmes d’exploitation tels que Pop! _OS 19.04 (64 bits), Pop! _OS 18.04 LTS (64 bits) ou Ubuntu 18.04 LTS (64 bits), System 76 Gazelle est livré avec un processeur Intel Core i7 de 9e génération par défaut et vous pouvez choisir entre une carte graphique NVIDIA GeForce GTX 1650 ou 1660 Ti. Il existe deux tailles d’écran disponibles : 15,3 pouces et 17,3 pouces. Indépendamment de l’affichage que vous choisissez, la résolution sera de 1080p.

« Les cartes graphiques NVIDIA sont de retour sur la Gazelle après une longue interruption, et nous ne pourrions être plus enthousiastes. Comme sur l’Oryx Pro, les utilisateurs peuvent désormais basculer entre les cartes graphiques Intel et NVIDIA à l’aide d’une bascule. La nouvelle Gazelle offre la possibilité d’un écran FHD mat, consolidant l’ancienne Gazelle et le Kudu en un seul produit. Ils possèdent un clavier et un pavé numérique chiclet des touches rétro éclairées multicolores, similaires aux claviers de l’Oryx Pro et de Darter Pro », explique System 76.

System76 a ajouté : « En plus de l’utilisation du processeur 9e génération Core i7 d’Intel dans le modèle de base, la Gazelle peut être configurée avec une mémoire RAM pouvant atteindre 64 Go. CPU et Memoire offrent aux créateurs de contenu, aux joueurs, aux animateurs et aux concepteurs une machine capable de gérer des charges de travail graphiques lourde. La Gazelle peut également être configurée avec une capacité de stockage pouvant atteindre 8 To, ce qui inclut un stockage NVMe pouvant atteindre 4 To. Un emplacement pour carte SD, 4 ports USB et jusqu’à 3 ports vidéo (le modèle 1660 Ti est équipé de la technologie DisplayPort via une connexion USB-C), ainsi qu’une prise audio 2 en 1 (casque / microphone) et une prise microphone supplémentaire ».

Voilà donc qui viendra réjouir et donner davantage d’espoirs aux détracteurs du « Windows only ». En effet, la majorité des PC vendus dans le commerce sont livrés avec Windows. Bien qu’il soit cependant passé sous le seuil des 90 %, ces poursuivants viennent loin derrière avec 9,92 % pour la plateforme d’Apple MacOS et 2.1 % pour Linux au premier trimestre de cette année selon NetMarketShare.