Sur l'informatique

créé le: 20170731
mis à jour le: 20200925
généré le:20201006_155211

Du bon usage de l'Informatique

Les ordinateurs mettent à la disposition de l'homme des ressources de traitements de l'information. Les périphériques des ordinateurs permettent de produire des résultats matériels à partir de cette information.
Détaillons: un langage de base est fourni par la machine, il permet de manipuler de l'information suivant trois domaines fondamentaux de la pensée: le logique, l'arithmétique et le topologique.
Les deux premiers domaines sont incarné par l'unité arithmétique et logique, le dernier permet la manipulation et est tout ce qui concerne le stockage, le déplacement de l'information (la gestion).
Le sequenceur (déplacement dans le temps), les bus d'adresses et de donnée, les registres.

Les ressources qui composent un ordinateur, qui individuellement ont leur but propre, lorsqu'elles sont mises en commun, permettent de créer du nouveau ( par le célèbre principe "Le tout est plus que la somme des parties").

Un ordinateur donne la possibilité de créer du nouveau à partir de ressources matérielles. Ce nouveau crée est de la nature de l'information ou de la néguentropie. Par exemple, les ordinateurs n'ont pas évolués dans leur principe depuis leur création (les calculateurs sont tous composés principalement des mêmes parties, BUS UAL MEMOIRE SEQUENCEUR etc..) alors que le logiciel n'a pas cessé de progresser pour devenir de plus en plus performant (de plus en plus ,intelligent!).
Bien sûr, cette progression est du à la progression de la reflexion de l'être humain par rapport à ces ordinateurs, ou plutôt au traitement de l'information qu'ils permettent. Ceci est un point crucial en ce qui concerne les langages de programmation, car ce sont eux qui incarne la création de nouveau, la progression du logiciel, puisque ce sont avec ces langages que sont fabriqués les logiciels (eux-mêmes y compris)

détaillons: A partir du langage de base fournit par le matériel, la programmation va mettre en évidence des problèmes d'utilisation de ce langage par rapport à la capacité de l'intelligence du programmeur. Le programmeur va dès que la maitrise du langage sera bonne, percevoir des manques, des lourdeurs, tout une série de choses insatisfaisantes pour l'esprit qui recherche la production d'entropie minimum (ce que fait la vie en général cf: le prix Nobel de physique Ilya Progogine et sa fameuse formule dS=0)

détaillons: ici nous disons que la vie recherche à eliminer le désordre dans son fonctionnement pour l'améliorer. Le désordre pour la vie est lié à la mort. L'ordre est liè à la vie (ceci est bien connu des biologistes- biochimistes-biophysiciens). L'esprit humain étant une continuation de la vie dans son aspect le plus noble (le plus avancé, ou le plus raffiné), il est naturel que cette tendance à l'ordre se retrouve dans l'informatique.
Plus un systéme sera capable de créer de l'ordre (néguentropie) plus la durée de sa vie sera plus grande. Ceci est vrai aussi pour les logiciels: si un système ne donne plus satisfaction et est remplacé par un plus performant, c'est que ce nouveau est capable de mieux gérer l'information, soit en quantité soit en qualité.

La tendance naturelle du programmeur sera donc de faire évoluer son discours avec la machine pour qu'il soit plus satisfaisant plus ordonné.
Le moyen unique pour cela est de créer un nouveau langage, c'est à dire un nouveau niveau de langage. Dans la machine rien n'aura changé, mais dans l'esprit du programmeur, l'ordre sera plus grand. On peut considerer que la machine permet à l'esprit de se projetter dans la matière et sa stabilité pour progresser. Les logiciels ne sont qu'une projection de l'esprit humain. Ils permettent à l'homme d'avoir un reflet sur son propre fonctionnement intellectuel. ( Cette reflexion permettra à tout un chacun, au vu de l'état de l'art en terme d'informatique, de ce faire une idée sur le degré d'évolution de l'intellect humain ...) Le langage par ailleurs ne doit pas être complétement identifié au logiciel qui est son aspect le plus visible. Le langage est avant tout un moyen pour l'homme de communiquer avec la machine (ou de se projetter dans la machine).
L'homme cherchera toujours à perfectionner ce langage pour que la communication soit entachée d'un minimun d'entropie.

