Pour produire une taxonomie quelconque, vous devez d’abord vous poser quelques questions:
- Est-ce que les objets que je vais mettre dans les relations définies correctement?
- Si oui, existent-ils réellement?
- Est-ce que je me limite à un type spécifique de relations entre objets ou le système doit-il uniquement utiliser des relations légitimes?
Généralement, lorsque vous entendez une question comme celle que vous avez posée, la réponse attendue repose sur plusieurs hypothèses. Par exemple, il est naturel de supposer que puisque toutes ces langues sont des langues, elles doivent former une hiérarchie sous un concept plus général de langue, ou qu'elles partitionnent l'espace de toutes les langues, ou qu'elles sont des sous-ensembles les unes des autres.
Langages de programmation
Malheureusement, rien de ce qui précède ne semble être vrai. Peut-être que seuls les langages de programmation ont une définition la plus commune. Les langages de programmation sont des langages qui codent des programmes. Le codage signifie qu'un mot dans la langue peut être interprété comme un programme (une séquence d'actions). Les langages de programmation informatique sont un sous-ensemble de ceux-ci. Exemples de langages de programmation non informatiques: une liste d'épicerie, interprétée comme des instructions pour un acheteur dans un supermarché, un ADN interprété par transcription de peptides, un enregistrement musical analogique servant de programme pour un magnétophone.
Ce sont donc les langages de programmation informatique qui programment les ordinateurs.
Langages de script
Ne sont pas bien définis. Le sens de ce terme est ouvert à interprétation. Historiquement, il semblerait que les langages de programmation ne disposant pas d'un compilateur pour produire du code machine s'appellent ainsi. Selon les normes actuelles, cela inclurait tous les langages de programmation populaires sans assembleurs dans cette catégorie. Même les langages de bas niveau, tels que C, nécessitent un environnement d'exécution avec des procédures préexistantes. Ainsi, les fichiers binaires obtenus en compilant un programme C ne sont pas entièrement du code machine, mais appellent également le moteur d'exécution de temps en temps.
Langages de balisage
Ne sont pas bien définis. Chaque fois que le terme est utilisé, l’intention semble être de décrire un langage de programmation avec un lexique très limité, principalement utilisé pour générer une image visuelle ou audio. Il peut être difficile de voir XML comme une programmation programmée, mais si vous regardez le balisage Man ou TexInfo, vous verrez que les caractères "spéciaux" sont en réalité des instructions de l'interpréteur.
Il est également possible de donner une interprétation "de programmation" pour le langage XML, ce qui pourrait ressembler à ceci:
< := put interpreter in the reading node mode
! := if reading node, start CData/Comment mode
else if not in read text mode, signal error
-- := if in start CData/Comment mode, start comment
else if in comment, put in end comment mode
else if in end comment mode, signal error
...
En bout de ligne: cette division à partir d’aujourd’hui ne semble pas très significative, elle ne peut que vous donner une idée du type de langage auquel vous êtes confronté, mais elle ne vous fournira pas de définition rigoureuse.