Du traducteur: Joe Armstrong a apporté la plus grande contribution à l'essor de l'informatique. Vous trouverez ci-dessous une traduction d'un article de la citation du wiki sur Joe.
Les avantages oubliés de la programmation parallèle
Je voulais créer des systèmes tolérants aux pannes, et très vite j'ai réalisé qu'il était impossible de construire un système tolérant aux pannes sur un ordinateur isolé, car une panne peut se produire n'importe où dans l'ordinateur, donc j'avais besoin de nombreux ordinateurs indépendants.
La livraison des messages prend du temps et ils voyagent dans l'espace. Il n'y a aucune garantie que le message sera finalement remis au destinataire.
Je veux juste simuler ce qui se passe dans le monde réel.
Nous avions besoin de construire un monde dans lequel il existe des processus parallèles communiquant en passant des messages, et je pensais qu'ils ne pouvaient pas avoir de mémoire partagée, car s'ils ont une mémoire partagée, un échec entraînera le reste, comme dans l'effet domino.
Pourquoi les gens n'échangent-ils que des données et non des programmes? Nous pourrions déléguer les deux à un point intermédiaire au milieu pour y faire les calculs.
Ce qui me fait vraiment peur, c'est que les gens développent de grandes applications qu'ils ne comprennent pas complètement comment ils fonctionnent réellement.
De nombreux programmes existants n'ont pas d'interface bien définie. Il ne devrait pas l'être.
Je pense que nous semblons avoir oublié que les choses peuvent être petites. Il est nécessaire de pouvoir décomposer un système complexe en petits composants qui peuvent être discutés.
Nous avons donc dû ajouter le concept de concurrence en temps réel à notre langage. Nous avons également ajouté un mécanisme de détection d'erreur sophistiqué. Cela nous permet de programmer des systèmes en temps réel fiables.