De mether à Symfor.
Mether représente l’ensemble des algorithmes de la nature pour réaliser le crée. Symfor tente de les traduire par un langage unique qui se veut universel. Symfor doit couvrir le quantitatif et le textuel. Mais il est fait par les humains et pour les humains, alors que mether couvre l’aspect matériel de tout le crée.
Dans le tableau TF (B) nous différentions nettement le champ des objets matériels, le champ des effets, le champ des historiques. Cela entraîne une différence à noter entre le langage fait pour une machine et un langage fait pour le cerveau d’un humain.
Pour que la machine soit efficace vis à vis des réalités, elle ne doit accepter, décrire, traiter, restituer que ce qui est, rien de plus.
Pour que l’humain devienne efficace dans le processus d’évolution, il doit s’aider de la machine pour extrapoler à partir de ce qu’elle lui donne, des scénarios pour un futur qui n’existe pas encore.
En termes clairs, la réalité matérielle ne connaît pas deux Instructions de base de tout langage informatique :
- Le SI (If anglo saxon).
- Le Saut ( Jump ou Go to anglo saxon).
Sisaut.gif ci dessous les représente en convention de symbole d’organigramme.

Dans ce schéma on compare A et B. Le résultat ne peut être que < = >.
Ici s’appliquent les instructions Si > aller faire, Si = faire, Si < aller faire.
Dans l’autre cas de figure après le travail T0 on se déroute ver T2. Mais T0 est suivi du travail T1 sur lequel on reviendra après le travail T3. Nous avons l’usage d’instructions du type Jump T2 ou Go To T1. Mais ce cas d’utilisation traduit une analyse mal faite, une programmation dite en verrues. C’est le cas type où l’on ajoute une séquence de programmation oubliée ou vue après coup.
La nature exécute, si le réalisé est bon il peut continuer ou se reproduire, s’il est mauvais il cycle sans fin sur le modèle improductif. L’exemple parfait est donné par toutes les espèces animales, celles figées sans fin dans un modèle qui ne peut plus évoluer.
L’humain intelligent va se pauser la question de savoir ce qui serait arrivé ou ce qui peut arriver si à un certain moment il avait fait ceci plutôt que cela. Si a un certain moment il avait abandonné un biotope au profit d’un autre biotope.
Pour qu’un ordinateur couvre tous les aspects du crée il doit inclure ces deux instructions, mais le programmeur doit savoir quand les utiliser et quand les exclure d’un algorithme. Dans tous les cas comment les utiliser. C’est l’objet de la programmation en pure code.
Programmation pure code.
Dans ce mode de programmation, il s’agit d’éviter dans l’alignement des instructions d’une tâche le cas par < = >. Surtout ne jamais utiliser les cas par T0, T2 puis T1.
Sauf dans un cas le test par < = > peut s’utiliser :
Chaque branche <, =, > doit revenir sur la comparaison A :: B un nombre de fois fini. Ce nombre de fois atteint, il est une limite, la branche ne revient plus. Cela permet de calculer avec précision la durée maximum de la tâche.
|
purecode.gif D’une manière générale la tâche pure code doit être fluide. On entre par le début, c’est la première instruction. On doit sortir par la dernière instruction, après avoir exécuté l’une après l’autre toutes les instructions intermédiaires, comme si l’on parcourait un chemin dans un sens unique. On permet sur ce chemin de revenir en arrière pour parcourir la séquence un nombre fini de fois. Ici les instructions rouges sont exécutées n fois. C’est comme si on allongeait la séquence bleu de n fois ces instructions rouges. |
Accélérer la machine.
On peut et même doit inclure dans les tâches connues par la machine toutes les fonctions de base de mether : celles de gestion, celles de quantification, celles de formulation. Mais il y en a bien d’autres qui le pourraient. Tous les programmes faits dans le monde et qui ont un usage permanent peuvent devenir une fonction ajoutée de mether.
Ainsi années 70 la consultation de la bibliothèque européenne de programmes du site d’IBM place Vendôme à Paris, donnait des programmes faits par des sociétés ou des particulier. Prêts à l’emploi on pouvait faire appel à eux pour résoudre le problème que le réalisateur avait traité avec sa solution.
Le système d’exploitation de l’ordinateur se borne à mettre à la disposition de l’utilisateur de la machine tout ce dont il a besoins pour réaliser son travail : périphériques, unité centrale, fonctions de base, programmes à charger et faire exécuter, espace de travail, temps de travail à ne pas dépasser.
En particulier un système d’exploitation peut connaître, dans tous les cas on peut lui permettre de connaître, la fréquence d’utilisation d’un programme. Si l’on veut on peut même le faire descendre au niveau de l’instruction d’un ordinateur.
Ainsi programmes, fonctions qui ont une fréquence d’utilisation élevée sont ceux pour lesquels le temps de mise à disposition doit être le plus court. Ces fichiers s’ils sont enregistrés sur périphérique nécessitent un délai de transfert vers la mémoire de l’unité centrale. S’ils sont chargés avec le système d’exploitation, ils seront en disponibilité permanente comme le sont les fichiers de base du système d’exploitation. Toutefois le temps de chargement du système d’exploitation sera plus long. Mais si l’on est sûr de la fiabilité de la programmation, enregistrer en mémoire flash le programme fréquemment utilisé est la meilleure solution. Cette opération peut être à la charge automatique du système d’exploitation qui met à jour sa mémoire flash à partir des bases des programmes, elles même mises à jour par les concepteurs.
Il est impératif d’éliminer un programme non écrit en pure code.
Les constructeurs de processeurs, ont utilisé cette méthode des fréquences élevées au niveau des séquences d’instructions machines, pour définir un jeu réduit d’instructions simples (RISC) ou complexes (CISC). Cela permet d’accélérer le travail de l’unité centrale de la machine.
Mais lorsque l’on se propose de concevoir une machine qui doit supporter Symfor, le jeu réduit And, Or, Xor, Not, Inv, Shift, Load, Clear, est suffisant. Dans tous les cas il ne doit pas dépasser la dizaine d’opérateurs au premier niveau.
Il est à signaler que le second ordinateur sur lequel j’eus à programmer, le 1401 IBM avait un jeu d’instructions de 60 opérateurs : unité centrale et périphériques inclus. Et l’on pouvait pratiquement tout faire. Mais son architecture a été abandonnée. Ce fut une erreur puisqu’elle peut servir, aménagée, pour supporter Symfor hors sa propre machine.
Le système d’exploitation.
C’est un programme qui gère la totalité des besoins d’un utilisateur de la machine. Ces besoins concernent l’exécution complète d’un travail (JOB) : acquisition des données (Quoi), chargement et exécution du programme qui doit les traiter (Comment), restitution et mise en forme des données (Pour Quoi), enchaînement de plusieurs travaux par un script approprié écrit en langage (JCL).
Si un travail devait être interrompu c’est que l’utilisateur avait mal calculé le temps qu’il demandait pour son exécution. Cela ne devait jamais se produire.
Pour Symfor, ce modèle a été retenu, car il correspond également aux règles de la méthode de conduite de projet.
Tout cela facilite le câblage de la machine pour essayer de respecter dans les micro tâches comme dans les grandes tâches le principe de base d’une exécution fluide liée au concept de pure code. Cela va de pair avec les objets, les atomes, les molécules homogènes dont il est parlé dans la physique momusienne.