Et je vais commencer avec l'introduction, puisqu'il commence ainsi :

[...]En mars 2010 Rasmus Lerdorf annonçait l'arrêt du développement de PHP6 à cause de difficultés insurmontables dans l'implémentation de l'Unicode.[...]

Or, PHP n'a pas été abandonné pour cette raison.

Lors de l'arrêt du développement, le support d'Unicode au niveau du moteur de PHP 6 était même pleinement fonctionnel, et j'ajouterais qu'il ne restait même qu'un peu plus de 2% des fonctionnalités du langage à mettre à niveau lorsque le développement a été arrêté.

La raison de l'abandon de PHP 6 n'est donc nullement technique, mais humaine.

En effet, ce sont les contributeurs qui ont tué PHP 6, car ils ont jugé que le travail demandé pour migrer vers cette version était trop complexe et trop long pour un gain fonctionnel peu significatif, et j'ai pour preuve le nombre de modifications absolument ridicule effectué sur le dépôt de PHP 6 sur les mois précédents son abandon.

Stéphane enchaîne ensuite en indiquant que la prochaine version majeure de PHP intégrera enfin, comme tout bon langage moderne, une console interactive, comme si PHP n'en disposait pas depuis 2005, via l'option -a en ligne de commande.

Il poursuit ensuite avec cela :

[...]Plutôt que de modifier un fichier, de l’enregistrer et de rafraîchir son navigateur, on peut maintenant exécuter directement du code dans une console interactive[...]

Je ne sais pas comment Stéphane travaille avec PHP, mais depuis 2005 et l'apparition de la CLI, je ne travaille plus de cette façon, et que je ne quitte même plus VIM pour exécuter du code.

Je passerais sur sa proposition de remanier la syntaxe, qui est une pure affaire de goût personnel, et qui en conséquence ne supporte aucune discussion, et cela même si je trouve son idée de proposer deux syntaxes en fonctions du contexte complètement stupide, d'autant que PHP le fait déjà via l'utilisation de la balise <?=.

Il poursuit ensuite son article en partant du postulat que PHP a été conçu pour le web.

Pourtant, Dieu Rasmus Lerdorf a toujours présenté son langage comme une colle entre plusieurs technologies qui permet de développer rapidement, et non comme un langage propre dédié au développement web, même s'il est parfaitement capable d'assurer dans ce domaine.

Ses remarques sur l'API du langage sont cependant pertinentes, même si elles sont récurrentes depuis des années, et je suis l'un des premiers à militer pour son homogénéisation, et cela même si Dieu Rasmus Lerdorf a dit très clairement lors de sa conférence au dernier forum PHP que les développeurs qui veulent pouvoir coder proprement ne devrait pas être dans la salle, comprendre ne devrait pas utiliser PHP.

Cependant, le fait qu'il reproche au langage de parler hébreux est tout de même un peu gros.

Le fameux T_PAAMAYIM_NEKUDOTAYIM dont Stéphane parle dans son article est en effet bien connus, et il est de plus une private joke qui circule au sein de la communauté du langage en raison des origines des développeurs du Zend Engine.

J'ajouterais que le tokenizer de PHP n'y fait pas appel et utilise en remplacement son équivalent en langage commun, à savoir T_DOUBLE_COLON.

Cependant, ce n'est pas aussi gros que de dire que la gestion des erreurs telle qu'elle existe aujourd'hui dans le langage rend ce dernier inefficace et difficile à utiliser.

En plus de 10 ans de développement, PHP m'a effectivement posé bien des problèmes, et il continue toujours aujourd'hui, mais leurs origines n'avaient rien à voir avec la gestion des erreurs.

À tout le moins, j'aurais préféré que Stéphane dise dans son article que la gestion des erreurs de Python était bien meilleure que celle de PHP en donnant des arguments objectifs, plutôt que de dire une telle bêtise.

D'autant qu'il poursuit ensuite en critiquant le processus de développement de PHP, qui ne reposerait que sur la liste de diffusion des contributeurs, au contraire de celui de Python qui utilise des PEP.

Je voudrais alors que quelqu'un m'explique la différence entre les PEP de Python et les RFC de PHP, parce que j'avoue avoir un peu de mal à voir la différence.

Stéphane poursuit ensuite en disant que PHP est un tellement mauvais langage qu'il nécessite le recours systématique à un framework.

Donc, en suivant son raisonnement, Ruby, Python et tous les langages pour lesquels il existe des frameworks ne sont pas mieux que PHP.

Est-il vraiment nécessaire que je dise explicitement ce que je pense de cela ?

Pire encore, selon lui, sans framework, le développeur est exposé à un échantillon des mauvaises pratiques :

[...]Dans le cas contraire, le développeur est en contact permanent avec un échantillon des mauvaises pratiques de développement[...]

Il est vrai que les mauvaises pratiques ne se trouvent que dans du code PHP, et que le développeur n'a aucun esprit critique lui permettant de comprendre que le code qu'il a sous les yeux n'est peut être pas le plus pertinent qui soit.

D'ailleurs, vu que j'utilise le langage depuis des années, je dois être un très mauvais développeur, d'autant que, comble du pire, je l'ai utilisé sans framework plus d'une fois.

Bref, je ne suis absolument pas contre le fait que l'on critique PHP, et ce serait d'ailleurs mal venu de ma part puisque je le fais très régulièrement.

Je ne suis pas non plus contre le fait que l'on s'appuie sur ses faiblesses pour promouvoir une technologie alternative, bien au contraire.

La concurrence a du bon, et je suis persuadé qu'une bonne remise en question induite par la montée en puissance significative d'un langage alternatif ferait énormément de bien à PHP.

Encore faut-il que le sujet soit maîtrisé, ce qui n'est visiblement pas le cas pour la partie concernant PHP de l'article, et que cela soit fait correctement, avec des informations valides, précises, et fiables ainsi qu'une argumentation qui tient la route.