Racines du langage de programmation
De nos jours, les langages de programmation sont reconnus comme quelque chose d’ordinaire, ce qui n’est pas une surprise. Mais en général, cette technologie est relativement jeune et est apparue il y a environ 50 ans. La première idée abstraite d’un langage de programmation a été introduite en mathématiques. Il existe de nombreuses notions connexes, telles qu’une machine à états, un algorithme informatique et une logique combinatoire, qui ont été introduites en mathématiques et après avoir défini la notion de machine de Turing.
Fondateur d’IT Era : Alan Turing
Alan Turing, le père de l’informatique, a inventé la machine de Turing en 1936. Alan Turing est une personne légendaire qui a anticipé l’ère informatique et en est devenu le fondateur. Il est également connu comme une personne qui a déchiffré le code Enigma et apporté une valeur significative à la victoire de la Seconde Guerre mondiale. Sa prédiction selon laquelle les langages de programmation feront partie de la vie normale avant l’an 2000 était impensable pendant les années de sa vie.
Père de tous les langages de programmation : Turing Machine
La machine de Turing est une abstraction mathématique qui permet d' »écrire » des premiers programmes. Vous pouvez créer votre « application » en ayant juste une liste de papiers. Avant d’aller de l’avant, introduisons les notions de base de la machine de Turing :
Ça a l’air assez déroutant. Dès le premier regard, il est difficile de trouver des similitudes avec les langages de programmation. Donc votre première réaction pourrait être comme :
Écrire la première machine de Turing « Hello World »
Eh bien, le codage n’est pas aussi loin qu’il y paraît. Écrivons notre premier « programme » en utilisant le modèle de la machine de Turing. Notre programme « hello world » va juste nombres binaires inverses.
Tableau explicatif des instructions
0 et 1 à gauche correspondant aux valeurs potentielles sur la bande. Q1 et Q2 sont des états signifiant l’état actuel de la machine. A l’intersection des deux, nous pouvons trouver des instructions à exécuter par la machine ; par exemple, écrivez 1, déplacez-vous vers la droite, changez d’état en Q2.
Exécuter une machine de Turing écrite
Voyons maintenant comment fonctionne notre machine de Turing pour l’entrée « 001101 ». J’ai utilisé l’application « turing machine » de ce site.
Machines de Turing plus complexes
Un exemple de machine de Turing qui vient d’inverser des nombres binaires semble trop évident et est encore loin d’un réel développement. Voyons un scénario plus complexe : un exemple avec la machine qui supprime tous les caractères « a » d’une chaîne :
Conclusion
Dans cet article, j’ai présenté l’idée principale de la machine de Turing et montré quelques exemples. La machine de Turing est un modèle beaucoup plus complexe que celui couvert ici. Je n’ai pas inclus certaines notions importantes comme la complétude de Turing, mais ici vous pouvez trouver plus de détails à ce sujet.
En mémoire d’Alan Turing
Ces graines plantées par Alan Turing ont donné à notre civilisation des technologies impensables. Les technologies informatiques ont changé tous les domaines : médecine, espace, finance, physique, chimie, etc. Le comble de l’injustice est que la personne qui a provoqué ces miracles a été poussée au suicide. Le passé ne peut pas être restitué, mais chacun de nous peut honorer Alan Turing de sa mémoire.
Si j’ai vu plus loin, c’est en me tenant sur les épaules des Géants.