Exercice, conclusion, et définition, partie 2

Conclusion de l’exercice

Une certaine partie d’entre vous doit à ce stade se dire qu’il aurait fallut être un peu moins ambigü.

Définition, partie 2

programmer
Programmer, c’est exprimer, dans un langage formel à destination des ordinateurs, des algorithmes. [4]

qu’est-ce qu’un 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. » [5]

quelques exemples [6]

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

intérêt

  • compréhensible par la machine
  • élimine toute ambiguïté (au moins pour la machine qui l’interprète !)
[4]Définition notamment inspirée du passage suivant : « Nous connaissons des algorithmes depuis des millénaires, mais cela fait à peine quelques décennies que nous écrivons des programmes. Une grand différence entre l’époque d’Euclide et d’Érathostène et la nôtre est que, depuis le milieu du XXè siècle, nous exprimons les algorithmes que nous concevons dans des langages formels : les langages de programmation. » Dowek, G. (2011). Les principes des langages de programmation, p. 5. Palaiseau: Les Éd. de l’École polytechnique.
[5]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.
[6]liste d’exemple tirée de : Dowek, G. (2011). Les principes des langages de programmation, p. 5. Palaiseau: Les Éd. de l’École polytechnique.