Je suis tombé sur ce beau texte (sous la coupe) dans le livre de Vernor Wing " Depth in the Sky ". Le fragment m'a tellement impressionné que j'ai décidé de partager mes pensées avec le public. Vous ne voyez pas souvent une étude similaire de la question dans la fiction. À certains endroits, le texte semble un peu ... prothétique, mais c'est peut-être le résultat d'une mauvaise traduction. En fait, le texte est assez réfléchi.En lisant, je me suis souvenu d' Edsger Dijkstra avec sa célèbre phrase: «Je prie jour et nuit pour qu'autant de mes collègues programmeurs que possible puissent trouver un moyen de briser le fléau de la compatibilité»(«Je prie quotidiennement pour que davantage de mes collègues programmeurs trouvent les moyens de se libérer de la malédiction de la compatibilité») du livre The Humble Programmer (1972 sic !!!). Et plus tard, Eric Raymond avec sa cathédrale et son bazar (1997). Mais le texte de Vinge ne concerne pas seulement la malédiction de la compatibilité, une couche entière de questions a été soulevée (et généralement laissée sans réponse) sur trois pages:- Le problème de la compatibilité au sens large;
- Le problème de la prise en charge de l'ancien code;
- Le problème de la dépendance de la vie humaine "vis-à-vis des robots insensibles" (c), auquel nous nous approchons rapidement;
- Le problème du data mining en général et de la recherche d'une solution toute faite dans le baril sans fond de recettes en particulier (github, stack overflow?);
- Le problème de la «réécriture» de l'ancien code (à la fois mauvais et bon) - je veux juste relire ce moment :);
- -. , , . ( ) , ;
- , , . , , backdoor` , .
- … :)
On a l'impression que cela a été écrit par une personne qui, dans sa peau, a ressenti ces mêmes problèmes.Je veux noter que «Depth in the Sky» a été écrit en 1999, alors qu'une grande partie de ce que Vinge écrivait n'était pas un problème, ou même apparaissait à l'horizon.En guise de critique, je voudrais noter que Vinj a passé l'IA (à la fois forte et faible, a couru du tout, n'a même pas touché les réseaux de neurones) et a réduit les avantages de l'informatique à la productivité. De plus, la présence de mégacorporations n'est pas ressentie dans le texte (bien que, bien sûr, «Depth in the Sky» ne s'applique pas au cyberpunk), à l'exception de Keng-Ho en tant que tel. Il n'y a pas de guerre des brevets, la question du droit d'auteur et le problème des développements propriétaires fermés, dont les codes sources n'ont pas été publiés, ne sont pas concernés.Pas sur la programmation, mais sur les normes. ? . , , . , , ? , ..? ( ?) . . , , , . , . , ?
. , . ?
Voici le passage le plus intéressant du texte. Le roman a encore beaucoup de choses intéressantes qui ne sont pas liées à la programmation, et ce n'est pas pour rien qu'il a récolté plusieurs prix. Je recommande donc de le lire, et dans l'original, la traduction que j'ai obtenue n'est pas très bonne.Bonne lecture :)"Bret, de quelles spécialités avons-nous le plus besoin?"Trinley haussa les épaules."Vous voulez dire lesquels nous donneront le plus de revenus?" Évidemment. Programmeur-archéologue.La question était: un enfant sauvage comme Fam Nuven peut-il en devenir un? Maintenant, le garçon pouvait utiliser presque n'importe quelle interface standard. Il avait déjà imaginé comment il serait programmeur, peut-être même capitaine de navire. A l'aide d'interfaces standards, il peut contrôler le vol Reprise, pénétrer sur des orbites planétaires, supporter des cercueils d'animation suspendus ...- Et ce qui est presque faux, et tu es un homme mort, un homme mort, un homme mort! - Alors Sura a mis fin à la liste des braves Fam. "Garçon, tu dois comprendre une chose." Ici, les enfants civilisés se trompent aussi souvent. Les ordinateurs et les programmes existent depuis le tout début de la civilisation, avant même les voyages dans l'espace. Mais ils ne peuvent que ce qu'ils peuvent. Ils ne seront pas en mesure de trouver un moyen de sortir de difficultés imprévues ou même de faire quelque chose de vraiment créatif."Eh bien, je sais que ce n'est pas vrai." J'ai joué à des jeux avec des voitures. Si je fixe un niveau élevé, je ne gagne jamais.- Parce que les ordinateurs font des choses simples très rapidement. C'est pourquoi ils jouent un rôle si important. Ils contiennent des programmes depuis plusieurs milliers d'années et presque tous peuvent s'exécuter. D'une certaine manière, ils se souviennent de toutes les astuces que l'humanité a jamais imaginées."Et tous les déchets", grogna Bret Trinley.Sura haussa les épaules."Bien sûr, la sienne." Pensez-y: combien d'équipage avons-nous - lorsque nous sommes dans le système et que tout est sur ses pieds?"Mille vingt-trois," répondit Pham. Il connaissait déjà depuis longtemps tous les paramètres de Reprise et de ce vol.- Bien. Imaginez maintenant que vous êtes originaire de toutes les civilisations depuis de nombreuses années-lumière ..."Qu'imaginer qu'il y a de la pure vérité", interrompit Trinley."... et quelque chose va mal." Pour construire un vaisseau spatial, vous avez besoin de milliers de dix spécialités humaines, et ceci sur une base industrielle capitale. Il est impossible pour l'équipage du navire de savoir tout ce qui est nécessaire pour analyser les spectres stellaires, pour créer un vaccin contre les souches sauvages chez les bactéries, pour comprendre toute maladie de carence métabolique que nous pouvons rencontrer.- Exactement! - s'est exclamé Fam. «C'est pourquoi nous avons des programmes et des ordinateurs.»"C'est pourquoi nous ne pouvons pas survivre sans eux." Pendant des milliers d'années, la mémoire de la machine a été remplie de programmes qui peuvent être utiles. Mais, comme Bret vient de le dire, bon nombre de ces programmes sont des mensonges, beaucoup contiennent des erreurs et seuls les programmes de niveau supérieur répondent exactement à nos besoins. - Elle s'est arrêtée et a regardé Fam de manière significative. - Et vous avez besoin d'une personne intelligente et très instruite pour regarder ce qui est disponible, pour sélectionner et modifier les programmes dont vous avez besoin et interpréter correctement les résultats.Fam est resté silencieux pendant une minute, se souvenant des moments où les voitures ne faisaient pas ce qu'il voulait vraiment. Et ce n'était pas toujours la faute de Fam. Les programmes qui tentaient de traduire du canberien vers Niz se sont avérés être des ordures."Alors ... tu veux que j'apprenne à programmer un peu mieux."Sura sourit et Bret réprima à peine un rire.- Nous serons heureux si vous devenez un bon programmeur, puis vous apprenez à utiliser ce qui est déjà là.Fam Nyuven a passé plusieurs années à apprendre à programmer et à rechercher. La programmation remonte au début des temps. Comme ce fumier derrière le château de mon père. Quand il a été lavé par un ruisseau de dix mètres de profondeur, le corps tordu de voitures - des machines volantes, comme l'ont dit les paysans, de ces grands jours de la colonisation de Canberra, ont été découverts. Mais ce fumier était propre et frais par rapport à ce qui se trouvait sur le réseau local Reprise. Il y avait des programmes écrits il y a cinq mille ans, alors que l'humanité n'avait pas encore quitté la Terre. Et le plus merveilleux (le plus terrible, comme l’a dit Sura) était que, contrairement aux débris inutiles du passé de Canberra, ces programmes fonctionnaient toujours! Et à travers un million de millions de volets hérités enchevêtrés, bon nombre des programmes les plus anciens étaient toujours en cours d'exécution dans le système Keng Ho. Par exemple,méthodes de suivi du temps pour les commerçants. Les corrections ont été incroyablement difficiles - mais tout en bas se trouvait un petit programme qui a conduit le compteur. Le système de Keng Ho a compté seconde par seconde à partir du moment où un pied d'homme a posé le pied sur la Lune de la Vieille Terre. Mais si vous regardez de plus près ... le moment initial était des millions de cent secondes plus tard; moment «zéro» de l'un des premiers systèmes d'exploitation informatiques de l'humanité.Cela signifie que sous toutes les interfaces de niveau supérieur sont des niveaux de support, une couche sur une couche. Certains de ces programmes ont été créés pour des situations complètement différentes. De temps en temps, l'inadéquation a donné lieu à des incidents mortels. Malgré la romance des vols spatiaux, le plus souvent, les catastrophes ont été causées par d'anciens programmes oubliés qui ont réussi à se venger."Nous devons réécrire tout cela", a déclaré Fam."Ils l'ont déjà fait", répondit Sura sans lever les yeux. Elle se préparait à quitter le quart de travail et au cours des quatre derniers jours, elle tentait de détecter un problème rencontré dans l'automatisation de l'animation suspendue."Ils ont essayé de le faire", la corrigea Bret en se tenant aux congélateurs. - Mais la quantité de code uniquement dans les systèmes navals du niveau supérieur est incroyable. Plantez-vous et mille autres personnes pour le reproduire, et vous travaillerez un siècle entier. Trinley sourit d'un air menaçant. "Et tu sais quoi?" Même si vous le faites, à la fin, vous aurez vos décalages. Et il n'y aura toujours pas de compatibilité avec toutes les applications dont nous avons besoin de temps en temps.Sura a quitté les programmes de débogage pendant une minute."Savez-vous comment ça s'appelle?" "Environnement de programmation mature." Lorsque l'équipement fonctionne déjà à sa limite finale et que les programmeurs écrivent du code depuis de nombreux siècles, vous arrivez au point où il y a un code plus significatif que n'importe qui peut lire. Ensuite, la meilleure chose que vous puissiez faire est de comprendre la structure générale des niveaux et de savoir comment rechercher des remèdes exotiques qui peuvent être pratiques - comme dans la situation que j'ai ici. Elle a mis la main sur le tableau de dépendance sur lequel elle travaillait. - Nous manquons de liquide de refroidissement pour les cercueils. Comme un million d'autres choses, le bon vieux Canberra ne pouvait pas être acheté. Eh bien, la solution évidente est de déplacer les cercueils vers le boîtier arrière et de les laisser refroidir par rayonnement direct.Pour soutenir une telle décision, nous n'avons pas l'équipement nécessaire - et donc je fais de l'archéologie récemment. Il semble qu'il y a cinq cents ans, cela s'est produit après la guerre dans le système Torma. Ils ont ensuite aveuglé exactement l'ensemble de contrôle de la température dont nous avons besoin."Presque la même chose", sourit encore Bret. - Avec des changements minimes."Oui, ce à quoi j'ai presque contribué." - Elle regarda Fam, vit l'expression sur son visage. - Ouais. Je pensais que tu préférais mourir plutôt que de mentir dans un cercueil.Fam sourit timidement, se souvenant de ce garçon il y a six ans.- Non, je vais m'allonger dans le cercueil. Un jour.Ce jour est venu après cinq ans de vie de Fam. Ce furent des années bien remplies. Bret et Sura étaient tous deux en dehors de la Watch, et Fam ne s'est pas approché de leur remplaçant. Ces quatre instruments de musique joués - manuellement, comme des ménestrels à la cour! À la fin, ils ont joué des kilosecondes entières d'affilée; il semblait qu'ils, en jouant ensemble, avaient atteint une sorte d'union mentale-sociale. Leur musique a en quelque sorte incompréhensible agi sur Fam, mais ces gens ont travaillé très dur pour obtenir des résultats très ordinaires. Fam n'aurait pas la patience même pour les premiers pas sur ce chemin, et il est parti. Être seul - il savait très bien. Il avait tellement de choses à apprendre.Plus il étudiait, plus il comprenait ce que Sura Vinh voulait dire par «environnement de programmation mature». Comparé aux membres d'équipage qu'il connaissait, Fam est devenu un programmeur exceptionnel. "Flaming genius", - alors il a décrit une fois Sura Vinh, pensant qu'il n'entendait pas. Il pourrait tout encoder, mais la vie est courte et presque tous les systèmes essentiels sont énormes. Et donc, Pham a appris à trouver des moyens de contourner ces léviathans du passé. Il savait comment accéder aux codes d'armes d'Eldritch Fury avec l'aide de planificateurs de temps coniques fixes avant l'exploration spatiale. Tout aussi important: il savait comment rechercher des applications potentiellement appropriées cachées sur le réseau du navire.... Et il a appris sur les environnements de programmation matures que Sura, en général, n'a pas dit. Lorsque les systèmes dépendent des systèmes ci-dessous, et ils dépendent encore plus anciens ... il devient impossible de savoir tout ce dont ces systèmes sont capables. Quelque part derrière l'automatisation de la flotte, il peut y avoir - il doit y avoir - un labyrinthe de mouvements et de pièges. Presque tous les auteurs sont morts depuis des milliers d'années; les approches qu'ils ont cachées ont été perdues à jamais. D'autres pièges ont été posés par des entreprises ou des gouvernements qui espéraient survivre au passage du temps. Sura, Bret, et peut-être quelques autres, connaissaient les systèmes Reprise de telle manière qu'ils bénéficiaient d'un pouvoir spécial.Le prince médiéval dans l'âme de Fam Nuven a été impressionné par cette découverte. Si un tel piège se trouve au fond d'un système populaire universel ... Si une telle nouvelle couche est utilisée partout, le propriétaire des mouvements et des pièges sera comme un roi.Vernor Winge, extrait du roman "Depth in the Sky", 1999