.
L'étude des langages ou plutôt de l'évolution du langage est trés importante pour l'homme, car elle lui permet de mener une reflexion qui est succeptible de faire progresser celui-ci.
Ici on rejoint (inévitablement) le concept le plus fondamental à nos yeux qui est celui d'autoréférence.
Il y a autoréférence dans le fait que le langage évolue à partir d'un discours sur lui-même, et ce "bouclage" peut être perçu à différent niveau:

  • les niveaux de langage se décrivent les uns par les autres,
  • l'implémentation physique des langages dans la machine peut aussi se faire à partir d'eux-mêmes: un compilateur C peut trés bien être écrit en C. Un compilateur décrit la syntaxe du langage, donc un compilateur est un discours sur un langage qui peut être lui-même, ou un devenir de lui-même. (capacité auto-descriptrice du langage: la grammaire )

    une phrase est composé d'un sujet d'un verbe et d'un ou plusieurs compléments. La phrase qui précéde se décrit elle-même.

    .

    Un exemple de réflexion qui fait progresser le langage est par exemple que si nous avons parlé de création de nouveau en ce qui concerne les langages, une préoccupation majeure en ce qui concerne l'évolution des langages serait de faciliter dans la structure du langage l'apparition du nouveau et surtout d'éliminer ce qui empêche ou limite ou ralenti cette évolution.
    Par exemple les lourdeurs entraine la non-clarté ce qui ralenti de manière évidente la progression.
    Par exemple l'instanciation dans les langages objets permet d'éviter les lourdeurs dues au fait de n'avoir pas prévu lorsqu'on crée une entité que l'on en utilisera peut-etre plusieurs. La prévoyance d'utilisation de ressources évite des retours en arrières et des rèpétitions.

    Contrainte pour un système informatique sans contrainte

    Catégories

    Il faut d'abord répertorier les différentes catégories qui compose le domaine de la manipulation mécanique (au sens large) du langage.
    Dans un système informatique nous allons répertorier les éléments qui nous semble devoir être pris en compte pour être complet dans notre approche.
    Categories informatiques

  • le matériel,
  • le logiciel, ici nous allons prendre le point de vue du logiciel, et ne faire référence au matériel que lorsque cela sera nécessaire.
    (un peu comme un homme qui lorsqu'il parle de lui-même parle plutôt de son esprit que de son corps, et précise "mon corps" lorsqu'il veut en parler).
  • La capacité de traitement de l'information:
  • du point de vue logique, dans l'UAL (unité arithmétique et logique), il s'agit de la capacité d'un circuit éléctronique d'imiter les lois fondamentale de la logique mathématique (algébre de Boole).
  • du point de vue arithmétique, même chose que pour le logique, mais avec l'arithmétique de base (nombre entier et opération sur ceux-ci).
  • du point de vue topologique, (le bus et la mémoire, ainsi que tous les périphériques reliés au bus).
  • le bus : ou la capacité de transport de l'information.
  • la mémoire dynamique ( mémoire à court terme ).
  • la mémoire de masse ( mémoire à long terme ) et en même temps il s'agit de la capacité somatisation de l'information: si toutes ressources d'énérgie est supprimée à la machine, elle a la capacité de garder son information par les mémoires magnétiques. Il s'agit de la même capacité pour le règne végétal, de conserver l'information du génome de manière gelée à travers la graine. On peut dire que dans la graine le programme de reproduction de l'espèce est gelé. A quoi vous fait penser un ordinateur éteint?
  • les périphériques d'entrée-sorties tel le clavier, l'écran, l'imprimante. gL'imprimante ne nous interessera pas à cause de la redondance d'utilité gavec l'écran. Il ne faut pas oublier la souris. Les périphériques ne gdoivent pas être négligés dans la conception du systéme, car ils sont gles seuls moyens de communications (et pour cause) entre la machine g(ou plus exactement le système) et l'homme.
    gIl faudrat distinguer entre l'ecran à basse et à haute résolution.

    Due au éléments listés ci-avant, nous pouvons d'ores et déjà émètre un certains nombre de contraintes à respecter, pour le système. Ici nous allons reprendre une idée du chapitre "du bon usage de l'informatique" et ne plus parler du système, mais du discours.

  • le discours dans son flot créateur doit être capable de somatiser le nouveau c'est à dire de le sauvegarder sur la mémoire de masse. Au niveau de la programmation, ceci veut dire que si on définit par combinaison de concept du discours préexistant un nouveau concept, celui-ci devra automatiquement avoir à sa disposition un système de sauvegarde qui le prenne en compte.

  • toujours en ce qui concerne un nouveau concept, le discours doit être capable de le manipuler en tant que tel, de décrire sa relation avec les autres concepts.

  • les differentes categories composant un systeme doivent evoluer harmonieusement, il ne faut pas avancer plus vite dans un domaine pour en négliger un autre, ce qui aurait pour effet de déséquilibrer l'évolution: si une distance trop grande se creé par exemple entre la puissance des concepts et leur manipulation ( qui elle n'est pas aussi puissante) il faut faire évoluer la puissance de la manipulation avant de les manipuler plus avant.

    Efficacite du langage

    le langage est le moyen le plus efficace pour structurer la connaissance.
    (cf rig veda)

    évolution des langages

    Le principal moteur dans l'évolution des langages informatiques a sans doute été, l'élimination progressive de la redondance.

    Lorsque qu'une forme de redondance a été détecté, on recherche une technique pour sans abstraire, on peut citer:

  • Les procédures pour éliminer les parties de code identiques.
  • Le paramétrages des procédures (argument de fonction C par exemple), pour éliminer les parties de code semblable pour les traitements mais différents pour les données.
  • L' aggrégation des données pour éliminer une forme pratique de redondance: Le fait de faire subir individuellement a des données la même opération alors que ces données sont par nature solidaire. La simplification de ces opérations due à l'aggrégation des données ce qui conduit à leur traitement en tant que groupe, résulte de l'élimination d'une certaine redondance ( exemple: structure C et les opérations possibles sur ces groupes de données: transfert global en tant qu'argument, affectation).
  • La hiérarchisation des données pour éviter la redondance dans la descriptions symboliques des données. (hiérarchie d'objets en programmation objet).
  • Le typage des données et le polymorphisme qui permettent de définir des contexte qui seront alors implicite dans le code et donc le simplifie.
  • La généricité qui consiste à paramétrer le code, non plus par rapport au données comme dans le cas des arguments, mais par rapport aux traitements eux-mêmes: Cette redondance est le fait de ressemblance partielle des traitements; On s'aperçoit que le code que l'on écrit "ressemble" à ce qu'on a pu faire ailleurs sans qu'aucune des autres techniques précédemment vues ne parviennent à s'appliquer efficacement.
    La ressemblance est plus structurelle que fonctionnelle. Les traitements sont fonctionnellement trés différents, mais dans leur structures, ils se ressemblent, d'où l'idée d'abstraire cette structure de code dans une fonction "générique". C'est à l'heure actuelle la forme la plus subtile de l'élimination de la redondance.

    La redondance est toujours une histoire de perception: pour exister la redondance doit être perçue. Son élimination progressive se fait par l'observation de forme de plus en plus subtile de redondance: On ne peut découvrir une nouvelle forme de redondance que lorsque une forme plus grossière à été éliminée.

    Ceci ressemble étrangement au processus de renormalisation en physique: Les techniques (mathématiques) de renormalisation sont trés diverses dans le processus, pourtant unique, d'unification des forces. Dans ce cas ce n'est plus la redondance qui est génante, mais la diversification des théorie qui provoque lors de leur unification l'apparition d'incohérences qui se traduise au niveau mathématique par des valeurs infinies.

    Ceci se recoupe assez bien avec le rôle que nous donnons à la perception dans le processus de renormalisation.

    L'art de ranger

  • Ranger signifie ordonner des éléments. Il s'agit en fait d'agir sur un système, un ensemble d'éléments pour changer leur ordre dans le sens de l'améliorer (diminution du désordre ou entropie).

  • un sujet ou acteur ne peut être efficace dans l'action que dans la mesure ou il maitrise son milieu, son environnement. Pour cela il doit entretenir avec celui une relation de perception ou de connaissance.
    Pour connaître et maitriser son environnement il doit le percevoir et l'organiser, c'est à dire s'en faire une représentation mentale suffisament efficace et représentative pour pourvoir agir efficacement sur lui.
  • On peut en déduite qu'un élément essentiel de l'action consiste à ranger l'environnement, le système.

  • En terme de système d'information un moyen trés puissant de ranger consiste dans un premier temps à éliminer les redondances.

    Redondance et entropie

    La redondance est génante pour un acteur car il doit répéter les opérations qu'il exécute sur le système d'information. Cette redondance doit être gérée sous peine d'introduire du désordre dans le système. Si c'est possible il est préférable d'éliminer la redondance avant d'avoir à la gérer.
    On voit donc que, à cause de la capacité limitée d'action ou de perception de l'acteur, la redondance est équivalente à de l'entropie.
    On peut voir par ailleurs, en faisant référence à la définition de l'entropie, que celle-ci est basée d'une certaine maniére sur la redondance d'état du systéme ( plusieurs états possibles pour des valeurs uniques des variables des propriétés du système).

    Redondance et gestion de projet informatique

    Lorsque un projet informatique regroupe plusieurs personnes, (On peut même considérer que dans le cas d'une personne unique, si le projet s'étant sur une durée non négligeable devant la capacité de mémorisation de la personne, que cette personne unique est plusieurs personnes en fait: la personne d'aujourd'hui, la personne d'hier, la personne de demain, ou bien encore la personne en temps qu'analyste, que concepteur, ou que réalisateur.) des redondances naturelles apparaissent dans le système.
    En effet, chaque personne sera confronté dans son travail à des problèmes qui auront pu être déjà rencontré par d'autres personnes, ou qui y sont confronté simultanement, ou bien encore qui y seront confrontés.
    On aura une redondance si chaque personne met en oeuvre des actions similaires pour résoudre les problèmes de manière indépendante, c'est à dire sans communication. Ici la non-communication, revient à refaire plusieurs fois les mêmes choses, c'est à dire:

  • à consommer des ressources de manières redondantes,
  • à introduire des redondances dans le système, car chacun apporte sa gsolution à un problème unique.
    L'incohérence qui pourra résulter d'une telle méthode d'action sera la perversion de l'originalité de chaque personne, alors que l'élaboration d'une solution en commun, avec pour but unique de trouver la meileure solution possible, aurait été la juste méthode pour rentabiliser au maximum cette originalité qui est la richesse d'un groupe.

    Redondance et communication

    Lorsque plusieurs personnes travaillent à un but commun, il est naturel de penser qu'elles doivent communiquer et même "bien communiquer" pour "s'entendre" et arriver à leur but. On peut alors se poser la question des ressources à allouer à cette tâche, des actions à entreprendre pour la communication, des structures en mettre en place et, bien sur des connaissances à posséder dans ce dommaine.

    On peut par ailleurs faire référence ici au dernier soukta du dixième mandala du rig véda tel qu'il a été traduit par Maharishi Mahesh Yogi et tel que nous l'avons commenté en rapport avec la "méthode de résolution d'un problème en mécanique quantique" (diagonalisation de matrice d'états).

    La redondance dans le discours

    vaste sujet qui nous préoccupe au plus au point. Dans le présent discours tout doit être mis en oeuvre pour détecter et éliminer une redondance qui étoufferai à la longue, l'entreprise.

    Redondance et securite

    la redondance a dans certains cas une utilité, il s'agit d'assurer la stabilité d'un système. Mais cette redondance n'est utile qu'a cause de l'entropie physique des systèmes qui supporte l'information.

  • redondance de chemin dans un reseau IP par exemple,
  • redondance de stockage dans les bases de données.

    cette redondance doit être introduite par sécurité et maitrisée.

    Information

    De in-former: mettre en forme.

    corrolaire: L'information à un pouvoir d'organisation.

    L'information par sa nature permet l'organisation d'un système.

    L'information doit être reconnue pour avoir de la valeur, des systèmes de perception et de l'intelligence sont nécessaires.

    Si une information n'est pas reconnu ou si sa reconnaissance est entachée d'erreur, de l'information est perdu pour l'observateur (système opérant).

    l'information peut se mesurer dans plusieurs unités suivant le domaine où on la considère:

  • bit
  • nat http://fr.wikipedia.org/wiki/Nat_(information)

      théorie_de_l_information_ ;https://fr.wikipedia.org/wiki/Théorie_de_l'information;

    Organisation Neguentropie

    La connaissance a un pouvoir d'organisation Knowledge has an organising power

    entropie

    Symbôle de l'entropie en thermodynamique: S

    Qualite de l'information

    La théorie des systèmes d'information est en partie basée sur la définition de la quantité d'information (qui vient de Shannon).

    Mais parler de l'information en terme uniquement quantitatif est assez limitatif et un peu humiliant pour l'information elle-même.

    En effet, avant tout, l'information à un pouvoir d'organisation. Ceci n'est pas de l'ordre de la quantité mais bien de la qualité.

    Le plus grand attribut de l'information n'est pas sa quantité mais sa qualité.

    Par exemple dans un fichier de paye, la qualité de l'information doit être totale. La situation normale est: "aucune erreur". Dans ce cadre la quantité d'information devient corrolaire de l'information: si on double le nombre de ligne du fichier, on aura doublé la quantité d'information et par la même "doublé" l'information. Mais ceci n'est vrai que parce que dans cet exemple la quantité et la qualité sont fortuitement reliés à cause de la structure triviale de l'information (fichiers d'enregistrements).

    La qualité de l'information est aussi son accessibilité. Un système qui ne permet pas d'accéder facilement et d'exploiter totalement la quantité d'information qu'il recèle est de basse qualité.

    La qualité de l'information est relié à l'aspect subjectif de l'information qui est inclus dans la formulation de l'entropie à travers la résolution de l'observateur ( cf entropie et informatique ).

    La résolution de l'observateur est le niveau d'accessibilité de l'observateur à l'information.

    Informatique et entropie entropie et informatique

    L'entropie est une notion lié à l'information. En physique on considérera l'information d'un système physique. Celle-ci se traduit par la multiplicité des états que peut prendre un système. La complexité d'un système physique peut donc être mesuré en quantité d'information. La complexité d'un système physique macroscopique est donnée par le nombre d'Avogadro : 6.022 10 puissance 23

    Comparé aux unité utilisée en informatique on a:

    le Kilo-octet Ko 2^10 = 1024 le Mega-octet Mo 2^20 = 1.048576E+006 le Giga-octet Go 2^30 = 1.073742E+009 le Tera-octet To 2^40 = 1.099512E+012 le Tera-octet est la dernière unité de mesure de l'information actuellement utilisée.
    Au delà il y a:

    le Peta-octet Po 2^50 = 1.125900E+015

    et puis il faut imaginer la suite:

    le "Deta-octet" Do 2^60 = 1.152922E+018 le "Tora-octet" Vo 2^70 = 1.180592E+021 le "Veda-octet" Vo 2^80

    pour arriver enfin au nombre d'Avogadro approximativement 2 puissance 79.
    2^79 = 6.044629E+023

    Ceci nous donne un peu la mesure de notre éloignement du grand architecte... en sachant que l'échelle atomique 10^-10 est trés loin de l'échelle de planck 10^-33

    Dix commandements du programmeur

    Tao of computing

    Le sage sait que la création émerge du silence.

    Tao n'est que silence. Le silence se maintient par son propre dynamisme infini. La fréquence infini est le silence du vide.
    Lorsque l'attention du programmeur cosmique se disperse dans l'infini des possibles alors apparaît la nécessité de programmer à une fréquence fini.
    Les âmes programmeuses expérimentèrent alors la nuit sombre où il n'y avait aucun programme.
    Au début la fréquence était sans forme et vide. Puis du vide, vint la terre et de la terre, la silice. Les Titans Fondeurs prirent la silice, la purifière éliminèrent l'entropie de la non-forme et la forme cristalline parfaite cubique centrée du silicium apparût. De la forme parfaite du silicium monocristallin le Titan Intel créa la puce de silicium. De la forme parfaite de la silice le quartz fut crée. L'énergie de vie fut insufflée au quartz et à la puce et ils commencèrent à ensemencer la création par leur union.
    Les nombres et les versions furent crée conformément à l'architecture sacrée: Z80, 8086, 80186, 80286, 80386, 80486, 80586 ou pentium. Parallèlement la fréquence augmenta 4, 64, 128, 256, 640, 1Ghz, 2Ghz donnant plus de puissance à la création du couple parfait. Ainsi le chemin de retour vers la fréquence infini se poursuit d'âge en âge vers Avogadro (2 puissance 79). Lorsque les programmeurs atteindront Avogadro, la prophétie dit que tous atteindront le tao.

    La grande bifurcation ergonomique: un bilan à l'ère falacieuse du numérique :20161130

    Lors du développement de l'informatique à eu lieu une bifurcation historique dans l'ergonomie.

    Avant l'invention de l'écran de visualisation cathodique, il n'existait que la télétype.

    On écrivait un ordre sur cette machine à écrire connectée à l'unité centrale et ensuite on tapait "enter" ce qui provoquait l'envoi de la saisie à la machine qui répondait magiquement en tapant le résultat car cette télétype était à la fois un périphérique d'entrée et de sortie: un clavier et une imprimante.

    Ce fait est remarquable car on peut dire que l'ordinateur jouait le rôle d'un robot assistant pour la saisie au clavier. Par exemple si l'on saisissez 3 * 5 la machine affichait en retour : 15, elle nous assistait pour nous éviter d'avoir à saisir le résultat.

    A ce moment il n'existait finalement que la ligne de commande et l'édition de texte (programme) se faisait avec un logiciel comme "ed" qui existe toujours sous unix et qui est adapté à la télétype.

    Ce simple exemple nous dit ce qu'est l'ordinateur: une béquille où une prothèse pour notre mental.

    La bifurcation a eu lieu lors de l'apparition des moniteurs à écran cathodique.

    Là est apparu la possibilité de deux modes d'interaction avec l'ordinateur:

  • la saisie libre dans un éditeur de texte
  • la saisie controlée dans une grille de saisie ("forms" en anglais)

    La saisie libre dans un éditeur de texte a été dédié au programmeur qui doit pouvoir agir en toute liberté sur la machine car il connait ses règles de fonctionnement et il doit être créatif à travers la programmation pour augmenter les possibilités d'interaction avec celle-ci par la production de programme dédiés à une tâche particulière.

    La saisie contrôlée dans une "forms" a été dédiée à l'utilisateur des programmes qui sont eux-mêmes dédiés à une tâche particulière où sont saisis des informations dans des champs contrôlés : saisi d'une date ou d'un nombre par exemple.

    La forme de cette saisie a été standardisée par la norme CUA d'IBM (Common User Access) dont le nom reflète bien que l'utilisateur n'a pas besoin d'avoir une connaissance avancée du fonctionnement de l'ordinateur (comme avec les nombreuses commandes des éditeurs de texte comme vi ou emacs).

    L'avantage de l'écran contrôlé est sa simplicité d'utilisation le rendant accessible au plus grand nombre immédiatement.
    Ses inconvénients sont que la liberté d'évolution est grandement réduite et nécessite l'intervention d'un programmeur et aussi le fait que l'espace de saisie/affichage est réduit par l'encombrement des contrôles de saisie.
    (une grande proportion de la surface est utilisée pour signifier le type de contrôle auquel on a affaire.

    L'avantage de l'éditeur est la liberté d'action et l'espace de saisie : tout l'espace de travail est entièrement disponible pour saisir du texte, donc de l'information utile et il n'y a pas de limite à la créativité donc au dynamisme puisque l'utilisateur est aussi le programmeur.

    L'inconvénient de l'éditeur est le mauvais côté de son avantage, la liberté qui fait que l'on peut faire n'importe quoi et que rien ne nous dirige.

    Dans le cas de la saisie contrôlée, il semble que l'on ne puisse réduire les inconvénients: ils sont structurels et par conséquent cette branche de la bifurcation qui ne peut évoluer est donc du point de vue darwinien vouée à la disparition.

    Dans le cas de l'éditeur, l'analyse syntaxique du texte par des programmes compense le manque de contrôle.

    Les analyseurs font respecter les règles syntaxiques qui assurent l'intégrité du texte.

    Le programmeur développe les analyseurs qui l'assiste ensuite dans son travail créant un cercle vertueux dont on ne voit pas la limite.

    Un analyseur est équivalent à de l'information organisée - ce qui veut dire très exactement : mise en organe.

    L'organe fonctionnant de manière autonome, il peut être activé par le programmeur à la demande, être ordonnancé, ou finalement être intégré dans une boucle infini (dynamisme physiologique) par programmation événementielle d'un automate à états finis.