À retenir
- Un sur-ensemble contient 100% des règles du langage d'origine.
- Il ajoute des options, de la sécurité ou de la simplicité d'écriture.
- Le code écrit dans un sur-ensemble est généralement transformé en langage de base avant d'être utilisé.
En programmation, un sur-ensemble est un langage qui englobe intégralement un autre langage tout en lui ajoutant de nouvelles fonctionnalités. C'est un peu comme une version « Deluxe » d'un jeu vidéo : vous y retrouvez tout le contenu original, mais avec des extensions et des options supplémentaires pour coder plus efficacement.
Étymologie
Issu du préfixe « sur- » (indiquant l'extension ou la supériorité) et du nom « ensemble ». Il s'agit d'une application informatique d'un concept mathématique issu de la théorie des ensembles : si l'ensemble B contient tous les éléments de l'ensemble A, alors B est un sur-ensemble de A. En anglais, on utilise le terme superset.
Exemples d'usage
- TypeScript : c'est un sur-ensemble du JavaScript. Tout code JavaScript valide est techniquement un code TypeScript valide, mais TypeScript ajoute une vérification des types (nombres, textes, etc.).
- SCSS : un sur-ensemble du langage CSS qui permet d'utiliser des variables et des fonctions pour styliser des pages web.
- C++ : à ses débuts, il a été conçu comme un sur-ensemble du langage C, y ajoutant notamment la programmation orientée objet.
Cas d'usage
On utilise des sur-ensembles pour améliorer la productivité des développeurs sans casser la compatibilité avec les technologies existantes. Cela permet d'ajouter de la rigueur (typage), de la lisibilité ou de nouvelles capacités techniques à un langage ancien ou limité, tout en permettant au code final d'être converti vers le langage d'origine pour être exécuté.
Bonnes pratiques
Avant de maîtriser un sur-ensemble, il est fortement recommandé de bien comprendre le langage de base. Par exemple, apprendre le JavaScript est essentiel avant de passer au TypeScript, car en cas de problème complexe, c'est souvent la logique du langage d'origine qui est en cause. Il faut aussi garder en tête que le code d'un sur-ensemble nécessite souvent une étape de transpilation (traduction) pour fonctionner sur les navigateurs ou serveurs standards.
Synonymes
Antonymes
Conseil
Si vous débutez, voyez le sur-ensemble comme une couche de protection et d'aide au-dessus d'un langage standard. C'est un excellent moyen de monter en compétence une fois que vous maîtrisez les bases d'un langage classique comme le CSS ou le JS.
Questions fréquentes
Un code écrit dans le langage de base est-il valide dans le sur-ensemble ?
Oui, en théorie, puisque le sur-ensemble respecte toutes les règles de l'original.
Pourquoi ne pas utiliser directement le langage de base ?
Parce que le sur-ensemble offre souvent des outils modernes qui réduisent les erreurs et facilitent le travail en équipe sur de gros projets.