Langage formel

langage formel
« Un langage avec des règles explicites pour sa syntaxe et sa sémantique. On peut par exemple citer les langages de programmation et aussi logiques comme pour le calcul fonctionnel. Ainsi, les langages formels contrastent avec les langages naturels comme l’anglais dont les règles, évoluant comme elle le font avec l’usage, échouent aussi bien à être une définition complète ou précise de la syntaxe, et encore davantage de la sémantique du langage. » [1]

Note

On peut opposer les langages formels aux langages naturels.

quelques exemples [2]

  • la notation musicale
  • le langage algébrique
  • grammaire de précision de correction pour les lunettes

intérêt des langages formels (dans le cadre de la programmation)

  • compréhensible par la machine
  • plus compréhensible pour l’humain que le langage machine
  • élimine toute ambiguïté (au moins pour la machine qui l’interprète !)

Note

Concernant ce dernier point, les langages naturels, du fait de leur richesse expressive, sont aussi enclins à l’ambiguïté.

[1]Traduction libre de : « A language with explicit and precise rules for its syntax and semantics. Examples include programming languages and also logics such as predicate calculus. Thus formal languages contrast with natural languages such as English whose rules, evolving as they do with use, fall short of being either a complete or a precise definition of the syntax, much less the semantics, of the language. » Butterfield, A, Gerard E. Ngondi, and Anne Kerr. A dictionary of computer science. Oxford: Oxford University Press, 2016.
[2]liste d’exemple tirée de : Dowek, G. (2011). Les principes des langages de programmation, p. 5. Palaiseau : Les Éd. de l’École polytechnique.