Aujourd’hui c’est un billet un peu spécial dans lequel je vais aborder un sujet auquel je pense depuis quelque temps : le bashing de certains langages de programmation (et je sais de quoi je parle, je développe majoritairement en PHP !).
Je ne vous apprends probablement rien lorsque je vous dis que certains langages ont mauvaise réputation, il n’est pas rare que l’on me dise « Tu développes en PHP mon pauvre, c’est vraiment un langage de merde »
Ces langages se font régulièrement troller sur internet :
Même si pour le coup c’est drôle, ça contribue également à véhiculer une mauvaise image des langages en question.
Certaines personnes produisent ainsi du contenu qui cherche à démêler le vrai du faux. J’avais notamment regardé à l’époque la vidéo de Grafikart intitulée « PHP c’est de la merde ». L’article lié à cette dernière est présent ici : https://www.grafikart.fr/tutoriels/php-langage-merde-1001
Il ne faut pas oublier que chaque langage a ses défauts et qu’il y a des cas dans lesquels il ne sera pas ou peu efficace, mais aussi que ces langages évoluent régulièrement.
Je pense que l’aspect « sexy » d’un langage ne doit pas être pris en compte pour réaliser un projet professionnel, même si on le prend tous plus ou moins consciemment en compte, moi le premier.
J’ai l’exemple récent d’un ami qui m’a demandé de concevoir une solution pour pouvoir filtrer des données qu’il possédait jusqu’alors au format texte. L’outil devait être accessible à ses collègues et être quelque chose sur lequel ils auraient facilement la main.
Ils n’avaient pas de serveur, pas de connaissances en informatique mais un dossier partagé et une licence Office. Je leur ai donc créé (à contrecœur au début) un Excel partagé avec quelques macros en VBA leur permettant d’ajouter des données et de filtrer ces dernières le plus facilement possible.
Je n’avais jamais testé ce langage et l’avais catégorisé comme « langage à ne jamais toucher », mais je me suis rendu compte que c’était stupide car il faut bien avouer que ce langage m’a permis de répondre rapidement au besoin.
Alors ok, ce n’est pas un langage sexy, j’aurais préféré réaliser une solution en Kotlin et mettre en place une architecture propre mais la solution VBA était manifestement la plus adaptée.
Un langage n’est pas une fin en soi mais seulement un outil à notre disposition pour résoudre un problème. C’est pour cela que selon moi, le plus important est d’avoir un œil sur les différents langages et leur évolution (voir mon article sur la veille technologique) sans à priori, et de ne pas avoir peur de sortir de sa zone de confort pour aller vers des outils que l’on n’a pas l’habitude d’utiliser.
Notre objectif n’est pas de faire du code mais de construire des solutions, alors libérons-nous de ces préjugés qui nous empêchent parfois de faire les bons choix !
Il arrive que la code review nous empêche de merge nos PR assez vite et qu’on se retrouve à tirer une branche d’une branche de travail pour avancer 😔
Une fois la première PR squash et merge, la PR issue de la seconde branche se retrouve avec des conflits 💥
Si vous avez déjà vécu cette situation, il y a de bonnes chances que vous ayez cherry-pick vos commits de travail sur une...
Il arrive souvent que pour tester unitairement des règles de validation, on doive tester le même cas mais avec des exemples différents. Sans tests paramétrés, ça revient à faire un test par cas ce qui peut alourdir notre fichier de tests.
On va voir comme...
Avant .Net 8, tester du code qui utilise DateTime.Now() n’était pas trivial, on devait faire en sorte de mocker la Clock dans nos tests. Depuis .Net 8, c’est beaucoup plus facile grâce à TimeProvider inclut par défaut !
En deux mots, TimeProvider est une...
La gestion des erreurs de son API est très importante pour que les consommateurs puissent avoir une description claire du problème mais c’est souvent fastidieux à maintenir.
On va voir comment avoir des statuts de réponse cohérent et des messages d’erre...