Depuis quelques temps au boulot, j’ai l’impression de me trouver dans un asile d’aliénés : un Napoléon en réunion, un Jésus en séminaire, un Hitler à la pause café. Je réalise que le petit monde de l’informatique est rempli d’illuminés de toutes sortes dont voici une rapide taxinomie :
L’AGILISTE
Ces gens pensent que leur méthode de travail va rendre les développeurs, les clients et les chefs heureux. La mise en pratique aveugle de l’agilité conduit souvent à l’exacte contraire : les développeurs passent leur temps en réunion, les chefs attendent leur démo et le client se tire.
Leitmotiv : le client n’est pas agile.
L’ORIENTÉ OBJET
Pour lui, tout doit être objet. Le moindre bout de code doit comporter au moins une classe, sinon c’est l’excommunication. Le mot script est pour eux une insulte et en écrire est dégoutant. J’aime prendre un malin plaisir à les outrer en leur disant “qui a dit que tout devait être objet ?”.
Leitmotiv : ce n’est pas objet !
LE RESTFOUL
Il pense que HTTP, protocole de transfert pour l’hyper-texte écrit dans les années 90, est parfaitement adapté pour effectuer du RPC sur HTTP et n’en démord pas. Il est l’ennemi juré de SOAP et en tire une certaine aura, à raison.
Leitmotiv : au début, il y avait quatre verbes : GET, POST, PUT et DELETE.
LE PATTERNISTE
Pour lui tout est pattern. Et si ça ne l’est pas, il faut en inventer une ! Ainsi, il y a des gens qui inventent des patterns tous les jours et des sites qui répertorient leurs précieuses créations.
Leitmotiv : tu connais la pattern de la mouche qui zozotte ?
LE FOU DE JAVA
Son dieu est James Gosling qui l’a sauvé des affres du C++. Java devrait être partout, du serveur au téléphone mobile. D’ailleurs, Java est bien plus qu’un langage, c’est une plateforme. De plus, c’est le standard, ne pas choisir Java, c’est un peu punk ! Si vous voulez l’énerver, parlez lui des performances de Java, effet garanti.
Leitmotiv : write once, run everywhere !
L’ADORATEUR DES EJB
Pour lui, des gens doivent écrire des composants, assemblés en belles et grandes applications par un deuxième larron et configurées par un troisième. Le tout doit tourner dans de gros serveurs Oracle sur du matos Sun. Inutile de dire que les seuls qui y croient encore sont des employés d’Oracle !
Leitmotiv : il faut écrire au minimum deux interfaces et une implémentation.
Leitmotiv 2 : la prochaine version des EJB, c’est de la balle !
LE FAN DE L’IOC
Ils pensent que faire un new, c’est mal. En lieu et place, ils préfèrent écrire un élément dans un fichier XML de 3000 lignes et injecter le résultat à l’aide d’une annotation. C’est sûr, c’est mieux !
Leitmotiv : on sait jamais, si on change d’implémentation…
LE PROSÉLITE DE MAVEN
Maven est le standard, point. Si on lui dit que Maven est lent, il répond que Maven est le standard. Si on lui dit que Maven ne marche pas, il répond que Maven est le standard. Si on lui dit que Maven vomit sur la console des tonnes d’infos inutiles, il répond que Maven est le standard. Bref, toute discussion est inutile. D’ailleurs Maven a déjà gagné.
Leitmotiv : il faut écrire un plugin pour faire ça !
LE LISPIEN
Lisp est le meilleur langage de programmation. Il a été écrit dans les années 50, mais on n’a jamais fait mieux et on ne fera jamais mieux, et on peut le prouver. C’est peut être vrai, mais on n’a utilisé du Lisp à grande échelle que dans Emacs, alors les Lispiens sont condamnés à arrêter la programmation ou être Richard Stallman (et le poste est déjà pourvu).
Leitmotiv : le code c’est des données et inversement.
L’EXTREME XML
XML c’est cool, il faut en mettre partout, par milliers de lignes. XML c’est sérieux, il y a les DTD, les XSD et les XSLT. En plus, les éléments avec des attributs dedans, c’est joli. De toute manière, vous n’avez pas le choix, c’est ça ou SGML…
Leitmotiv : comment ça verbeux ?
Leitmotiv 2 : YAML ? C’est quoi ?
EN GUISE DE CONCLUSION
Tout le monde s’est forcément reconnu dans l’une ou l’autre de ces caricatures. Pour ma part, j’ai été un fou de Java de 1996 à 2004 avant de réaliser que le meilleur spécialiste de Java qui ne connait qu’un seul langage ne sera jamais qu’un mauvais développeur.
Il est clair qu’aucune techno ou méthode n’est un marteau doré qui répond à tous les besoins. Inversement, on a naturellement tendance à promouvoir ce que l’on maitrise.
La solution est évidente : maitriser un maximum de langages et techniques de programmation et les mettre en oeuvre à bon escient. Cela conduit certains (dont je fais partie, et je ne suis pas le seul) à apprendre un nouveau langage chaque année et à essayer de le mettre en oeuvre.
Si cette bonne pratique tombe sous le sens, elle est loin d’être encouragée. J’ai observé à plus d’une occasion que l’on préfère les discours des Ayatollah aux approches pragmatiques basées sur l’expérimentation et les résultats concrets. J’ai presque l’impression que la mise en oeuvre de dogmes passe avant la rentabilité.
avr 13, 2011 @ 07:44:40
Wunderbar ! Quel merveilleux article ! J’ai beaucoup ri et je me suis aussi un peu reconnu … (j’ai reconnu beaucoup ed’autres personnes aussi hi hi hi )
avr 13, 2011 @ 08:12:49
Autant je suis plutôt d’accord sur l’ensemble de l’article, autant la conclusion me choque. En quoi est-il mieux de connaître moyennement plusieurs langages qu’en maîtriser un seul et unique ? Savoir coder en Java, ça ne sert pas à grand chose par exemple ; savoir coder en Java et maîtriser les innombrables tools qui l’entourent, ça ça a de la valeur.
(Après, je suis dans le web, la question est probablement pas la même, je vois mal quelqu’un débarquer et faire un site en C)
avr 13, 2011 @ 10:29:28
Si tu avais travaillé avec Django ou Ruby on Rails, tu saurais que Java n’est pas un marteau doré. Tant que tu n’auras pas essayé et que tu te contenteras de rhétorique, tu seras comme un curé qui parle de sexe, sujet au sourire entendu de ton auditoire.
avr 13, 2011 @ 11:09:06
Je ne dis pas le contraire, et je ne dis pas que Java est un marteau doré, je suggère même souvent de basculer vers php pour certains cas.
J’exprime juste un doute : vaut-il mieux un développeur Java high level qu’un développeur moyen Java/RoR/php. Pour moi, apprendre un langage, c’est l’affaire de quelques semaines, alors que le maîtriser, c’est une affaire d’années.
avr 13, 2011 @ 11:14:05
Nous sommes d’accord alors, c’est pourquoi l’apprentissage d’un nouveau langage par année est raisonnable.