PHP 8 est sorti : le nouveau compilateur JIT assure de meilleures performances

 PHP 8 est sorti : le nouveau compilateur JIT assure de meilleures performances

L’équipe à l’origine du langage de script PHP a annoncé la sortie de la version 8.0 de PHP, une version majeure qui pourrait obliger les développeurs à revoir le code pour détecter les éventuelles modifications. Cette nouvelle version de PHP, un langage désormais vieux de 25 ans, introduit un système de types amélioré, un nouveau compilateur JIT dans le moteur PHP et certaines fonctionnalités empruntées à Python et JavaScript, comme les arguments nommés et les opérateurs null safe.

Le PHP n’est pas particulièrement apprécié en tant que langage, mais il est largement utilisé par les développeurs web. Les développeurs classent le PHP au sixième rang des langages les plus redoutés dans l’enquête Stack Overflow 2020, mais il apparaît également comme le huitième langage le plus utilisé.

Le cabinet d’analyse RedMonk positionne actuellement le PHP comme le quatrième langage le plus populaire, seulement derrière Java, Python et JavaScript. Tiobe Software place le PHP en huitième position. Et, selon le moteur de recherche d’emploi Indeed, les offres d’emploi pour des postes de développeurs PHP junior ont augmenté de plus de 800 % au cours de l’année dernière.

publicité

Le code PHP est traduit au moment de l’exécution

PHP est géré par l’équipe de développement de PHP et par Zend, une société basée aux États-Unis et centrée sur PHP, cofondée par Andi Gutmans, directeur général et vice-président de l’ingénierie des bases de données chez Google. Andi Gutmans se dit “enthousiaste” par rapport au compilateur just-in-time (JIT).

Le compilateur JIT est destiné à améliorer les performances des applications web. Cependant, Brent Roose, un développeur belge à l’origine de stitcher.io, affirme qu’il ne fonctionne pas nécessairement lorsqu’il s’agit de requêtes web.

En tant que langage interprété – comme JavaScript et Python – le code PHP est traduit au moment de l’exécution. Ce n’est pas un langage compilé comme C, Java ou Rust, et il doit être traduit pour que le processeur comprenne le code PHP.

Un meilleur langage pour une utilisation en dehors du web

“Un compilateur JIT peut améliorer considérablement les performances de votre programme, mais il est difficile d’y parvenir” note Roose.

L’avantage d’avoir un compilateur JIT est qu’il pourrait faire de PHP un meilleur langage pour une utilisation en dehors du web, mais il pourrait rendre plus difficile le débogage du code dans le compilateur. Roose note que s’il y a un bug, les utilisateurs de PHP dépendront des responsables du support du compilateur JIT. Ce qui pourrait signifier des correctifs de sécurité et des corrections de bogues plus lents.

“Avec seulement quelques personnes capables de maintenir la base de code PHP aujourd’hui, la question de savoir si le compilateur JIT peut être maintenu correctement semble justifiée. Bien sûr, les gens peuvent apprendre comment le compilateur fonctionne. Mais il s’agit néanmoins d’un matériel complexe”, déclare Roose. Il se demande si le compilateur doit être inclus dans le PHP en raison du coût de la maintenance. Il estime également que les utilisateurs de PHP devraient “être conscients que certaines corrections de bug ou mises à jour de versions pourraient prendre plus de temps que ce à quoi nous sommes habitués à l’heure actuelle”.

Attention à la fin de vie de PHP 7.2

De plus, le fait que PHP 8 soit une version majeure peut signifier que l’ancien code PHP pourrait être cassé après la mise à jour. Cependant, Roose note que la plupart des modifications de rupture ont été dépréciées avant les versions 7.x.

Zend a également publié que PHP 7.2 arrive en fin de vie le 30 novembre 2020, et que cela signifie que les contributeurs principaux de PHP ne proposeront plus de correctifs de sécurité pour cette version de PHP, ce qui pourrait entraîner des problèmes pour les applications web d’entreprise. Mais les utilisateurs de PHP peuvent toujours payer une société de conseil comme Zend pour un support à long terme et ils recevront des correctifs après le 30 novembre.

“Pour les utilisateurs de systèmes d’exploitation avec des offres de support à long terme, votre binaire PHP continue souvent à recevoir des patchs du vendeur de l’OS même une fois que la fenêtre de support de la communauté est terminée”, explique Matthew Weier O’Phinney, ingénieur chez Zend. “Dans le cas d’Ubuntu 18.04 et de RHEL/CentOS 8, qui sont tous deux équipés de PHP 7.2, cela signifie que vous pouvez continuer à obtenir des patchs. Cependant, si le système d’exploitation sur lequel vous travaillez n’est pas soumis à une politique LTS, votre version deviendra vulnérable à de nouveaux exploits au fil du temps”.

Source : “ZDNet.com”

Leave a Reply

Your email address will not be published. Required fields are marked *