Le temps passe, et la mauvaise image du langage PHP marque les esprits. Mauvaise image, qui n’est pas complètement dénuée de sens, même si les choses évoluent doucement. PHP est considéré par beaucoup comme un langage de débutants, et bon nombre d’entreprises et de personnes font le choix d’utiliser ce langage en mettant de coté les bonnes pratiques de la conception logicielle, traînant avec eux une vieille image ternie de ce qu’est PHP actuellement.
D’un autre coté, des projets matures et fiables voient le jour, héritant du savoir faire et de la qualité du monde Java, un exemple frappant est Flow3, et plus récemment, Symfony 2 (ce qui m’à d’ailleurs agréablement surpris). Le monde de PHP est donc en pleine mutation, avec la montée en puissance de concepts avancés tels l’inversion de contrôle, les tests unitaires et (enfin!), de la VRAIE persistance.
A l’origine, un langage de débutants…

Ce qui plombe le plus PHP, doit être le non professionnalisme d’une partie de sa communauté, découvrant le développement via PHP — langage permissif au possible — et laissant la porte ouverte à des aberrations folles.
Le langage laisse (trop) libre les nouveaux venus, et on ne parles que peu de tests unitaires, de code commenté (j’en passe des tonnes, volontairement). Facile donc de faire les choses de travers, et vous ne trouverez que peu de personnes pour vous encourager à ne pas continuer dans ce sens, à moins de savoir vers ou chercher.
On trouve encore trop de scripts en PHP avec une approche fonctionnelle (de par le passé de php et son approche fonctionnelle de la programmation), et trop de bibliothèques pas ou peu testées, bref, dans l’ensemble c’est une catastrophe. Je m’amuse à faire l’analogie avec la construction de maisons avec du scotch.
… qui tends à se professionnaliser
Je suis le premier à dire que les (petites) entreprises (en général) manquent d’un savoir faire crucial en terme de bonnes pratiques, et pourtant, ces dernières commencent à s’intéresser de près à des concepts avancés, et aux bonnes pratiques. Les frameworks utilisés en entreprise sont souvent testés unitairement (Jelix, symfony, Zend Framework, pour ceux que j’ai eu l’occasion d’apprivoiser), et les bonnes pratiques sont parfois vraiment mises en avant.
Avec la sortie de PHP 5.3, on peut désormais utiliser des fonctionnalités telles que les espaces de noms ou les closures, concepts déjà implémentés depuis fort longtemps dans d’autres langages, et qui venaient à briller par leur absence.
Et un front de raz-le-bol général qui bat son plein: on veut du code testé, du code bien fait, on en veux plus de la soupe (et de la programmation spaghetti) ! Rébellion !
Même si je fonde de grands espoirs dans PHP, et que je penses que tout n’est pas à jeter, qu’il y à une réelle motivation qui commence à se faire sentir de la part de la communauté, je me demandes si PHP joue dans la même cour que Java, ou que Python et Ruby pour ne citer qu’eux, qui bénéficient d’une communauté forte et avide de bonnes pratiques.
Et vous qui utilisez PHP, vous en pensez quoi ? PHP peut-il être comparé à Java, à Python, à Ruby ? Est-ce une abération de faire de telles comparaisons? ou est-ce définitivement à un autre niveau ?
Dans cette optique, depuis près de 3 ans (déjà !), au sein du
A travers l’ensemble des villes du réseau, des projections de films et des débats auront donc lieu sur ce thème, lors de la semaine de l’environnement 2010, qui se déroulera d’ailleurs durant le mois de Mars