{"id":142,"date":"2018-12-19T18:45:35","date_gmt":"2018-12-19T17:45:35","guid":{"rendered":"http:\/\/borgs.fr\/?p=142"},"modified":"2019-05-01T00:22:01","modified_gmt":"2019-04-30T22:22:01","slug":"newdevbehavior","status":"publish","type":"post","link":"http:\/\/borgs.fr\/?p=142","title":{"rendered":"NewDevBehavior"},"content":{"rendered":"<p>Une sp\u00e9cificit\u00e9 de la force \u00e9l\u00e9mentaire \u00e9lectromagn\u00e9tique induit des comportement que nous avons s\u00fbt mesurer et utiliser.<\/p>\n<p>Ces comportements permettent l&rsquo;apparition du principe de Diode (qui ne laisse passer le courant que dans un seul sens), puis si l&rsquo;on ajoute une seconde entr\u00e9e \u00e0 la diode cela devient un transistor&#8230; je simplifie volontairement. Un assemblage de transistors permet l&rsquo;\u00e9mergence des portes logiques et enfin l&rsquo;assemblage de portes logiques permet l&rsquo;\u00e9mergence de fonctions primitives.<\/p>\n<p>Ces fonctions peuvent \u00eatre divis\u00e9es en 3 cat\u00e9gories :<\/p>\n<ul>\n<li>les adresses<\/li>\n<li>les donn\u00e9es<\/li>\n<li>les op\u00e9rations<\/li>\n<\/ul>\n<p>Ces seuls outils sont n\u00e9cessaires au fonctionnement de l&rsquo;\u00e9cosyst\u00e8me informatique complet existant aujourd&rsquo;hui, car tous les autres concepts h\u00e9ritent de ces primitives. Une suite structur\u00e9e de ces \u00e9l\u00e9ments peut \u00eatre identifi\u00e9 comme une brique contributive. Ces briques pourront \u00eatre \u00e0 leurs tour utilis\u00e9es par d&rsquo;autres briques, cela s&rsquo;appelle l&rsquo;encapsulation. Ceci permet de consid\u00e9rer certaines briques comme \u00e9l\u00e9mentaires \u00e0 tout moment pour aider \u00e0 simplifier la mod\u00e9lisation d&rsquo;un outil plut\u00f4t que de repartir \u00e0 chaque fois de la base s\u00e9mantique physique primaire.<\/p>\n<p>C&rsquo;est le principal int\u00e9r\u00eat de la technologique informatique, en effet si l&rsquo;on devait reproduire chaque m\u00e9canique physique avant de pouvoir op\u00e9rer le moindre calcul arithm\u00e9tique m\u00eame de bas niveau, le chemin serait long.<br \/>\nAujourd&rsquo;hui nous sommes donc capable de d\u00e9crire des m\u00e9caniques utilisables rapidement et les briques \u00e9l\u00e9mentaires ne sont mises \u00e0 contribution que lorsque le processus est alors d\u00e9clench\u00e9.<\/p>\n<p>En revanche on observera que l\u2019int\u00e9r\u00eat pour les briques \u00e9l\u00e9mentaires diminue consid\u00e9rablement du fait qu&rsquo;elle soient tenues pour acquises et qu&rsquo;a moins d&rsquo;un profond bouleversement des structures de logiques elles n&rsquo;ont pas besoin d&rsquo;\u00eatre retravaill\u00e9es, d\u00e8s lors que leur utilit\u00e9e est fonctionnellement reconnue.<\/p>\n<p>Cependant se serait sans voir la fondation sur laquelle reposent ces primitives, si je m&rsquo;autorise un parall\u00e8le \u00e0 formuler en philosophie, je mentionnerai probablement le fonctionnalisme, qui dit entre autre &#8230; \u00abpeut importe le support sur lequel repose la fonction\u00bb<\/p>\n<p>Mais du coup le support choisi qui est \u00e0 l\u2019\u0153uvre dans les micro-processeurs ne sont que partiellement partag\u00e9, nous entendons peu de communaut\u00e9 qui en parle, m\u00eame si certains on put lire des articles et regarder des vid\u00e9os tr\u00e8s biens faites sur le net, et je remercie ceux qui ont fait ces efforts. Mais seules les briques \u00e9l\u00e9mentaires sont connues. Elles sont, d&rsquo;une certaine mani\u00e8re, notre bien commun issue de logiques humaines et il serait important voir imp\u00e9ratif des les prot\u00e9ger en tant que telles.<\/p>\n<p>Mais voila, pass\u00e9e cette barri\u00e8re de l&rsquo;\u00e9l\u00e9mentaire, le spectre s&rsquo;agrandit consid\u00e9rablement, la base de compr\u00e9hension ne se discute que dans de rares bureaux d&rsquo;experts.<\/p>\n<p>Par ailleurs, peut-\u00eatre est-il impensable que nos esprits soient en mesure de ma\u00eetriser int\u00e9gralement les processus depuis les primitives jusqu&rsquo;aux plus belles r\u00e9alisations d\u2019algorithme, r\u00e9alisme des images de synth\u00e8ses, apprentissage de r\u00e9seaux de neurones.<\/p>\n<p>J&rsquo;imagine que n&rsquo;est pas par hasard si nous organisons l&rsquo;information sous forme d&rsquo;encapsulation, car c&rsquo;est peut-\u00eatre un des m\u00e9canismes \u00e0 l\u2019\u0153uvre dans nos cerveaux.<\/p>\n<p>Or ces m\u00e9canismes et toute l&rsquo;intelligence qu&rsquo;ils h\u00e9bergent ne sont relat\u00e9es pour l&rsquo;instant que sous forme \u00e9crite et\/ou partiellement sous forme UML (A\u00efe, \u00e7\u00e0 y est j&rsquo;ai dit un gros mot)<\/p>\n<p>Tout cela pourrait para\u00eetre complexe ou r\u00e9barbatif, mais surtout sans int\u00e9r\u00eat car il s&rsquo;agit seulement de documenter les concepts physiquement impl\u00e9ment\u00e9 dans les programmes.<\/p>\n<p>Prises s\u00e9par\u00e9ments, chacune des notions sont abordable par tous, il suffit de se pencher sur ces pratiques pour comprendre pourquoi elles ont \u00e9merg\u00e9e et comment elles rendent service au quotidien. M\u00eame si nous ne devenons pas tous des d\u00e9veloppeurs ou des \u00e9lectros, nous devrions partager ce qui semble si naturel alors qu&rsquo;une part gigantesque de nos cong\u00e9n\u00e8res passe \u00e0 c\u00f4t\u00e9.<\/p>\n<p>\u00c9videmment, nous n&rsquo;avons pas besoin de savoir comment nous fonctionnons pour fonctionner et pourtant d&rsquo;une certaine mani\u00e8re c&rsquo;est un gage de libert\u00e9 qui se cache derri\u00e8re des rapports de force futurs.<\/p>\n<p>La gen\u00e8se de ces principes est absolument v\u00e9rifiable dans le cas des programmes informatiques on peut relativement bien admettre que ces techniques existent belles et bien, vu l&rsquo;usage que l&rsquo;on en fait et qu&rsquo;il y aurait \u00e9ventuellement un int\u00e9r\u00eat \u00e0 les \u00e9tudier comme une mati\u00e8re g\u00e9n\u00e9rale.<\/p>\n<p>Je revient donc \u00e0 mon sujet pour poser la question :<\/p>\n<p>Cela prendrait-il vraiment beaucoup de temps de recomposer la \u00ab\u00a0matrice\u00a0\u00bb informatique primitive (somme de processus physique) qui fournirait par exemple le premier niveau d&rsquo;instanciation d&rsquo;une cha\u00eene de caract\u00e8res.<\/p>\n<p>Prenons le probl\u00e8me \u00e0 l&rsquo;envers dans un premier temps, nous pouvons pratiquer l&rsquo;inverse d&rsquo;une mod\u00e9lisation puisque ces notions existent d\u00e9j\u00e0 et qu&rsquo;il nous suffit de d\u00e9crire le comment.<\/p>\n<p>Proposons la construction suivante commun\u00e9ment utilis\u00e9s lors d&rsquo;exemples simples :<\/p>\n<p>{var1:\u00a0\u00bbhello world\u00a0\u00bb}<\/p>\n<p>On dit que la variable var1 a pour valeur \u00ab\u00a0hello world\u00a0\u00bb<br \/>\nUne variable, c&rsquo;est un bloc de m\u00e9moire. Un bloc de m\u00e9moire n\u00e9cessite une adresse, une adresse c&rsquo;est un nombre, c&rsquo;est une position dans la m\u00e9moire, on utilisera le point 34869 de notre barrette de m\u00e9moire. On peut utiliser comme convention le @ pour d\u00e9signer que l&rsquo;on parle d&rsquo;une adresse<br \/>\nIl faudrait donc dire {var1:{@:34869, \u00ab\u00a0hello world\u00a0\u00bb}}<br \/>\nSauf que la machine ne comprends que des nombres, aussi, la notation \u00a0\u00bb signifie qu&rsquo;il y a un traitement.<\/p>\n<p>La donn\u00e9e, c&rsquo;est \u00ab\u00a0hello world\u00a0\u00bb, il y a encore un peu de travail avant de savoir concr\u00e8tement comment c&rsquo;est mod\u00e9lis\u00e9 par la machine, mais c&rsquo;est plut\u00f4t simple.<br \/>\nVoyons d\u00e9j\u00e0 comment se propage cette donn\u00e9e :<br \/>\n\u00ab\u00a0hello world\u00a0\u00bb c&rsquo;est une cha\u00eene de caract\u00e8re, dans l&rsquo;histoire de l&rsquo;informatique il y a eu plusieurs essai, mais pour simplifier admettons qu&rsquo;aujourd&rsquo;hui on utilise la table ASCII.<br \/>\nCette table ASCII associe \u00e0 chaque caract\u00e8re un nombre :<br \/>\n104=h, 101=e, 108=l, 111=o, etc&#8230;<br \/>\nCette table existe \u00abquelque-part\u00bb dans nos ordinateurs, c&rsquo;est donc identifi\u00e9 par une adresse et m\u00eame peut-\u00eatre qu&rsquo;on va pouvoir pr\u00e9ciser cette adresse pour la table enti\u00e8re, on s&rsquo;en doute, il y a du monde dans cette table, les caract\u00e8res minuscules mais aussi les majuscules et aussi les chiffres et un tas d&rsquo;autres choses qui nous int\u00e9ressent moins pour cet exemple mais qui sont tr\u00e8s utile et efficace dans certains cas, comme les sauts de lignes &#8230;<br \/>\nArriv\u00e9 \u00e0 la table ASCII qui a pour adresse (par exemple) 66536, cette table devrait pouvoir nous donner quelques indications sur son identit\u00e9 et la mani\u00e8re de l&rsquo;interroger, c&rsquo;est le r\u00f4le de l&rsquo;encodage, il y en a de tr\u00e8s nombreux, pour faire simple, c&rsquo;est la grille de lecture\/\u00e9criture de symboles pour la machine, ces symboles peuvent repr\u00e9senter absolument tout et n&rsquo;importe quoi&#8230; ASCII=@66536<\/p>\n<p>Bref, nous pourrions noter l&rsquo;\u00e9galit\u00e9 suivante :<\/p>\n<p>ASCII{@104} = {\u00ab\u00a0h\u00a0\u00bb:{type:char}}<\/p>\n<p>Le principe est \u00e0 appliquer sur chacune des lettres. Il faudra au final obtenir quelque chose que l&rsquo;on pourrait \u00e9crire {var1 :{string :{char :[\u00ab\u00a0h\u00a0\u00bb,\u00a0\u00bbe\u00a0\u00bb,\u00a0\u00bbl\u00a0\u00bb,\u00a0\u00bbl\u00a0\u00bb,\u00a0\u00bbo\u00a0\u00bb,&#8230;]}}}<\/p>\n<p>Il y a plusieurs points a observer et respecter&#8230;<br \/>\nIl est imperatif que les nouvelles creations tentent de reutiliser les briques des niveaux adapt\u00e9s les plus bas. Ceci dans le but de ne pas empiler des concepts equivalents qui pourraient exister sur des niveaux d&rsquo;encapsulation differents. Ou du moins que dans le moteur ou dans sa definition puissent y etre reper\u00e9es ces \u00e9quivalences.<\/p>\n<p>Reperons par des exemples simples<\/p>\n<p>{tata :{string:\u00a0\u00bbtata\u00a0\u00bb}}<br \/>\non dit que la variable tata a pour valeur \u00ab\u00a0tata\u00a0\u00bb<br \/>\nmais il faudrait dire que string est {tata :{string :{char :[\u00ab\u00a0t\u00a0\u00bb,\u00a0\u00bba\u00a0\u00bb,\u00a0\u00bbt\u00a0\u00bb,\u00a0\u00bba\u00a0\u00bb]}}}<br \/>\npuis on pourrait decendre plus loin en donnant une definition des \u00b4char&rsquo;<br \/>\nnous pourrions donner la representation suivante<br \/>\n{\u00ab\u00a0t\u00a0\u00bb :{char :{ascii(&lt;index&gt;), index:{decimal :116}}}}<br \/>\nquand aux chiffres ils existent surtout sous une forme binaire<br \/>\n{116 :{01110100}}<\/p>\n<p>Meme \u00e0 ce stade il y a des raccourcis du a mon manque de connaissances sur la couche \u00e9lectronique, car il fo ensuite passer du cot\u00e9 physique pour finaliser les definitions qui restent \u00ab\u00a0ascii() , decimal et enfin 01110100 la suite de pont de diode qui doit etre mise a contribution pour representer cette valeur binaire.<br \/>\nPar exemple la fonction ascii() doit permettre de rentrer dans les details sur la table ascii elle-meme car il faut bien qu&rsquo;elle existe quelque-part pour traduire des nombres en lettres.<br \/>\nEt de maniere generale tout ce qui possede un type de donnees est oppsable a un mecanisme permettant de le determiner et de conditionner son traitement.<br \/>\nCette notation serait donc incomplete :<br \/>\n{116 :{type :integer, value :{type :binary, value :[0,1,1,1,0,1,0,0]}}}<br \/>\nil faudrait definir integer&#8230;<br \/>\nSelon les langages il n&rsquo;a pas completement la m\u00eame definition, les seuls constantes, sans garantie, c&rsquo;est qu&rsquo;il s&rsquo;agit uniquement de nombres entiers ensuite qu&rsquo;il est cod\u00e9 en binaire sur 16 bits (voir 8) et que s&rsquo;il devait \u00eatre negatif il doit poss\u00e9der un bit de signe (- ou +)<br \/>\ndonc 17 bits en tout<br \/>\non pourrait donc avoir quelque chose comme \u00e7a :<\/p>\n<p>{integer :{value :{binary[16]}, sign :{binary[1]}}}<\/p>\n<p>Meme de cette facon il nous faut alors definir sign&#8230; et que dire de value qui semble si naturelle pour que je l&rsquo;utilise depuis le d\u00e9but sans rapeller le concept d&rsquo;adressage de la donn\u00e9e, on pourrait le representer par exemple comme suit :<br \/>\n{value :{@ :{type :binary, value:[0,0,1,0,1,0,1,1,1,0]}}}<br \/>\non voit bien la recursivite sur value qui n&rsquo;est pas resolu&#8230;<br \/>\nLe mecanisme d&rsquo;adressage est connu pour etre lier au principe de registres micro-processeurs&#8230;<br \/>\nun registre c&rsquo;est une adresse fixe, il est alors possible de d\u00e9poser dans une adresse fixe une valeur repr\u00e9sentant une adresse vers une valeur qui n&rsquo;est pas fixe. Et nous obtenons alors une fonction read() qui r\u00e9soudra pour une adresse donn\u00e9e &#8230; une valeur<\/p>\n<p>On a donc \u00e0 notre disposition:<\/p>\n<p>a :<\/p>\n<p>read() : {{value :{@ :{type :binary, value:[0,0,1,0,1,0,1,1,1,0]}}}}<\/p>\n<p>{integer :{value :{binary[16]}, sign :{binary[1]}}}<\/p>\n<p>Est-il necessaire de rapeller que l&rsquo;informatique est enti\u00e8rement fabriqu\u00e9e sur des concepts qui sont le resultat d&rsquo;adherences entre plusieurs personnes qui se sont mises d&rsquo;accord \u00e0 un instant pour permettre d&#8217;empiler d&rsquo;autres concepts par dessus.<\/p>\n<p>Pour ce que j&rsquo;en connais, on peut eventuellement transposer ce phenomene sur les math\u00e9matiques excepte que pour les math il est constamment necessaire de demontrer ses concepts avant que d&rsquo;autres veuillent seulement s&rsquo;interesser \u00e0 les utiliser. En informatique c&rsquo;est autre chose&#8230; Vous pouvez utiliser tellement de pratiques differentes, disponibles de suite, que vous allez verifier rapidement si cela fonctionne ou non.<br \/>\nEt ce langage ne ferait pas exception, il pourrait m\u00eame permettre a chacun de constituer une batterie de fonctions primaires de tr\u00e8s bas niveaux, cr\u00e9\u00e9 par des agencements totalement differents d&rsquo;une personne \u00e0 une autre. Cela peut etre aussi un pi\u00e8ge et rendre difficile et\/ou infonctionnels certaines t\u00e2ches que nous considerons comme acquises aujourd&rsquo;hui, car elles sont rendues possible par l&#8217;empilage des conventions etablies, sous forme de protocole de communication ou dans d&rsquo;autres contextes appel\u00e9s driver.<br \/>\nCependant, avec un tel langage, serait rendu possible la lecture du programme en m\u00eame temps que l&rsquo;execution, en m\u00eame temps que la modification, d&rsquo;autres langages le font dej\u00e0, mais jamais le spectre de l&rsquo;encapsulation n&rsquo;aura-t-il \u00e9t\u00e9 parcourus aussi profondemment. Vous possederiez aussi bien la puissance d&rsquo;un langage comme l&rsquo;assembleur ou des premiers compilateurs, en passant par la gestion d&rsquo;\u00e9v\u00e9nements, de classes puis les notions de design pattern ou d&rsquo;agent, jusqu&rsquo;aux<\/p>\n<p>Ceci pourra \u00eatre considerer comme un espace de cumul des libert\u00e9s inalt\u00e9rables bien que perilleux (dangereux meme en terme de cracking), pourra en fait devenir un formidable terrain d&rsquo;echange, c&rsquo;est l&rsquo;open source pouss\u00e9 jusqu&rsquo;au niveau physique (theorique certe, mais il est envisageable de mapp\u00e9 ce langage sur des architechtures physique r\u00e9els)<\/p>\n<p>Bref on voit qu&rsquo;il y a beaucoup de notions \u00e0 aborder et de travail d&rsquo;\u00e9criture \u00e0 realiser.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Une sp\u00e9cificit\u00e9 de la force \u00e9l\u00e9mentaire \u00e9lectromagn\u00e9tique induit des comportement que nous avons s\u00fbt mesurer et utiliser. Ces comportements permettent l&rsquo;apparition du principe de Diode (qui ne laisse passer le courant que dans un seul sens), puis si l&rsquo;on ajoute une seconde entr\u00e9e \u00e0 la diode cela devient un transistor&#8230; je simplifie volontairement. Un assemblage &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/borgs.fr\/?p=142\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;NewDevBehavior&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/borgs.fr\/index.php?rest_route=\/wp\/v2\/posts\/142"}],"collection":[{"href":"http:\/\/borgs.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/borgs.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/borgs.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/borgs.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=142"}],"version-history":[{"count":8,"href":"http:\/\/borgs.fr\/index.php?rest_route=\/wp\/v2\/posts\/142\/revisions"}],"predecessor-version":[{"id":249,"href":"http:\/\/borgs.fr\/index.php?rest_route=\/wp\/v2\/posts\/142\/revisions\/249"}],"wp:attachment":[{"href":"http:\/\/borgs.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/borgs.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=142"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/borgs.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}