Translated by machine, translation sugggestions are welcome.
Auteur: Asher Wolfstein
Publié sous l’égide de l’Université University of Neo-Transylvania Experimental Research
Cette série abordera un défi architectural fondamental dans la théorie des systèmes computationnels modernes: le phénomène largement accepté, voire attendu, selon lequel un artefact, un modèle, une interface ou une machine agit comme une représentation d’une entité située dans un contexte sémantique distinct. Cependant, la justification de cette autorité ne découle pas intrinsèquement du système lui-même, mais plutôt la relation qui lui confère cette autorité demeure externe au système résultant, et ne peut être accessible qu’à travers des métadonnées auxiliaires ou des connaissances institutionnelles, ou se réduit à un ensemble de distinctions insuffisantes pour reproduire le processus ultérieur.
La gestation sous verre peut prendre différentes formes, comme l’attribution de l’autorité de représenter, l’attribution du rôle de mandataire, l’attribution du pouvoir d’agir comme représentant, l’agrément de servir de témoin ou d’intermédiaire, ou encore l’attribution de la responsabilité de recueillir ou de reproduire l’élément original.
La signification de la traduction.
Tout au long de cette série, la traduction fait référence à un processus utilitaire qui permet à des descriptions représentatives hétérogènes, mais canoniques, de remplacer des processus plus détaillés et sémantiquement distincts, de manière non-monotone, rappelant une sorte de menagerie. Cela peut se produire par conversion représentative, élaboration sémantique, substitution opérationnelle, approximation, résolution, projection, dissimulation, interprétation, ou réalisation.
Le lecteur remarquera que le titre de cette série porte sur des abstractions qui « échouent », et non sur toutes les abstractions qui « échouent ».
Dans cette perspective intellectuelle, je ne prétends pas que toute abstraction est défectueuse. Si c’était le cas, les opportunités proposées pour une extension responsable seraient également vouées à l’échec. Les techniques d’abstraction constituent le moyen essentiel pour rendre les logiciels analysables, portables, efficaces, modulaires et, en général, utilisables.
Les techniques d’abstraction sont essentielles dans les tentatives humaines pour interagir avec leurs machines puissantes, car les ordinateurs sont capables d’effectuer des calculs avec une plus grande précision que le cerveau humain. Il est donc uniquement grâce à ces abstractions que nous pouvons manipuler l’ordinateur pour qu’il réalise des opérations, allant des mathématiques simples à l’algèbre complexe, et des instructions de bas niveau à celles de haut niveau. Parmi ces abstractions mathématiques, on retrouve l’arithmétique binaire, les nombres à virgule flottante et les algorithmes logiques.
Et cette abstraction persiste au-delà des implémentations matérielles. Les langages de programmation, les compilateurs et les systèmes d’exploitation, autant d’abstractions, permettent au programmeur de configurer l’ordinateur avec plus de facilité. En effet, il appartient au programmeur de façonner cet outil de calcul afin de pouvoir traiter des algorithmes beaucoup plus complexes et des quantités massives de données, au-delà des limites du cerveau humain.
Grâce aux abstractions, il devient possible pour les programmeurs d’encoder des exigences complexes, telles que l’analyse cryptographique, la modélisation de prévisions météorologiques et la simulation de systèmes quantiques, qui nécessitent une précision et une vitesse extrêmes. Une telle vitesse, en particulier, reste hors de portée, même pour les cerveaux biologiques les plus complexes et les plus actifs.
Le problème central de cette série est à la fois spécifique et vaste: l’abstraction basée sur la traduction dévalorise le sens lorsque la traduction devient une interprétation dominante, malgré le fait que ses supports, ses pertes, son contexte ou ses effets ne soient plus représentés avec suffisamment de précision pour justifier l’identité, l’équivalence, l’exhaustivité ou la capacité illustrative qui lui sont attribuées.
Il ne faut pas affirmer que cette nouvelle perspective n’est pas utile, car elle peut considérablement élargir les capacités d’expression pour les programmeurs compétents. Le terme « compétents » est ici essentiel, car l’inverse est également vrai: lorsque le contexte sémantique et le domaine d’expertise sont perdus, la personne qui étudie la matière – qu’il s’agisse d’un étudiant, d’un débogueur ou d’un auditeur – trouve de plus en plus difficile de percer le voile opaque que les abstractions « imparfaites » créent.
Par conséquent, comprendre, vérifier, ou interagir de manière significative avec le système devient une tâche ardue pour toute personne qui ne possède pas de connaissances spécialisées, souvent implicites, concernant le contexte d’origine.
La signification du contexte sémantique
De plus, dans cette série, le contexte sémantique fait référence au domaine de signification cohérent ou à l’ensemble de règles dans lequel les concepts, les opérations et les significations sont régis, par exemple, les différences entre la manière dont les formulaires sont perçus par les utilisateurs et les structures de mémoire internes qui les permettent. Bien que similaire, cet usage spécifique est intentionnellement plus large que d’autres termes courants, tels que « domaine sémantique », utilisés en sémantique dénotationnelle pour désigner les objets mathématiques représentant les significations des programmes, ou encore « contexte opérationnel », qui mettent l’accent sur les conditions environnementales et spécifiques à l’exécution.
Par exemple, dans une chaîne de compilation typique, l’arbre de syntaxe abstraite est intégré dans le contexte sémantique des éléments présentés à l’utilisateur. En revanche, la représentation intermédiaire générée se situe dans le contexte sémantique des primitives d’exécution cibles. Le processus d’autorisation d’un nœud de représentation intermédiaire pour représenter une expression au niveau source dépend non seulement des règles de traduction formelles, mais également de l’espace logique de différenciation: quelles distinctions par rapport au contexte source sont conservées ou réduites.
Il est vrai de dire que le statut ontologique des contextes sémantiques demeure, dans une certaine mesure, une question ouverte:
- Les contextes sémantiques constituent -ils des divisions métaphysiques? Les couches d’abstraction qui apparaissent sont -elles des réalités inévitables, existant indépendamment de notre compréhension intellectuelle? Ou bien,
- Les contextes sémantiques sont -ils uniquement des instruments conceptuels, utiles pour organiser et raisonner sur des systèmes arbitraires?
Dans le cadre de l’architecture computationnelle et de l’ingénierie logicielle, ma perspective repose sur l’utilité des contextes sémantiques, qui résident dans leur capacité explicative et organisationnelle. À mon avis, toute adhésion à leur réalité métaphysique fondamentale ne produirait, selon moi, que très peu de résultats, raison pour laquelle je ne m’y engage pas.
En mettant l’accent sur l’idée d’un contexte sémantique, comme je l’ai fait ici, je serai en mesure d’unifier des situations où la signification, les règles et le droit de représentation sont situés dans l’esprit, mais ne sont pas nécessairement définis de manière mathématique.
Dans un certain sens, je me définirais comme un philosophe axé sur les instruments, qui considère les contextes comme un outil pragmatique permettant d’organiser des schémas de signification et d’autorité stables dans le domaine du logiciel, sans considérer leur séparation comme une réalité objective.
Une telle attitude face à cette question correspond à l’approche de la sémantique et de la langue utilisée par David Bohm dans « La Rhéomode », dans son ouvrage « Wholeness and the Implicate Order » (1980). Comme prévu, ce livre est l’un de mes préférés sur ce sujet. Selon Bohm, les distinctions que nous observons dans le monde physique ne sont pas intrinsèques aux choses, mais sont des projections de notre esprit, déterminées par la langue que nous utilisons et la manière dont nous pensons.
Par exemple, nous pourrions diviser la population mondiale en « personnes bonnes » et « personnes mauvaises ». Cependant, la question essentielle est celle du critère utilisé. Puisque tout jugement de valeur, qu’il s’agisse du bien ou du mal, du positif ou du négatif, repose uniquement sur l’interprétation consciente et non sur une qualité intrinsèque, il est très facile de constater que cette division large et binaire est purement influencée par la personnalité. En réalité, nous pouvons observer cela dans toute structure politique ou argument qui établit une distinction entre « nous » et « eux ».
En adoptant une conception inclusive du contexte sémantique, je veux dire que les systèmes logiciels peuvent contenir divers domaines ou représentations qui semblent avoir des limites strictes, mais même au sein d’une seule couche, ils restent fortement interconnectés. Tout comme chez Bohm, toute séparation est simplement un produit abstrait de l’esprit humain.
Bien que les mécanismes des institutions et des conventions soient souvent mis en avant lors de l’établissement de l’autorité dans les systèmes logiciels, la légitimité sémantique doit finalement reposer sur un accord objectif entre le comportement et la spécification, sur des relations vérifiables entre les représentations dans différents contextes, ou sur une justification de la traduction accessible à des auditeurs indépendants.
Bien que cela puisse sembler inhabituel dans une telle série, cette discussion touche aux questions philosophiques relatives au sens et à la représentation, notamment celles concernant la référence et l’autorité, telles qu’elles sont soulevées par des philosophes comme Frege, Kripke et Wittgenstein.
- La distinction que Frege a établie entre le sens (Sinn) et la référence (Bedeutung) a posé les bases pour des éclairages essentiels sur la manière dont le langage communique un sens et fait référence à des objets dans la réalité.
- La théorie de la référence de Kripke, fondée sur le concept de causalité, critique les approches descriptives en mettant l’accent sur les liens historiques et sociaux entre les mots et leurs référents.
- Wittgenstein, notamment dans ses œuvres ultérieures, a souligné l’importance de l’utilisation et de la pratique du langage comme jeux, lorsqu’il aborde les questions relatives au sens, ce qui illustre le rôle de l’usage et des conventions dans les questions de légitimité sémantique.
Ma série s’appuie sur la distinction entre les conceptions conventionnelles et les descriptions objectives du sens. J’espère ainsi explorer les arguments philosophiques analytiques concernant l’externalisme sémantique et la justification des affirmations relatives à la représentation, à travers des exemples concrets tirés de l’ingénierie logicielle, mais nous verrons bien si cela se concrétise.
La théorie externaliste du sens, développée par Hilary Putnam et Tyler Burge, soutient que la signification d’une expression est déterminée non seulement par les états internes et les conventions de l’agent ou du système, mais également par des facteurs externes, tels que l’environnement et la communauté linguistique. La question centrale est de savoir comment justifier l’autorité sémantique dans la représentation.
Un modèle informatique ou une abstraction devient-il une autorité en raison de sa convention, ou doit-il être fondé sur une relation objective avec ce qu’il représente?
L’analyse présentée dans cette série vise à clarifier non seulement la manière dont l’autorité est établie, que ce soit par des pratiques institutionnelles, des conventions techniques ou des représentations formelles, mais également les fondements éthiques sur lesquels cette autorité peut être justifiée. Cela devient une question éthique lorsqu’on considère la façon dont les machines informatiques et leur logiciel interagissent avec le monde et la société dans son ensemble.
En ce qui concerne l’ingénierie, cette approche a des conséquences concrètes. Tout d’abord, cela implique que les concepteurs doivent considérer ces contextes sémantiques comme des outils réels pour définir les interfaces, clarifier leurs limites, et raisonner sur le comportement des systèmes, plutôt que comme des hypothèses inévitables liées aux catégories ontologiques. En se concentrant sur les rôles organisationnels dans ces contextes, les ingénieurs peuvent adopter des abstractions flexibles adaptées aux besoins de différents domaines, documenter la répartition de l’autorité et des responsabilités, et rendre les frontières entre les représentations plus transparentes et accessibles.
Je soutiens que cette perspective proposée devrait influencer la manière dont les décisions sont prises concernant la formalisation des relations de traduction, le maintien de certaines distinctions, et la justification de la fiabilité des objets abstraits dans le cadre de la maintenance.
L’objectif principal de mon approche est d’éviter de fonder les affirmations de représentation sur des conventions ou des considérations pratiques, et, au contraire, de les ancrer dans des relations objectives de représentation. Je considère que ce processus constitue le choix éthique.
Dans le développement de logiciels, une telle approche consiste à définir clairement les relations entre les concepts abstraits et leurs manifestations concrètes, à établir un lien entre les concepts visibles par l’utilisateur et leurs implémentations, et, dans l’idéal, à démontrer empiriquement le comportement d’un système informatique particulier. En ancrant l’autorité de représentation dans des critères objectifs, tels que la transparence, la responsabilité et la testabilité, cette série plaide pour une approche plus robuste et fondée sur des principes du sens dans les systèmes informatiques.
Je crois que cette approche, que j’expose ci-dessous, tient compte à la fois de l’intérêt philosophique et de la pratique d’ingénierie.
Monotonicité sémantique guidée par le contenu.
Le cadre alternatif présenté tout au long de cette série est Bottom-Driven Semantic Monotonicity (la Monotonicité Sémantique Pilotée par le Fond).
L’argument central de cette approche repose sur l’observation que le principe fondamental sous-tendant l’abstraction n’est pas la transformation du référent en une forme facilement compréhensible pour la cognition, mais plutôt la différenciation et l’intégration: la découverte d’unités comparables, l’exclusion de leurs mesures distinctives, et la conservation de leurs identités comme base objective du concept, ce qui est rendu possible par leur simplicité.
Cette explication élégante de l’abstraction permet de construire un cadre d’intégration plus élaboré, sans substitution: l’ampleur de la raison introduit une nouvelle manière de comprendre les objets différenciés, tout en conservant leurs identités, leurs relations opérationnelles, et le chemin de preuves qui confère à l’abstraction son sens.
La solution proposée ici est la « Monotonicité Sémantique Basée sur le Contenu »: un cadre qui élimine les frontières de traduction en imposant toutes les sémantiques de niveau supérieur, qui résultent exclusivement d’extensions cohérentes d’une seule et unique Submachine. Dans ce système de pensée et de pratique d’ingénierie, chaque élément – syntaxique, sémantique ou lié au domaine – doit respecter les contraintes de cohérence imposées par l’identité opérationnelle de la Submachine. Je désigne cette règle de restriction comme la « Condition de Dominance » de la Submachine.
Il pourrait bien être possible qu’en considérant la machine de base comme un standard de référence, plutôt qu’un objet de réinterprétation, une toute nouvelle classe de systèmes computationnels devienne possible: des systèmes transparents, honnêtes et cohérents par conception.
Cependant, il faut tempérer un tel optimisme, qui ressemble à une simple description publicitaire, et conseiller au lecteur d’apprécier ces paysages avec attention, même s’ils sont particulièrement attrayants. Je préférerais qu’un futur chercheur explore les frontières encore peu connues, plutôt que de se téléporter dans cet espace nu.
Pour développer:
La machine inférieure, la Submachine, se caractérise par sa condition de domination, qui stipule que toute construction dominante doit être une extension spécifique et responsable de la Submachine: elle doit préserver les identités et comportements pertinents hérités.
Imaginez une pile de logiciels qui s’étend jusqu’au matériel interne de l’ordinateur. Chaque couche idéalement représente une augmentation de l’abstraction, réduisant ainsi la complexité pour l’utilisateur final. Lorsqu’un utilisateur clique sur un bouton dans un programme, l’appareil informatique envoie un signal aux composants chargés de gérer cette entrée. Ce signal est transmis entre différentes couches, chacune l’interprète et le réinterprète à des niveaux de contexte de plus en plus abstraits (et, par conséquent, en utilisant davantage d’instructions de machine) afin que l’appareil puisse produire un résultat compréhensible par l’utilisateur.
Une représentation concrète, axée uniquement sur la mise en œuvre, pourrait prendre la forme suivante:
souris → périphérique → processeur → code machine (← compilation ← code source) → script, éventuellement (par exemple, Python) → périphérique graphique → sortie à l’écran
Vous pouvez observer dans cette séquence qu’il y a un processus secondaire, où il est fort probable (dans la plupart des exemples) qu’un programmeur ait intervenu à un moment donné pour compiler une série de code source, écrit dans un langage de haut niveau, en un artefact exécutable. Ce processus secondaire illustre de manière exemplaire l’opacité du stack actuel: l’artefact exécutable seul ne révèle pas le code source original à l’utilisateur qui effectue l’audit.
Pour introduire ce concept, j’ai jusqu’à présent utilisé les termes « supérieur » et « inférieur », mais je ne les trouve pas les plus appropriés. Je préfère les termes « dominant » et « sub- ».
Vous avez peut-être remarqué une certaine confusion entre le concept de « couche » dans une pile logicielle et les machines réelles. Cela est dû à ma préférence pour utiliser le terme « machine » plutôt que « couche ».
J’ai découvert que ces préférences conduisent à une courbe d’apprentissage plus courte et à une utilisation plus facile lors de la formalisation du modèle en termes mathématiques. Par conséquent, on utilise les termes « Machine Dominante » et « Sous -machine » lorsqu’il s’agit des « couches supérieures » et des « couches inférieures ».
Il y a des raisons qui expliquent ces préférences, et la principale est que je ne décris pas un « ensemble de logiciels ». Comme vous le verrez, si le Submachine 0 correspond étroitement au matériel d’un hôte spécifique, alors ce que je décris en réalité est une « tour » opérationnelle, composée de machines de plus en plus abstraites.
Si chaque Machine Dominante agit comme une extension monotone d’une Submachine, grâce à sa condition de dominance, alors il en résulte que chaque Machine Dominante est également une Machine. La seule différence réside dans l’organisation ou la perspective de la Machine Dominante envers la Submachine, qu’on appelle également sa projection.
L’utilisation des termes « pile », « couche », « supérieur » et « inférieur » risque de faire appel aux connotations associées à ces termes, et d’induire le lecteur à aborder les limites des abstractions courantes avec ces références préconçues. Je souhaite éviter ainsi toute confusion.
Pendant près d’un siècle, la discipline de l’informatique a toléré un défaut évident, souvent négligé: la conviction que l’abstraction appropriée réduit la charge cognitive, et que cette réduction ne peut être réalisée qu’à travers la traduction.
Les langages de haut niveau sont traduits en formes intermédiaires, puis à nouveau en bytecode, et finalement en instructions machine qui ne ressemblent pratiquement pas aux modèles conceptuels qu’elles sont censées implémenter. On considère cela comme un sacrifice inévitable, et cela est tout à fait compréhensible, étant donné que les machines qui effectuent les calculs ne ressemblent pas du tout à nos propres méthodes de résolution de problèmes.
Il s’agit de dire que les ordinateurs ne « comprennent » pas, et ne comprennent pas, ce qu’ils font, mais plutôt que nous leur avons attribué des significations à des bits, puis à des octets, puis à des séquences d’octets, et ainsi de suite. Obtenir des résultats de ces machines de calcul nécessite des couches d’abstraction extrêmement complexes.
Sans l’attention et les soins appropriés, ce qui est compréhensible, chaque couche de cette structure devient un point de tension fragile, car chaque acte de traduction est une intervention cognitive qui implique une amputation. Le sens se disperse à travers les différentes couches, chacune offrant une interprétation (entièrement différente) du même processus, et la seule possibilité de découvrir son intégrité réside dans des outils sophistiqués et énigmatiques.
Cette série marque mon introduction à la remise en question de cette structure entière.
Dans mes explorations intellectuelles, j’ai constaté peu de contestations quant à l’acceptation de cette situation. Moi-même, j’ai été influencé par l’idée que la programmation assembleur était une « art sacré » maîtrisée uniquement par des programmeurs expérimentés, des ingénieurs matériels et des chercheurs universitaires, et cela était dû au fait que le compilateur, en tant que couche supérieure, semblait intrinsèquement obscur et difficile à comprendre.
Cependant, après avoir appris davantage sur le code machine, les compilateurs, les interprètes et les analyseurs, à travers un processus progressif d’acquisition, comme on l’entend souvent, j’ai réalisé qu’il n’était pas nécessaire que ce soit ainsi. Il suffit d’une analyse attentive et d’une volonté de remettre en question « ce qui fonctionne déjà ».
La base de mon système d’interprétation et de cadre d’ingénierie proposé, « Bottom- Drive Semantic Monotonicité », est simple: un système ne peut jamais produire de clarté lorsque la clarté n’est pas la principale préoccupation lors de sa conception.
Et il est vrai que le développement d’un modèle sémantique basé sur le concept de traduction implique que ce qui est vrai doit être déformé pour être utilisable, une expression qui rappelle l’interprétation célèbre de Kant: « l’on perçoit en se trompant ». Un tel modèle sémantique correspond à la position épistémologique de quelqu’un qui estime que son propre esprit ne peut être considéré comme fiable avant qu’un comité d’outils n’ait certifié sa validité.
Je ne suis pas intéressé par de tels systèmes.
Au lieu de construire des abstractions au -dessus de la machine et de les imposer de manière descendante via la compilation, nous construisons des abstractions à l’intérieur de la machine et permettons à celles-ci de se propager vers le haut, sans les déconnecter de leur origine. Dans ce cadre, les sémantiques dominantes sont limitées par la simple et absolue condition de dominance de la sous-machine. Autrement dit, elles doivent rester cohérentes avec le comportement de la sous-machine. Rien construit au-dessus ne doit contredire ce qui se trouve en dessous, tandis que rien qui émerge ne peut échapper aux contraintes fondamentales du substrat de base.
Le résultat est un système de contrôle dans lequel les abstractions peuvent librement s’agrandir, à condition de ne jamais violer la condition de dominance, qui découle de l’aveuglement de l’opérateur du Submachine.
Cette forme d’aveuglement métaphorique vis-à- vis du fonctionnement du Dominant n’est ni un défaut regrettable, ni une nécessité, mais une condition de conception: le Submachine n’a pas besoin de comprendre ce que font les Machines Dominantes; il suffit qu’il veille à maintenir la cohérence dans toutes les procédures qu’elles entreprennent.
Cela provoque une circulation du sens vers le haut de la tour, plutôt que vers le bas, car l’autorité est désormais située à la base, plutôt qu’elle ne résulte des caprices de l’utilisateur. L’illusion d’indépendance et d’autonomie que les programmeurs apprécient continuera d’exister uniquement parce que le Submachine 0 la permet, malgré son aveuglement.
D’un point de vue personnel, je dois reconnaître que ce cadre n’a pas été élaboré uniquement par intérêt académique. Il est plutôt né de la manière dont l’informatique moderne répartit la responsabilité entre une grande variété d’architectures, de compilateurs, d’interpréteurs et de parseurs, chacun étant confronté à une collection d’énormes problèmes, que je considère comme faisant partie d’une seule entité. Le résultat? Ma frustration face à cette complexité.
Mais quelle entité, et pourquoi ne pas s’adresser à celle-ci?
Dans la configuration traditionnelle, l’abstraction devient une manœuvre évasive, semblable à une équilibrée, et la traduction une sorte de sacrifice rituel en faveur de la clarté. Cependant, d’un point de vue philosophique, ce type d’abstraction (comme beaucoup d’autres) laisse à désirer. Je préférerais que mes systèmes restent clairs, rationnels, et qu’ils soient justifiables par leurs propres fondements. Si une abstraction vaut la peine d’être utilisée, elle ne devrait pas nécessiter de déformation pour être maintenue.
Le cadre présenté ici est mon effort pour éliminer cette distorsion.
En établissant une relation monotone entre les couches, où chaque nouveau domaine sémantique doit être une extension fidèle du niveau inférieur, nous parvenons à éliminer complètement la pile de compilation. L’analyse syntaxique cesse d’être un algorithme externe et devient une expression native du comportement de la machine. Les arbres de syntaxe abstraite deviennent des états de machine, et non des produits. Les constructions linguistiques ne sont plus interprétées; elles deviennent des configurations de la machine. L’exécution n’est plus une phase distincte, mais une traversée directe de la même structure sémantique continue.
En bref, nous remplaçons la traduction par l’émergence.
Au moins, c’est l’intention. Nous verrons si cela fonctionne, car je suis toujours en train de le travailler. Il s’agit simplement du premier jet que je suis prêt à partager publiquement.
Fondamentalement, cette proposition repose sur le principe épistémologique selon lequel l’autorité sémantique devrait être fondée sur des relations objectivement définissables, telles que des correspondances vérifiables et des obligations de projection explicites, plutôt que simplement sur les pratiques acceptées ou les conventions institutionnelles. Cette condition de primauté est cohérente avec, mais plus exigeante que, les modèles de justification utilisés dans les systèmes de vérification, et requiert une correspondance démontrable et vérifiable de manière indépendante, à travers différents contextes sémantiques.
Une approche sémantique d’une figure dominante ne suppose pas qu’elle possède une autorité intrinsèque simplement parce qu’elle peut créer une organisation ordonnée, comme cela peut être le cas dans d’autres contextes.
Il doit gagner le droit d’être obéi en démontrant une correspondance claire entre la machine dominante et les sous-machines qui la composent, en s’assurant que les affirmations concernant l’identité, le comportement et la signification reposent sur des relations démontrables plutôt que sur des conventions ou les besoins implicites du programmeur.
Il convient de souligner, dans le souci d’équité, que les éléments de provenance mentionnés ci-dessus ne sont pas gratuits. Dans les environnements à haute performance, la latence et les contraintes de ressources sont souvent très fortes, au point que la gestion explicite de la provenance et du suivi de l’origine pourrait représenter un coût qui dépasse les avantages d’une plus grande responsabilité.
Dans des systèmes simples, où les abstractions sont minimes et où les chaînes de commandement sont facilement maintenues, un tel suivi rigoureux peut s’avérer inutile ou redondant.
Cependant, ces deux préoccupations ne parviennent pas à appliquer ce cadre et cette pratique aux processus appropriés. Le code de production qui ne nécessite pas le type d’introspection que fournit la Monotonicité Sémantique Basée sur le Flux peut choisir de fonctionner « en production », éliminant ainsi les éléments inutiles qui restent extrêmement utiles pour le développement. Et les exécutables qui nécessitent cette introspection peuvent fragmenter et analyser des déclencheurs minimaux, tout en conservant un minimum de balises symboliques.
Cette série examinera les principales manières dont les abstractions traditionnelles transfèrent l’autorité sémantique d’une représentation, d’une interprétation ou d’une machine à une autre, et elle illustrera comment ces transferts peuvent masquer les preuves qui les soutiennent, imposer l’obligation de leur conservation à des tiers, et briser la continuité de l’identité et de l’action à travers les différentes couches computationnelles.
Mon intention est d’examiner divers concepts, notamment l’analyse syntaxique, la compilation, l’optimisation, ainsi que la sémantique dénotationnelle, la médiation d’exécution, les interfaces de programmation d’applications (dans une phase expérimentale!), et la sérialisation… bien entendu, tout cela reste très provisoire.
Mon plan est de réaliser une analyse des circonstances dans lesquelles l’abstraction traditionnelle conduit à une fragmentation sémantique, afin de préciser les erreurs architecturales que vise à corriger l’approche de la monotonicité sémantique axée sur le contenu, tout en minimisant les risques.
La Série, comme prévu provisoirement
- La traduction comme transfert d’autorité sémantique définira les trois principales familles de traduction, posera la question épistémologique du fondement, décrira le processus conventionnel des autorités, et introduira les modes d’échec qui seront étudiés tout au long de la série.
- La traduction source-à-source et la déconstruction (desugaring) prendront en compte la relation entre les formes apparentes, les langages fondamentaux, les extensions, les identités générées et les explications de la source.
- L’analyse de la production d’artefacts linguistiques examinera les manières dont les preuves initiales acquièrent une autorité lexicale et syntaxique, notamment en ce qui concerne l’ambiguïté, la récupération, les possibilités écartées, et le lien entre l’admission et l’exécution.
- La compilation et l’optimisation examineront les revendications relatives à la conservation, qui décrivent la traduction des opérations de haut niveau en instructions de bas niveau, ce qui peut entraîner des différences en termes de coût, de fiabilité et de comportement par rapport aux opérations au niveau source.
- L’étude de la représentation intermédiaire consistera à examiner la succession des représentations du compilateur, leurs invariants locaux, et les conditions dans lesquelles plusieurs vues utiles peuvent rester des représentations d’un même élément, plutôt que de devenir des identités de programmes distinctes.
- L’optimisation et la réécriture des programmes examineront la notion d’équivalence basée sur le contexte, ainsi que la manière dont un plan optimisé peut s’effacer lui-même et les contraintes d’observation qui l’ont initialement conduit.
- L’abstraction du bytecode et de la machine virtuelle considérera la machine virtuelle comme un environnement opérationnel, dont la portabilité et les services gérés nécessitent une relation explicite avec l’exécution physique.
- L’interprétation et la médiation en temps réel intégreront l’état d’évaluation, la répartition, l’allocation, les exceptions, la planification, et autres effets apparentement automatiques du temps d’exécution, au sein du compte sémantique.
- La réécriture « Just-in-Time » et la spécialisation guidée par des profils suivront des hypothèses, des variantes générées, l’invalidation et l’optimisation, à travers une machine dont l’implémentation active évolue au cours de l’exécution.
- « Linking, Chargement et Liaison dynamique examineront les réalités environnementales et les politiques de résolution, à travers lesquelles les noms symboliques acquièrent des fonctions opérationnelles. »
- L’étude de la substitution de machines examinera la relation entre un modèle opérationnel formellement avantageux et la machine réelle ou virtuelle qui le met en œuvre.
- La cartographie dénotationnelle prendra en compte les mathématiques du sens comme une description sémantique, qui peut être justifiée sans être parfaitement identique à l’exécution.
- L’interprétation abstraite et l’approximation permettront de distinguer la perte légitime, dans le cadre d’un contrat d’approximation déclaré, de la plus tardive négation des distinctions que l’analyse avait délibérément omises.
- L’évolution, passant de la spécification à la mise en œuvre, examinera comment les relations de cohérence « de haut en bas » peuvent s’adapter aux conditions matérielles qui ne figurent pas dans la spécification initiale.
- L’interprétation métacyclique, l’hébergement autonome et les piles de langages évalueront des systèmes réflexifs dont la portée explicative pourrait rester limitée au substrat qui les permet.
- L’encapsulation, les API et la dissimulation de l’information permettront de distinguer un accès limité de la dissimulation de la responsabilité, tout en respectant les exigences de confidentialité et de fonctionnalité.
- La sérialisation, les protocoles et la normalisation suivront l’identité, l’alias, l’ordre, l’origine et le contexte, en utilisant l’encodage et le décodage, à la fois lors du stockage ou sur les réseaux.
- Enfin, « De l’Abstraction Échouée à l’Extension Responsable » comparera ces méthodes selon des dimensions communes, soulignera le contraste formel, explorera une expression dans les deux architectures, prendra en compte les coûts et les limites, et présentera un audit réutilisable pour délimiter les frontières de l’abstraction.
À propos de la série en tant que telle
J’espère que les essais seront organisés de manière à ce que la première section sur le pipeline informatique fournisse des exemples pour les essais ultérieurs, qui traitent des questions formelles et institutionnelles, tout en permettant à chaque essai, axé sur une méthode particulière, d’établir sa propre terminologie et d’être compréhensible de manière autonome.
Les affirmations concernant des techniques établies sont formulées avec prudence, tandis que les reformulations monotones sont traitées comme des hypothèses d’ingénierie. Cette analyse est menée sans tenir compte des organisations traditionnelles, et les points de vue présentés ici représentent une position fondée et indépendante, plutôt qu’une adhésion à une autorité institutionnelle spécifique.
J’espère que ceci vous fera réfléchir!
Ceci est une idée que je développe depuis 10 mois, en privé, à l’abri de l’Internet. Malheureusement, cela a eu un impact négatif sur moi, car certaines personnes pensent avoir le droit de juger ma vie, uniquement sur la base de ce qui apparaît ou non sur Internet. Et, comme prévu, cette situation est insoutenable, du moins à mon avis, en ce qui concerne la manière correcte de procéder.
- Si je partage tout, je « violerai ma propre vie privée » (et je vous jure), et je donnerai à tout le monde dans le monde la possibilité de me harceler, étant donné que je suis, à mon insu, « leur offre une cible ».
- Si je ne mets en place que très peu de choses, voire rien, à part ce qui est absolument nécessaire et motivé par des influences extérieures, alors cela prouve que je suis obsédé par ces influences, que je n’ai pas d’amis, que je ne ressens pas le contact avec la nature, et que je suis un homme qui se replie sur la figure de Christ; je ne peux pas faire ça.
La réalité est quelque part entre les deux, et honnêtement, ce n’est pas très passionnant, comme c’est souvent le cas. Vous avez probablement vu toutes les réflexions que j’ai eues concernant la situation dans laquelle je me suis trouvée, sans mon consentement, depuis 19 mois, car j’ai partagé ces réflexions, sans toutefois fournir une analyse finale. Et il y en aura une, mais pas aujourd’hui.
Liana Kerzner a tendance à imaginer que la vie des autres tourne entièrement autour d’elle. Si elle paie mon mari pour qu’il travaille sur son jeu vidéo, alors il ne doit plus passer du temps le soir à discuter avec son propre mari sur la création informatique d’un membre de l’équipe, car, à mon avis, elle semble contrôler chaque aspect de sa vie.
Répondre directement à cette critique.
Si je publie des critiques, de l’humour sarcastique, de la colère et de la frustration, alors il faut conclure que ces sentiments sont devenus le seul et unique objet de ma vie, au détriment de tout le reste.
Bien, avec cette hospitalisation, je dois l’admettre, et l’ai déjà fait, il y avait un élément de préoccupation et d’implication obsessionnels, que je pense que Kerzner a intentionnellement amplifié pour créer du contenu. Je remarque que ses dernières intrigues se concentrent davantage sur des anciens harceleurs que sur de nouveaux, tout simplement. Et, comme je l’ai toujours écrit, je suppose que c’est parce que celui-ci est « sûr ».
Je ne dis pas ici que je suis un(e) harceleur(euse), mais je utilise simplement la terminologie de Liana pour décrire des conflits très banals et courants entre des adultes qui ne sont pas enclins au conflit, et qui prennent activement soin de leurs droits.
Je ne me sens pas en sécurité. (Dans le sens où Liana Kerzner ne considère pas mon discours comme « sûr » selon ses critères, et non pas que j’aie besoin d’un contrôle de bien-être de la part de Liana…)
*soupir*
La vérité, c’est que je travaille sur plusieurs projets depuis 10 mois, voire plus de 10 mois. *compte sur ses doigts *, en fait, je ne sais plus exactement combien de mois, mais j’ai l’habitude de dire 10.
Les données me le montreront à terme.
Cela comprend:
- Finalisation de l’émulateur TRS-80 Color Computer I/II/III que je développais dans Godot, en utilisant Godot Rust.
- Ce concept de monotonicité sémantique guidée par le fond.
- Concepts qui vont au -delà de celui-ci et qui nécessitent davantage de mise en œuvre, tels que…
- Le cadre du Fonctionnement Sémantique, qui mène à…
- Résolution dynamique (c’est une forme spécifique, d’où la capitalisation),
- Systèmes de « parsing » sans analyseurs, qui permettent d’utiliser des grammaires contextuelles plus universelles.
- Les systèmes de bases de données « sans lien », et même…
- Techniques de compression et de décompression basées sur une approche très différente concernant la manière d’interpréter les données stockées (du moins, à mes connaissances).
- et bien plus encore.
En réalité, j’ai une vie qui va au-delà des réseaux sociaux et d’Internet.
En fait, j’ai pratiquement cessé d’utiliser les réseaux sociaux traditionnels pour l’instant, et il est fort probable que je ne les relance pas. Je suis heureux de dire au revoir à Twitter/X, après qu’il ait finalement fini par devenir le véritable nid de tous les maux. Et je suis également content de dire adieu à BlueSky et à d’autres plateformes, car leurs politiques de modération et leur système semblent, en réalité, aider les abusés plutôt que de les empêcher.
Il s’agit simplement du fait que ma vie est particulièrement axée sur moi-même, car je possède un univers intérieur riche et vaste, constitué de pensées, de concepts, de souvenirs, d’émotions et de projets que je puise constamment.
Je veux dire, tout ça là-haut? C’est entièrement du « travail mental », c’est -à-dire que beaucoup de choses restent dans ma tête jusqu’à ce que je les exprime, et voilà! Il y a aussi du « travail informatique », où je mets en œuvre des éléments, notamment un moteur de jeu basé sur un « parseur », un prototype d’apprentissage automatique déterministe, et certaines fonctionnalités web, sur lesquelles je travaille toujours, mais en privé, pour l’instant.
Je n’apprécie pas l’idée de devoir tout faire « en public », devant une caméra, et de publier des mises à jour fragiles chaque semaine ou tous les quelques jours, car je n’ai aucune idée de ce que je vais faire à un moment donné.
Ce dernier phénomène est en partie la raison pour laquelle je n’ai pas fait partie de l’équipe de développement, ni même d’une collaboration discrète pour *Song of Sparklemuffin*. Cela n’est vraiment pas simplement une « fausseté » comme Kerzner pourrait l’exprimer (sans le terme « fausseté », qui semble trop dramatique à ses yeux). Son avocat m’a confirmé cela, et vous pouvez trouver davantage de preuves à mon soutien sur BossFightGame.com.
Moi: Regardez toute cette preuve et cette cohérence!
Liana: Si je dis que c’est un mensonge, alors c’est un mensonge, d’accord. Ce n’est pas dans ma nature de mentir, donc c’est la vérité. Faites-moi confiance, mec…
Personne absolument ridicule.
Trop de preuves sont une indication qu’on l’a planifié; trop peu de preuves sont une indication qu’on n’a rien et qu’on se contente de faire le beau, tout comme ne rien publier d’autre serait le signe d’une obsession de « personne brisée » et autodestructrice (Audrey), mais ne rien publier indique un manque de vie ou d’amis, malgré le fait que tout ne soit pas sur Internet… mais publier trop de choses risque de me faire assujettir à l’attention de tout le monde, alors que je dis « choisir de divulguer », comme Kerzner le fait, à peu près cinq fois par semaine.
C’est vraiment absurde, et honnêtement, ça ne vaut plus beaucoup de mon temps.
Je pense qu’elle est blessée à cause de cela.
Je le vois dans ses yeux, lorsqu’elle me permet d’observer les pensées de celui qui la déteste…
*Un coup*
Oh là là, désolé(e).
*hoche la tête*
J’ai un instant oublié pour qui je venais, et j’ai cru pouvoir être aussi talentueuse et perspicace qu’elle, Liana Kerzner, la lauréate de prix.
Liana, il faut absolument que tu parles d’Emily Schooley, car je ne vais surtout pas écrire à cette organisation obscure que je n’ai jamais entendue, située quelque part au Canada. Tu as reçu un prix de collecte de fonds, c’est bien. Moi aussi, j’ai reçu des prix, mais on sait tous qu’ils sont faux, non?
Le but de cette sarcasme mordant est de montrer que Liana Kerzner a toujours l’impression d’être au cœur de notre univers.
Je suppose que c’est une bonne chose quand les personnes marginalisées du monde acceptent leur situation.
Il est donc évident qu’il n’y a pas de calendrier précis pour cette série; chaque essai sera publié lorsque j’aurai eu le temps et la clarté nécessaires pour développer son argument de manière appropriée, bien que je sois véritablement enthousiaste à l’idée de poursuivre ce travail.
Je tiens également à être franc: maintenir un projet d’une telle ampleur peut s’avérer difficile lorsque tant l’écriture que son auteur se sentent entravés et difficiles à saisir.
Si vous jugez ce projet intéressant et que vous souhaitez l’encourager à se poursuivre, une contribution via Ko-fi serait un soutien précieux, ainsi qu’une satisfaction personnelle à savoir que ce travail a été apprécié, et que cet encouragement serait très motivant pour moi dans la création des prochains articles.
