URL: https://linuxfr.org/users/small_duck/journaux/le-sophisme-du-meilleur-outil Title: Le sophisme du meilleur outil Authors: small_duck Date: 2023年11月12日T17:20:49+01:00 License: CC By-SA Tags: Score: 43 Aujourd'hui, un journal qui dénonce grave (ça faisait longtemps, tiens). Je tiens à m'élever, que dis-je, à m'insurger, contre ces ayatollahs qui se drapent dans leurs chevaux et montent sur leurs grands principes pour forcer sur nous autres tout un tas de technos à la mode, peut-être de bonne foi, ou peut-être afin d’étoffer leur CV quand sera venu pour eux le temps de déployer leurs ailes pour semer le chaos dans d’autres équipes avec le sentiment du devoir accompli, et nous laissent avec moult scories fumantes impossibles à extirper, parce qu’elles sont, objectivement et sans aucun contexte, le meilleur outil (oui, je me suis mis à Proust récemment, ça se voit tant que ça ?). Parce que oui, avoir un script en Perl tout seul dans son coin et qui sort de nulle part pour extraire un rapport depuis logs de tests unitaires (parce que Perl, c'est le meilleur outil pour bidouiller du texte, voyons !), décider d'utiliser [KDB](https://en.wikipedia.org/wiki/Kdb%2B) (vade retro !) parce que tu vois, faut faire des requêtes hyper rapides, y'a au moins 10 000 lignes, SQL il sait pas faire, hein, ou encore coller du Java (parce qu'on veut gérer des flux de données, et les flux c'est Flink), du Python (parce que c’est le meilleur outil pour faire des services web), du C++ (parce que la bibliothèque tierce à intégrer est en C++), du C# (parce que de la GUI), du SQL et du noSQL et leurs divers cadriciels afférents dans un bête petit service maintenu par une équipe de 3 personnes, c’est peut-être (je dis bien peut-être) bon pour la productivité immédiate, mais à moyen ou à long terme, c’est la bataille permanente pour modifier un simple truc. Tenez, encore un exemple : nous avions besoin de construire une petite interface Windows pour un service en C++ tournant sous Unix (accès et modification de données), usage interne, rien de méchant. Ah mais attention, le meilleur outil pour faire des interfaces sous Windows, c’est C#. Alors bonjour, voici un dev C# qui va faire le boulot, faites lui une petite API en managed C++, on galère un peu mais on finit par y arriver. Et puis, mauvais résultats financiers, dégraissage, le type est viré, et on reste avec une GUI que personne ne sait maintenir, et qu’on voit pourrir sous nos yeux au fur et à mesure que l’on change le service. Il en a fallu, des efforts, pour convaincre le management d'utiliser Wt, un cadriciel Web en C++ inspiré de QT, et qui nous a permis de tout intégrer. Alors oui, faut un peu se battre avec, c’est pas hyper joli, et c’est pas hyper mode, mais ça fait le boulot, et les devs C++ backend, comme on dit, arrivent à être autonomes et à garder l'interface alignée. Si je démarrais de zéro, je n’utiliserais certes pas Wt pour faire un site web, mais étant donné la taille et les connaissances de l’équipe, le timing, les priorités, et les contraintes matérielles, c'était une bonne solution, et ça a marché si bien qu'on a oublié à quel point c'était pénible avant. Il y a un curseur entre cohérence et fonctionnalités, et j'ai tendance à le diriger fermement vers la cohérence. Tant pis s'il me faut écrire un peu plus de code, tant pis si je passe un peu plus de temps à intégrer une nouvelle fonctionnalité : si elle s'intègre de manière cohérente au projet, en utilisant le même langage, les mêmes conventions, les mêmes dépendances, alors elle s'intègrera au CI, aux tests unitaires, au format de logs, elle pourra être maintenue par l'équipe. Voilà, c'est tout pour moi, je retourne remplacer les 1 liners en python dans des scripts bash par des des 1 liners en bash.

AltStyle によって変換されたページ (->オリジナル) /