Qu’importe le langage, pourvu que les idées soient claires
Cette journée me conforte dans l’idée que j’ai déjà depuis que je suis tombé, non pas dans la marmite, mais dans le Domain Driven Design, qui est que la technologie importe finalement peu, que les langages sont des détails d’implémentation et que la valeur ajoutée de notre métier réside bel et bien dans la modélisation et la compréhension du métier.
Des technologies éphémères
Et ça tombe bien car les technologies, aujourd’hui, évoluent très rapidement. Des langages apparaissent, sont adoptés en masse ou tombent dans l’oubli, une librairie en particulier retient notre attention, le mois d’après s’en est une autre, au rythme des tendances et des époques.
Et finalement, ce qu’il reste, c’est bel et bien une architecture, un modèle, une compréhension qui est certes dynamique pour correspondre aux besoins, mais qui évoluera beaucoup moins rapidement. Et comme c’est ici que se trouve notre valeur ajoutée réelle, on peut se réjouir !
Alors oui une technologie sera plus adaptée qu’une autre selon le cas, mais notre domaine lui n’en a que faire puisqu’il utilise des interfaces, des contrats, lorsqu’il s’agit d’exprimer une dépendance quelconque.
Des langages comme s’il en pleuvait
Chaque développeur essaie de défendre son langage de prédilection (je le fais aussi), c’est une réaction normale. Mais on le sait tous, nous sommes capables du pire comme du meilleur dans n’importe lequel de ces langages.
Et soyons honnête, beaucoup de langages sont désormais en train de converger. Il est donc très facile d’apprendre un nouveau langage et d’être productif rapidement avec.
Finalement, ce qui importe, c’est l’architecture, certaines bonnes pratiques dont la plus importante selon moi est la Separation of Concerns, la simplicité et la maintenabilité du code.
Le mot de la fin
Cette édition a aussi été l’occasion de voir que le DDD est vraiment au cœur des discussions peu importe le domaine métier ou le langage abordé et qu’après toutes ces années il reste tout aussi pertinent et juste.
Alors avant de s’attarder sur des considérations techniques, concentrons nous sur une modélisation claire au plus près des besoins métiers et dans un second temps seulement, munissons-nous de notre boîte à outils, quasi sans fond aujourd’hui, afin de venir supporter cette modélisation !