Pourquoi les développeurs aiment et détestent PHP

PHP, le vénérable langage de script côté serveur, est célèbre pour son utilisation dans le développement Web. Publié pour la première fois en 1995 par Rasmus Lerdorf, il a été exploité par WordPress et Facebook et serait utilisé dans 82% des sites Web dont le langage de programmation côté serveur est connu, selon W3Techs. Le langage est légèrement en retard sur Java dans l'indice PyPL Popularité of Programming Language, et il se classe sixième dans l'indice Tiobe rival. Une mise à jour haute performance, PHP 7, est prévue pour 2015.

Comme toute technologie, cependant, elle a ses adeptes et ses agresseurs. Voici pourquoi les défenseurs ne jurent que par PHP et pourquoi certains dissidents pourraient le jurer.

Bon: c'est populaire et facile à apprendre

«PHP est de loin le langage de développement Web le plus populaire», déclare Andi Gutmans, PDG du fournisseur d'outils PHP Zend Technologies. Josh Lockhart, développeur Web chez New Media Campaigns, ainsi qu'un auteur, met l'accent sur la faible courbe d'apprentissage de PHP, la facilité de déploiement et l'itération rapide du développement. «PHP est l'un des langages de programmation Web les plus simples et les plus accessibles disponibles», déclare Lockhart. "Il est installé sur une grande majorité de serveurs (y compris la plupart des plans d'hébergement partagé). Il est relativement facile à apprendre grâce à une excellente documentation en ligne et des ressources en ligne à jour."

Bon: Emplois disponibles pour les développeurs Web

"PHP vous aidera à gagner de l'argent et à trouver un emploi", a déclaré Gutmans sur le Web côté serveur. Une recherche rapide sur le site d'emplois technologiques Dice.com la semaine dernière a trouvé 3 366 emplois liés à PHP. Cela est dérisoire par rapport aux 17 418 jobs Java et traque Perl (4 300 emplois) et Python (5 429 emplois), mais c'était plus que Ruby (2 973 emplois) et même Objective-C (985 emplois). Lockhart considère PHP comme l'un des langages les plus fréquemment utilisés, bien qu'il soit un peu moins à la mode que des langages comme Ruby, Python, Go et Rust.

Bon: il continue d'évoluer

Le langage possède des capacités modernes telles que des fermetures et des espaces de noms, ainsi que des performances et des cadres modernes. Comme le note Gutmans, «certaines personnes qui souhaitent déménager ne sont pas nécessairement informées de ce que PHP a à offrir». Les développeurs, dit Lockhart, reconnaissent que PHP est puissant avec des fonctionnalités modernes et un modèle de programmation orienté objet approprié. La version 7 est à venir, conçue pour offrir des améliorations spectaculaires des performances des applications. Lockhart note les améliorations de Facebook pour PHP, y compris la machine virtuelle HHVM et le langage Hack.

Mauvais: plaintes concernant la conception, manque de concentration

"Pratiquement toutes les fonctionnalités de PHP sont cassées d'une manière ou d'une autre", déclare le blogueur Evoli dans "PHP: une fractale de mauvaise conception", une missive de 2012 contre le langage. Eevee apprécie non seulement la langue, mais également le cadre et l'écosystème. Plutôt que d'être prévisible et cohérent, le langage est plein de surprises et est incohérent, selon le blogueur. Parmi les critiques, PHP est dit opaque, sans trace de pile par défaut, et encombré de typages faibles complexes "Il n'y a pas de philosophie de conception claire. Le premier PHP a été inspiré par Perl; l'énorme stdlib avec les paramètres 'out' est de C; l'OO les parties sont conçues comme C ++ et Java. "

Lockhart reconnaît que le sermon anti-PHO d'Eevee est «hyperbolique avec un noyau de vérité». Bien que défenseur de PHP, Lockhart a eu la gentillesse de lister les critiques lorsqu'on lui a demandé:

  • Le langage est incohérent, en particulier les noms de fonctions et l'ordre des arguments. "Ceci est facile à apprendre, cependant, ce n'est donc pas une très grande préoccupation."
  • PHP a encore beaucoup de bagages hérités, comme des globaux, des citations magiques, etc. "Ces mauvaises pratiques sont lentement éliminées du langage, mais jusqu'à ce qu'elles disparaissent, elles aident les développeurs ignorants à persister de mauvaises pratiques."
  • PHP n'est pas aussi ciblé que les autres langages, ce que Lockhart attribue au fait qu'il est développé «au coup par coup sur une longue période, souvent par un comité».