À retenir
- Ultra-spécialisé pour un domaine unique.
- Plus facile à lire et à écrire qu'un langage généraliste pour sa tâche spécifique.
- Inutilisable ou très limité pour des tâches générales.
Un langage dédié est un outil informatique conçu spécifiquement pour résoudre les problèmes d'un domaine précis, plutôt que d'être capable de tout faire. C'est l'équivalent d'un outil de cuisine spécialisé (comme un coupe-œuf) par rapport à un couteau de chef polyvalent : il est moins flexible, mais beaucoup plus efficace et rapide pour sa tâche exacte.
Étymologie
Traduction directe de l'anglais Domain-Specific Language (DSL). Le terme souligne l'idée de spécialisation exclusive (le langage est « dédié ») à un secteur d'activité ou à une problématique technique unique.
Exemples d'usage
- SQL : utilisé exclusivement pour communiquer avec des bases de données.
- HTML : conçu uniquement pour structurer le contenu des pages web.
- CSS : servant uniquement à définir l'apparence visuelle d'un site.
- G-code : langage spécifique utilisé pour piloter les imprimantes 3D et les machines-outils.
Cas d'usage
Ce concept intervient dès qu'il faut simplifier l'interaction avec un système complexe. On le retrouve dans la gestion de données, la configuration de logiciels (YAML, JSON), la création de pages web, ou encore dans des secteurs métiers comme la finance pour décrire des contrats automatisés.
Bonnes pratiques
Évitez de détourner un langage dédié pour des tâches hors de son périmètre (par exemple, essayer de coder une logique de calcul complexe uniquement avec du CSS). La force d'un langage dédié réside dans sa simplicité : sa syntaxe doit rester proche du vocabulaire utilisé par les experts du métier concerné.
Synonymes
Antonymes
Conseil
Quand vous débutez dans une spécialité (réseau, web, data), apprenez d'abord le langage dédié associé. Il vous donnera les clés de compréhension du domaine bien plus vite qu'un langage de programmation classique car il utilise les termes techniques réels du métier.
Questions fréquentes
Quelle est la différence avec Python ou C++ ?
Python et C++ sont des langages généralistes (GPL) capables de créer n'importe quel type de logiciel. Un langage dédié ne sait faire qu'une seule chose, mais il le fait avec moins de code.
Est-ce plus difficile à apprendre ?
Au contraire, les langages dédiés sont souvent beaucoup plus simples car ils ont moins de concepts à maîtriser que les langages de programmation classiques.