Il a osé critiquer PHP. Oh le vilain. Il le savait, il allait se prendre un retour de manivelle bien prévisible. Et ça se transforme rapidement en attaque ad hominem, raison pour laquelle vous ne devez jamais laisser votre nom dans du code ni jamais rien partager.

Ca doit être dans la nature humaine : s'approprier une marque de voiture, une équipe de foot, un groupe de musique, une langage de programmation et ne pas supporter la critique à son sujet.

Le développeur PHP retiendra que "son" langage est simple, puissant, et qu'il est facile de déployer son code. Le développeur Java ricanera devant la porcherie qu'est PHP, la contingence de son modèle objet, le code spaghetti à coup de queries SQL mélangé à la sauce PHP et assaisonné d'HTML servi sur les forums. Le développeur PHP rétorqua que Java c'est lourd, c'est lent, et c'est gourmand en resource. En plus, bonne chance pour trouver un hébergeur. En retrait, le développeur Rails se sentira sans doute au-dessus de la mêlée, sourire au coin des lèvres, et on s'abstiendra simplement d'adresser la parole au gars qui pratique le Python.

Et la passe d'arme ainsi continuera sans fin, un cliché répondant à une mauvaise pratique.

J'aime beaucoup l'argument sur les dates : autant leur traitement est bancal en PHP, autant il est foireux en Java. Les javateux utilisent JodaTime pour contourner le problème. Les dev php n'ont que leur yeux pour pleurer. Ha, je me marre bien. PHP 0 - Java 0 pour le coup.

Le propos de Seb Sauvage était pourtant assez clairement exprimé : "php est moche, mais ça n'a aucune importance. php suck, but it doesn't matter. On y arrive. Avec de la discipline, on peut faire assez propre". Mais il était trop tard : l'offense était là.

Heureux soient ceux qui programment en PHP et ne le trouve pas rébarbatif ou dépassé. Tant mieux pour eux : ils ne sont pas malheureux! Il n'y aurait rien de pire que d'utiliser un langage ou une techno en fronçant les yeux à longueur de journée ou en soupirant. Mais l'API incohérente, souvent mal retravaillée au fil des versions, le modèle objet pathétique et le support unicode défaillant finissent de me couper l'appétit. Surtout, c'est une langage d'une vieille génération et si vous avez goûté à des denrées plus modernes, c'est dur de revenir en arrière, indépendamment des mérites de PHP.

PHP, ça marche, ça fait ce pourquoi c'est prévu, mais je n'ai pas particulièrement envie d'utiliser cette vieillerie en 2012. Je veux d'ailleurs aussi plus que le verbeux Java et son stack enterprise lourdingue qui change plus vite qu'une mode vestimentaire et qui fait perdre plus de temps qu'il n'en fait gagner.

Plus! Je veux un truc qui soit une tuerie à tous les niveaux : syntaxe, librairie, déploiement, support IDE, robustesse. Pas encore trouvé. Si vous tombez dessus, laissez un commentaire.

Je m'estime bien loti : pour l'instant, je développe principalement en Grails. Il n'y a pas de silver bullet, et Grails n'en est pas un, mais il a au moins le mérite de m'apporter un langage relaxant (Groovy) et un stack intégré. Grails a ses travers, comme toute plateforme qui permet de faire du boulot sérieux, mais c'est une expérience plaisante qui m'apporte satisfaction. Même Python et Django me semblent tarabiscotés quand j'y jette un oeil.

Pour la petite histoire, je suis principalement développeur Java/JEE, je travaille actuellement avec Grails, je fais du PHP sur mes projets pro sur le côté pour des petits clients, un peu de C quand il me prend l'envie de bricoler une babiole électronique, j'ai eu ma période où je scriptais tout en Python (les collègues me regardaient avec un air intrigué et vaguement admiratif) et avec lequel j'ai appris les rudiments à mon jeune apprenti padawan. J'ai commencé ma carrière en PowerBuilder. Je lorgne sur Scala avec envie en attendant qu'un stack solide soit dispo (Play?). Comme beaucoup de développeurs, je passe plus de temps à apprendre une nouvelle techno, un nouveau framework qu'à l'utiliser.

L'important est de rester ouvert et d'aimer ce que l'on fait. Et de choisir un outil adapté à la situation.

Il faut arrêter de prendre la mouche à la moindre critique. Admettez le bon et le mauvais dans ce que vous utilisez et dans ce que vous appréciez. Aérez-vous l'esprit, combinez les outils existant, prenez du recul et créez quelque chose et profitez-en ou faites-en profiter les autres. Et si souhaitez voir les choses évoluer, plutôt que de réagir personnellement à la moindre attaque contre ce que vous connaissez, prenez le parti d'exiger toujours plus et mieux. Parce qu'on le mérite bien.

:redface: