Sweetohm

Michel Casabianca

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é.