La conception de machines à exécuter tous les algorithmes possibles a donc mené à articuler, dans un même discours scientifique et technique, les concepts d’algorithme et de machine, et à comprendre que ces deux concepts sont partiellement substituables : certaines machines, par exemple, ont un circuit pour faire des additions et un autre pour faire effectuer des multiplications, d’autres machines n’ont qu’un circuit pour faire des additions, et la multiplication y est alors un algorithme programmé. Cela a aussi mené à articuler ces deux concepts avec deux autres, celui de langage et celui d’information.
En effet, contrairement à une calculatrice de poche qui peut exécuter quatre algorithmes, que l’on choisit en appuyant sur l’une des touches +, - , × ou ÷, un ordinateur peut exécuter une infinité d’algorithmes différents les uns des autres ; et il n’est plus possible de choisir l’algorithme à exécuter, simplement en appuyant sur une touche. Il devient nécessaire de le décrire dans une langue qui puisse être comprise à la fois par le programmeur qui exprime cet algorithme et par l’ordinateur qui l’exécute. Or, les langues naturelles, telles le français ou l’anglais, ne sont pas les bons outils pour exprimer des algorithmes. D’une part, parce que les ordinateurs peinent à analyser ces langues. D’autre part, parce qu’il est difficile de décrire un objet complexe dans une langue naturelle. Pour décrire un algorithme, il vaut donc mieux utiliser un langage plutôt qu’une langue, de même que pour exprimer une équation, il vaut mieux utiliser le langage de l’algèbre – x3 + 3 x2 = 20 – plutôt que le français – "le cube de la chose et trois de ses carrés font vingt".
L’informatique se place donc non seulement dans la continuité des courants de pensée centrés sur les concepts d’algorithme et de machine, mais aussi dans celle de ce courant de pensée centré sur le concept de langage et auquel on peut rattacher la logique, la Characteristica universalis de Leibniz, le langage algébrique, la notation musicale, etc.