4. Expressivité des langages de programmation

De nombreux langages de programmation sont utilisés en pratique, mais on peut se demander si ils sont tous aussi “puissants”. C’est ce à quoi nous allons nous intéresser dans cette partie. Dans cette première vidéo, on utilise le langage Gobot pour expliquer le concept d’expressivité.

Dans cette deuxième vidéo, nous nous intéressons au concept d’“expressivité absolue”.

  • Fiche scientifique :

Avez-vous retenu ?

  1. Est-ce que tous les langages de programmations offrent les mêmes possibilités ?
  2. Le langage Gobot peut-il réaliser tous les algorithmes ?
  3. Existe-t-il des langages avec lesquels il est possible d’exprimer n’importe quel algorithme ?
  4. L’expressivité d’un langage de programmation est-elle le seul facteur pour choisir un langage ?
  5. Sous quelles conditions un langage de programmation est-il Turing-complet ?

Pouvez-vous définir :

  • Expressivité d’un langage
  • Turing-complet

(Les réponses se trouvent dans le glossaire.)

Notions importantes :

  • Les langages de programmation diffèrent selon leur expressivité.
  • Des langages capables d’exprimer tous les algorithmes existent, et la majorité des langages de programmation modernes en font partie.

Question d’approfondissement :

Nous avons vu que la plupart des langages modernes étaient Turing-complets. Mais alors quels sont les deux facteurs limitant fortement les exploits réalisables par un ordinateur ?