« PHP est destiné à mourir » pour un développeur,
Les faiblesses du langage vont-elles le conduire vers sa fin ?

Après plus d’une décennie d’expérience dans la programmation PHP, un développeur du nom de « Gunslinger » estime que les codes PHP ne pourront pas fonctionner éternellement.

Selon lui, ce modèle de programmation, notamment récupérer les données d’entrée, les traiter puis afficher la sortie est destiné à mourir. Il évoque par ailleurs les sites comme phpsadness.com qui exposent les incohérences linguistiques de PHP de « façon amusante ».

Pourtant, il reconnaît que le langage est difficile à battre dans la lecture de la base de données, l’application d’une logique ou le formatage de celle-ci, puis l’affichage d’un résultat au milieu de balises HTML. Mais la plupart des problèmes soulevés par la technique ont déjà été résolus et le reste est abordé avec des outils plus intelligents et plus modernes. Lorsque cela sera fait, PHP devrait être relégué au passé.

Pour lui, les applications complexes devraient se passer de PHP. Plus la complexité croît, plus les lignes de code s’agrandissent. S’adressant aux utilisateurs expérimentés de PHP 5.x, il fait remarquer qu’ils auront inévitablement besoin d’exécuter du code en arrière-plan. La demande pourrait atteindre un niveau de complexité tel qu’attendre une requête HTTP pour pouvoir faire quelque chose ne sera plus suffisant. Il faudrait alors par exemple prévoir un traitement des commandes en attente, ou encore mettre les informations dans le cache pour rendre un peu plus rapides les réponses HTTP. Une liste d’exemples de choses à prévoir qui n’en finit pas.

Le cauchemar devient encore plus effrayant lorsqu’il faut créer un daemon ou un processus qui ne meurt pas. Deux exemples seraient d’établir et maintenir une connexion WebSockets ou créer le composant producteur dans une implémentation producteur-consommateur.

« PHP vous abandonnera », déclare-t-il. D’abord à cause des fuites de mémoire, car le langage ne s’est jamais soucié de libérer de la mémoire non utilisée parce que tout est libéré à la fin de l’exécution du code. Dans le cadre d’un processus en continu, cela conduirait à l’augmentation de la taille de la mémoire allouée (ce qui revient à une perte de mémoire) jusqu’à ce que la valeur memory_limit de PHP soit atteinte et que le processus soit interrompu sans aucune autre forme de procès.

De plus, selon lui, PHP est plein d'erreurs cryptiques, difficiles à déboguer ou impossibles à reproduire. En guise d’exemple il parle d’une erreur que les utilisateurs aguerris de PHP ont déjà dû rencontrer :

Fatal error: Exception thrown without a stack frame in Unknown on line 0
Que traduit cette erreur ? Il affirme n’en avoir aucune idée et n’arrive même pas à trouver « la ligne # 0 dans un fichier PHP inconnu. Personne ne saurait dire ce qui provoque cette erreur. Toutefois, je peux vous donner les préconditions qui y conduiraient : des processus en cours en permanence, en collaboration avec une base de données d’une taille de l’ordre du giga-octet, sous forte charge/traitement, dans un environnement de production ».

Tous ces problèmes poussent Gunslinger à prédire la mort de PHP.

Source : blog Gunslinger

Et vous ?

Que pensez-vous de cette analyse ? Partagez-vous son point de vue ?

Pensez-vous que PHP soit destiné à mourir ?