Extrait de l'émission CPU release Ex0146 : PHP 8 tout neuf.
Bonjour à toi, Enfant du Futur Immédiat, toi qui en est maintenant à industrialiser ton tout nouveau framework maison en PHP 7.
Dans une émission précédente, nous t'avons parlé du langage PHP, ce langage qui motorise un énorme pan du web côté serveurs, tel qu'il se pratiquait jusqu'à il y a une dizaine d'années quand il a quitté l'âge ingrat de l'adolescence. Avec PHP 5, ce langage est devenu plus robuste, structuré, construit, bref, il a acquis une maturité industrielle, en même temps que le web.
Et surtout, il est passé d'un langage prévu pour servir des pages web à un langage générique, versatile et quasi tout terrain. Oui, rien ne t'interdit de t'en servir pour faire des scripts avec côté shell, par exemple pour traiter un stock d'images dans un répertoire, sans que cela soit dans un site web.
PHP 5 et surtout PHP 5.3 a montré les ambitions de ce langage, qu'il ne serait pas cantonné à de petites
applications : un vrai modèle objet (qui fera oublier très vite les errements de PHP 4), les PDO (PHP Database Objects) qui permettent de notoirement sécuriser et accélérer les discutions avec les bases de données SQL, les fonctions filter_var
qui ajoutent une couche de sécurité plus que notable, et transforme le PHP d'un langage de script à un vrai langage orienté web avec une palette d'outils de protections qui rendrait d'autre langages jaloux…
Mais malheureusement, combien de temps il a fallut aux développeurs de frameworks, et aux développeurs tout courts pour inclure ces concepts ? Parce que ce n'est pas tout de le proposer en standard dans le langage, il faut aussi espérer qu'ils soient utilisés dans les code source, afin de mettre fin à de bien sales manies.
Enfant du Futur Immédiat, il faut aussi rappeler qu'un bon langage industrialisé passe par de bonnes pratiques pour travailler en équipe et en toute solidité. Comme les recommandations dans l'écriture de code source, les PSR (PHP Standard Recommendations), qui allaient aussi permettre de passer à l'interopérabilité des modules, et donc permettre de passer les modules entre les différents frameworks… voire à se passer des frameworks monolithiques pour aller vers une architecture allégée, de micro-frameworks, nettement plus souple et plus rapide.
Mais là aussi, combien de temps pour y amener la communauté de développeurs dans ce langage ? Combien de temps pour qu'ils changent leurs pratiques, et mettent à jour plus régulièrement leur manière de coder comme ils mettent à jour les versions de leur langage favori.
Quoi ? Tu fais pas les mises à jour ?
Pourtant, rien qu'en performances pures, tu y gagnerais énormément.
Enfin, on le souhaite, car plus un langage s'enrichit, plus il se complexifie, plus il a de nouvelles fonctions et syntaxes tout en gardant une compatibilité avec les précédentes versions majeures… plus il risque de trop grandir, de grossir, d'être éléphantesque, et limite trop complexe à maintenir pour son équipe de dev.
Là aussi, c'est un risque : point trop s'en faut, sinon à trop boire, l'éléphant va devenir rose.
L'évolution d'un langage n'est pas tout, il y a aussi celle de son écosystème, et le problème de la latence de ceux qui l'utilisent ou le proposent. Et celle aussi de sa perception par ceux qui ne le manipulent pas, ou ne le manipulent plus, car PHP n'est plus ce langage que le webmestre-à-tout-faire même à dépanner la photocopieuse doit apprendre et mettre en prod dans les 10 jours ouvrés (cas vu). Il demande une réelle spécialisation pour être correctement exploité, et on a même parfois des spécialisations dans des frameworks précis.
Le troupeau d'éléphants est regroupement de multiples individus.
La preuve : on a des communautés de devs comme l'AFUP, dont l'AFUP Toulouse. Et de ces communautés émergent en plus de la remontée de bugs, des prises de décisions collégiales dans les futurs développements ; d'où une stabilité toujours plus impressionnante pour ce langage dans les applications web (et je le dis en connaissance de cause quand j'en manipule d'autres).
Enfant du Futur Immédiat, PHP a plus que gagné ses lettres de noblesse, il est devenu mature, solide, et fait tourner des business qui valent plusieurs milliards d'euros. À 25 ans, un âge d'où certains sortent de fac une tête bien pleine et des idées toutes faites, PHP nous sort une nouvelle majeure, PHP 8 qui s'annonce elle aussi palpitante !
Texte : Da Scritch.
Photo: Ganesh murti somatne fata, Pune, India CC-SA-By Jainswatantra, détail.