Facebook a de plus dévoilé dans la foulée Hack qui apporte le typage strict à PHP, tandis que hippyvm et jphp, basée respectivement sur python et la JVM, ont également fait leur apparition.

L’apparition de ces alternatives ont fait ressurgir le besoin d’une normalisation de l’implémentation de PHP en tant que langage, car étant donné qu’elle n’existe pas, HHVM et consorts sont obligés de se caler plus ou moins finement et plus ou moins de réussite sur le fonctionnement de la seule implémentation de référence du langage, à savoir le Zend Engine.

Or, ce dernier recèle sont lot de bugs et d’incohérences, et de plus, une telle normalisation est un travail de longue haleine dans lequel la communauté des développeurs du Zend Engine semble ne pas avoir envie de se lancer.

Cependant, si les choses continuent d’évoluer à ce rythme, il va devenir à plus ou moins court terme de mettre le langage à plat en décrivant précisément sa syntaxe et son comportement.

Et le jour où cela arrivera, Zend perdra alors tout contrôle sur l’écosystème lié à PHP et son évolution.

Sauf que fort de son expertise, Zend a une solution clef en main et déjà opérationnelle dans ses tiroirs.

En effet, elle travaille déjà depuis plus de 13 mois sur une nouvelle version du langage apportant notamment le support d’Unicode ainsi que le typage strict au niveau des types de base que sont par exemple les entiers et les flottants, et de plus, cette nouvelle version est totalement compatible avec les versions antérieures du langage.

Il serait donc légitime que cette version, dénommée en interne Nirvana, soit du pur bonheur en barre pour tout développeur PHP qui se respecte, au détail près que Zend, grâce à l’expérience acquise avec phpcloud.com, compte la distribuer uniquement via ce biais.

Ainsi, avec Nirvana, le code PHP est exécuté par une ferme de serveur et la synchronisation des sources est effectuée à l’aide d’un outil développé par Zend, mais basé sur Git et notamment son mécanisme de « hook » afin de conserver l’instantanéité du développement en PHP.

Lors d’une modification du code, ce dernier est donc aussitôt transmis par Nirvana de manière transparente au nuage qui se charge alors de le compiler, de l’optimiser puis de l’exécuter autant de fois que nécessaire sans repasser par les deux étapes précédentes.

Le tout fonctionnerait à l’aide d'une interface similaire à celle de Github et cerise sur le gâteau, ce mode de fonctionnement permet à Nirvana de disposer d’une couche de persistance qui lui permet de devenir un véritable serveur d’application similaire à ceux connus dans l'univers Java.

Évidemment, Nirvana s’interface sans le moindre problème avec les outils traditionnels fournis par Zend, à commencer par son IDE, et les performances sont incomparables par rapport à celles du Zend Engine 2 et dépassent même celle de HHVM.

En effet, outre que le code bénéficie de la puissance du nuage et que ce dernier est de plus capable d’adapter automatiquement les ressources nécessaires en fonction du volume de requêtes à exécuter, le code de Nirvana est une remise à plat complète du Zend Engine et de son architecture.

De plus, des ingénieurs ayant travaillé sur HHVM ont rejoint son équipe de développement, ce qui lui a permis de bénéficier de leur expertise.

Enfin, pour s’assurer du succès, Zend proposera Nirvana gratuitement à tous, du simple développeur à la multinationale, car elle compte en effet sur la vente des services et outils associés pour financer à la fois son développement et l’infrastructure technique nécessaire à son fonctionnement, ainsi que sur des abonnements sur mesure comprenant des services à haute valeur ajoutée, par exemple de l’analyse de performance en temps réel (pour ce que j’ai pu en savoir, Zend use et abuse de DTrace pour ce type de prestation).

Zend va donc dans les jours qui viennent proposer sa propre alternative au Zend Engine qui offrira des fonctionnalités demandées à corps et à cris par sa communauté d’utilisateur avec des performances incomparables, tout en verrouillant sa distribution et son évolution en la conservant sur sa propre infrastructure technique.

La société compte ainsi laisser sur place les alternatives au Zend Engine nouvellement apparu sur le marché afin de continuer à disposer d’un quasi-monopole sur le développement de PHP.

À titre personnel, je suis plus que partagé à propos de cette évolution du langage voulu par Zend.

En effet, si HHVM me pose des problèmes à cause de la potentielle fragmentation du marché qu’elle peut induire, l’impact de Nirvana peut être bien plus dévastateur, car tout ce qui concerne cette évolution du langage sera concentré entre les mains d’un seul acteur du marché.

Et vu l’engouement des développeurs pour HHVM alors que le projet est encore trop jeune pour pouvoir être utilisé en production dans un environnement différent de celui de Facebook, si Zend propose un produit finalisé et totalement compatible avec le Zend Engine, je crains le pire en ce qui concerne l’avenir du langage.