J'ai juste un doute sur les deux dernières lignes: commit et merge sont bien des fonctions prenant les 2 premiers éléments en paramètre et faisant un résultat du type du dernier élément ?
Plus ou moins. La réponse de barmic est plus proche de la vérité, et c'est effectivement une pratique courante en programmation fonctionnelle (connue sous le nom de curryfication). Si j'écris le type de commit avec des parenthèses, cela donne :
valcommit:patch->(state->state)
C'est une fonction qui prend un patch et retourne une fonction des états dans les états. Pour prendre une notation utilisée en mathématiques, il faudrait prendre la notation indicée. commit décrit une famille de fonctions indexées par des patchs. Ce qui correspond bien à ce qu'exprime le diagramme :
Les flèches entre sommets sont des transformations indexées par des patchs. Lorsque j'ai écrit :
A = commit p O
il faudrait lire (en rajoutant des parenthèses) :
A = (commit p) O
soit la fonction commit p appliquée à O, ou avec des indices :
De la même manière, une suite de fonctions des réels dans les réels a pour type nat -> real -> real.
Il y a bien une correspondance entre cette approche à la Curry et celle où les fonctions prennent un couple. Elle traduit cette égalité algébrique :
L'exponentiel de l'exponentiel est égale à l'exponentiel du produit. C'est liée à l'algèbre des types : là où le produit cartésien correspond au produit, le type des fonctions correspond à l'exponentiel.
Si un type A a 2 éléments et un type B a 3 éléments, alors le type A -> B a 3^2 = 9 éléments (A -> B = B ^ A).
Pour en revenir à la fonction commit, elle associe chaque patch à une fonction des états sur eux-mêmes. Lorsque l'on dit que l'on applique un patch, c'est un abus de langage, en réalité on applique la fonction associée au patch via commit. Et lorsque l'on dit que les patchs sont associatifs, c'est parce que la composition de fonctions est associative. En notant . la composition de fonction on a les égalités :
(commit r . commit q) . commit p
= commit r . (commit q . commit p)
= commit r . commit q . commit p
Ce qui revient à « appliquer » les patchs dans l'ordre p, q, r.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
⚠ Je ne te demande pas de me le réexpliquer avec d'autres mots, et surtout pas des termes mathématiques! ⚠
En complément du commentaire d'Adrien Dorsaz, je vais quand même essayer. Mais ne t'inquiète pas, ce sera des mathématiques simples : de l'arithmétique élémentaire avec les nombres entiers, et un peu de graphes.
Une image que j'aime bien et qui représente des historiques possibles d'un dépôt est celle-ci :
On peut résumer le cœur d'un gestionnaire de version à cette interface rudimentaire :
type patch
type state
val commit : patch -> state -> state
val merge : state -> state -> state
Il y a deux concepts : les patchs et les états, puis deux fonctions pour appliquer un patch sur un état ou fusionner deux états. Ainsi, sur le graphe du dessus, on a par exemple :
A = commit p O
M = merge A B
Plutôt que de travailler avec des fichiers et des répertoires, commençons plus simple et travaillons avec des entiers naturels. Les états (ou sommets du graphes) sont des entiers et les patchs sont aussi des entiers où la fonction de commit est la multiplication. Le graphe relie alors deux entiers s'ils sont multiples et l'arrếte est étiquetée par le coefficient multiplicateur. La fonction de fusion (merge) calcule le plus petit commun multiple.
On peut par exemple partir de l'état initial 1 et prendre pour les trois patchs du graphes les nombres suivants : p = 2, q = 3 et r = 7. Je remets le graphe :
On aura ainsi le sommet A = 2, le sommet B = 3 et leur fusion M = 6. Ce qu'exprime le graphe, c'est que quelque soit le chemin que l'on prenne pour fusionner ces trois patchs, on tombera toujours sur Q = 42. Cela parce que la multiplication est associative et commutative.
La première propriété (associativité) n'est pas satisfaite par les autres CVS : fusionner A et N ou bien fusionner M et C ne donnera pas toujours le même résultat. C'est cela qu'illustre ces deux schémas dans la documentation de pijul :
Ensuite, à la place des nombres entiers, on peut prendre un Rubik's cube. Ici les états seraient ceux du cube, et le patchs les transformations qu'on peut lu faire subir. Avec un tel système, on aura toujours l'associativité des transformations. Que je fasse p ; (q ; r) ou (p; q) ; r cela ne change pas grand chose et l'on dit que l'on a effectué ces trois transformations à la suite p; q; r, sans mettre de parenthèses. Par contre, sur un rubik's cube, deux patchs ne peuvent pas toujours être appliqués dans n'importe quel ordre, lorsqu'ils bougent des zones communes. Dans ce cas, on dit qu'ils ne commutent pas. Il en est de même avec les CVS : des fois ça commute, des fois ça ne commute pas; mais pijul est capable de déterminer si deux patchs commutent ce qui lui permet (non de réécrire l'historique) mais de réécrire le graphe de dépendance entre les patchs pour faciliter la gestion du dépôt : on peut supprimer facilement l'effet d'un patch sans toucher aux modifications qui lui sont postérieures et indépendantes.
Il reste un point à éclaircir : la représentation interne des conflits. Revenons au cas des nombres entiers ou la fonction de merge était le calcul de plus petit commun multiple. Et regardons, ce graphe :
Ici, nos sommets sont toujours des entiers, M est le ppcm de A et B et F est un multiple quelconque de A et B, mais aussi un multiple de M. Ce que fait pijul c'est généraliser cette notion de ppcm aux fichiers. Pour cela, on considère un fichier comme une liste de lignes. Malheureusement, il n'y a pas toujours de ppcm pour deux fichiers : c'est le signe d'un conflit lors d'une fusion.
La solution est de prendre un type plus riche que les liste pour les sommets du graphe : à savoir des graphes de lignes (dont les listes sont un cas particuliers). À ce moment là, deux graphes de lignes ont toujours un « ppcm » que l'on appelle leur fusion. Si ce graphe est similaire à une liste alors il n'y a pas de conflit sinon c'est qu'il y a conflit :
If the two following conditions are both met:
the graph is acyclic, and contains a path passing through all the vertices.
for each vertex v, all incoming edges of v have the same label ("alive" vs. "deleted").
Then the task of presenting the file to the user is relatively straightforward: just go along the path and output all alive vertices. Else, we say the file has a conflict, and presenting the state of the file to the user in an intelligible way is not obvious.
Comme pijul travail avec des états qui sont ces graphes de lignes, il a une représentation interne des conflits (des graphes qui ne sont pas des listes) et peut travailler sur eux comme il le ferait avec des fichiers normaux : on peut leur appliquer des patchs, les fusionner… et les aplatir vers des fichiers (résoudre les conflits) quand on veut.
D'une manière générale, j'aime bien ce principe : Theorise first then implement is the stairway to heaven. Implement first then theorise is the highway to hell. D'autant que Jimmy page était, sans nul doute ni contestation, bien plus fin et subtil qu'Angus Young. :-P
Comme pijul a choisi la première voie, c'est plus simple et plus naturel; les autres systèmes reposant sur une mauvaise analyse de l'algèbre des patchs et des états.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Je ne suis pas sûr de savoir ce que sont les graggle, j'imagine que c'est le graphe des lignes.
Oui c'est cela, c'est le nom que leur a donné Joe Neeman. J'avais lu ces articles de blog pour comprendre la théorie derrière pijul, sans avoir à me farcir les articles académiques.
Justement pas trop, parce que le renommage ne produit pas juste une liste.
Là je ne comprends pas trop. Il y a d'autres forme de graphes que les listes pour représenter un état sans conflit ?
Pour ce qui est du dictionnaire de renommage, pourquoi ne pas le mettre comme tag sur le patch ? En admettant qu'il soit facilement décidable à quel sous-type de patch on a affaire : pijul remarque que A propose un patch de renommage, de même que B, et il marque chacun des patch avec leur dictionnaire. Puis lors de la résolution de conflit, pijul spécifie la cause du conflit (conflit de renommage) et propose une solution spécifique : choisir les noms de A ou ceux de B.
Si j'ai bien compris l'idée des patchs sémantiques, le principe est d'avoir un type générique patch avec plusieurs sous-type (déplacement, renommage, indentation…). Le problème étant, en autre, de savoir s'il est facilement décidable de savoir à quel sous-type appartient un patch donné. Mais, si c'est le cas, l'information devrait être attachée au patch et non au graphe de ligne.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
encore une fois, que doit-on faire si Alice et Bob décident en parallèle de renommer la même variable avec deux noms différents ?
Il y a conflit ? Le merge est un graphe qui n'est pas une liste et il y a conflit à résoudre.
Si j'ai bien compris les principes derrière pijul, il y a au fond deux opérations primitives commit : patch -> graggle -> graggle et merge : graggle -> graggle -> graggle. Elles ont de bonnes propriétés algébriques, de telles sorte que le graphe ci-dessous commute :
Mais comme tu le dis dans un autre commentaire, pijul n'a pas besoin de patchs sémantiques pour fonctionner correctement. À la rigueur, cela pourrait être utile pour l'UI et fournir des informations plus détaillées à l'utilisateur lorsqu'il doit résoudre un conflit.
Dans le fond, ces patchs sémantiques sont juste une subdvision du type des patch (des sous-types) mais l'essentiel pour pijul c'est que ce soit des patchs. N'est-ce pas cela ? Dans ce cas, la seule chose que cela peut apporter serait d'ajouter des tags sur les patchs (comme les différentes variantes d'un type somme sont tagguées par un compilateur) et s'en servir pour adapter les messages au niveau de l'interface utilisateur, mais sans rien modifier sous le capot au niveau de la gestion des fusions et conflits.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Dans une économie de marché purement libérale (pas de socialisation de pertes, risque réel pour les prêts), un tel gonflement ne serait pas arrivé et on pourrait comparer une telle approche purement libérale par rapport à l'approche qui décapitalise le logement.
C'est là que j'ai du mal à te suivre. Tu admets qu'un des problèmes c'est l'intervention étatique sur le marché (qui déresponsabilise certains acteurs), et comme solution tu prônes encore plus d'État. Que les marchés puissent être défaillants, c'est certain, mais il y a une chose encore plus défaillante que les marchés : l'administration. L'école de Chicago :-)
En passant, tu demandes des sources à Nicolas Boulay dans un autre commentaire, tu les as dans le lien que te proposais barmic :
Pour remédier à cet état de fait, les auteurs de l'étude recommandent de "réfléchir à des politiques structurelles visant à augmenter l'élasticité de l'offre de logements" par la "simplification et l'accélération des procédures d'autorisation de construction dans un cadre juridique maîtrisé".
[…]
Pour le CAS, "les effets de l'inélasticité de l'offre peuvent être atténués par des politiques visant à favoriser une meilleure allocation du parc de logements". "Celle-ci passe notamment par une réduction des freins à la mobilité résidentielle: distorsions fiscales liées au traitement différentiel des propriétaires et des locataires, et coûts de transaction (droits de mutation)", propose le CAS.
Le problème reste bien celui d'une pénurie d'offre dans certains secteurs.
Sur tes tautologies, j'ai du mal avec la dernière :
« Capitaliser sur le logement, c'est capitaliser sur un bien et droit fondamental. »
J'ai toujours eu du mal avec cette notion de bien et droit fondamental. Quel sens lui donner ? Et quels sont les critères pour qualifier ainsi un bien et un droit ?
Je ne peux me représenter avoir un droit sans qu'autrui est un devoir en contrepartie (et réciproquement, en vertu du principe d'égalité juridique, autrui a ce droit et moi ce devoir), mais quel devoir mettre en face du droit fondamental au logement ?
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Je ne veux pas revenir sur l'ensemble de ton commentaire, mais il y a tout de même un passage qui m'a vraiment fait tiquer plus que les autres :
Pourquoi ne ressentons nous pas de mouvement (Et là c'est le pire: Galilée affirme que la mouvement de la terre est en fait la cause les marrées, alors que ça n'a rien à voir)
Là pour moi ce qui est pire est que tu omets totalement le cœur de la question et la solution fondamentale de Galilée. Sa réponse, c'est le principe d'invariance galiléen, autrement appelé principe de relativité restreinte par les physiciens. Ramener cela à la question des marées, c'est au pire de la mauvaise foi, au mieux de l'ignorance.
Il justifia ce principe dans son Dialogue sur les deux grands systèmes du monde à travers des expériences de pensée impliquant un homme enfermé dans sa cabine sur un bateau et qui, à partir des expériences qu'il y mène, ne peut constater le mouvement de son navire. C'est à partir de cela que Newton tira son Principe Fondamental de la Dynamique, et qu'Einstein développa encore plus dans ses deux théories de la relativité (qui est donc son homme enfermé dans sa cabine, pour qui inertie et gravité sont identiques dans leur principe, si ce n'est un lointain cousin du personnage de Galilée ?).
Ceci étant, dans son ouvrage, il y a effectivement un idiot du nom de Simplicio : celui qui s'attache avec acharnement aux principes de la physique d'Aristote et de sa théorie du mouvement.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
De mon point de vue, se baser sur un document comportant de telles erreurs [mathématiques] n'est pas pertinent, car il ne saurait être considéré comme une source fiable ou crédible.
Ah, mais je partage ton avis sur le document en question, et ce n'est pas que sur le plan mathématique qu'il est douteux, il l'est aussi : philosophiquement (philosophie du droit) et économiquement (du au premier point, mais aussi sur la partie historique en fin d'ouvrage). Seulement, en dehors de lui, je ne connais personne qui emploie le terme monnaie libre, il me semblait donc que c'était à cela que faisait référence El Titi et je répondais alors à la question de Marco.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
si on peut me définir une monnaie libre ça serait sympa aussi
Les principes de la monnaie libre sont présentés dans la théorie relative de la monnaie et pour la définition de monnaie libre c'est, plus particulièrement, ici.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Encore pour PPA, je peux comprendre, c'est un acronyme qui ne doit être compris et connu que dans certains milieux idéologiques. En revanche, pour celui-ci, cela relève de l'histoire de France : Conseil National de la Résistance. Bien qu'il fût initié par De Gaulle sous la direction de Jean Moulin, afin d'unifier les différents mouvements de résistance durant la seconde guerre, son programme politique de 1944 était très empreint de communisme (comme on peut le constater à la lecture des premiers articles sur la presse).
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Art. 1. La presse n’est pas un instrument de profit commercial, mais un instrument de culture ; sa mission est de donner des informations exactes, de défendre des idées, de servir la cause du progrès humain.
Intéressant article auquel je propose celui-ci en miroir :
Art. 1. La boulangerie, l'élevage et l'agriculture ne sont pas des instruments de profit commercial, mais des instruments d'alimentation ; leur mission est de donner de la nourriture de qualité, en quantité suffisante, de servir à la survie de l'espèce humaine.
Ce dernier étant, à mon sens, bien plus important que celui du CNR : à quoi sert de pouvoir s'informer si l'on n'est même pas assurer de survivre ?
Il faudra un jour que l'on m'explique ce qu'il y a de malsain, par principe, dans une relation commerciale.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Ça n'est pas parce qu'Indiana Jones ressemble comme deux gouttes d'eau à Harrison Ford
D'autant que, il est nécessaire de le rappeler, Indiana c'était le nom du chien ! Mais ils ont peut être pris aussi des images de chiens pour alimenter leur algorithme… :-D
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Ça doit venir de chez toi. Le lien de l'annonce pointe bien vers une annonce pour un poste de « gestionnaire projet informatique » à Malancourt-la-Montagne en Moselle.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Il est dans une superposition d'état quantique : le plus sûr, s'il s'approche de la frontière, c'est de tirer une balle et de voir comment se réduit sa fonction d'onde. :-P
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Je viens de voir que vous avez effacer son compte et supprimer certains de ses messages. Comme j'étais en train de rédiger un long commentaire pour exposer sa profonde ignorance au grand jour et que je ne veux pas avoir perdu du temps pour rien, je le mets quand même ici. Il pourra servir comme référence, au cas où il revienne avec un autre compte.
Voici une analyse de sa confiture que nous ne savons pas apprécier au sujet de l'article de Ken Thompson.
Le cas Ken Thompson
Alors que Ken Thompson reçoit le prix Turing en 1983 pour son œuvre, lors de son discours de remerciement, il présente le programme le plus malin (cutest)1 qu'il ait jamais écrit. Son discours est retranscrit sous forme d'article et publié dans un bulletin de l'ACM sous le titre Reflections on trusting trust.
Le programme en question est fortement lié au présent journal, puisqu'il consiste à corrompre un compilateur C dans la chaîne de bootstraping, de tel sorte que tout compilateur C qui lui succède introduise une porte dérobée dans le programme de login d'un système Unix.
Son exposé se décompose en trois étapes que nous présenterons brièvement dans ce qui suit.
Étape 1
La première étape consiste à écrire un programme qui, lorsqu'il s'exécute, reproduit son propre code source sur la sortie standard. Un tel programme est dit autoreproducteur. En voici un exemple minimal en OCaml :
(funx->Printf.printf"%s %S"xx)"(fun x -> Printf.printf \"%s %S\" x x)";;(* ci-dessous le retour de l'exécution, identique au code source *)(funx->Printf.printf"%s %S"xx)"(fun x -> Printf.printf \"%s %S\" x x)"
Étape 2
La seconde étape traite un problème posé dans un autre commentaire du journal par redo_fr : comment ajouter de nouvelles fonctionnalités à un langage en compilant le nouveau compilateur avec une version antérieure, qui ignore, donc, les nouvelles fonctionnalités ?
Il y traite un exemple simple avec l'interprétation des séquences d'échappement dans les chaînes de caractères. Il montre comment boostraper l'interprétation de la séquence \v comme une tabulation verticale. Ainsi, même si, à la génération N, la séquence \v n'est pas valide, à partir des générations N + 1 et suivantes, tous les compilateurs pourront l'utiliser dans leur propre code source.
Étape 3
C'est l'étape finale où il décrit comment introduire la porte dérobée sans laisser aucune trace dans le code source du compilateur.
Dans une représentation idéalisée du fonctionnement d'un compilateur, celui-ci lit le code source du programme puis applique une routine compile(s) sur les parties du code. Pour introduire une porte dérobée, on peut tester la correspondance de la fonction à compiler sur un motif donné et introduire dans ce cas compile(backdoor).
Le défaut de cette approche est que même une lecture superficielle du code source du compilateur risque de découvrir le pot aux roses, en voyant l'exécution conditionnelle de l'instruction compile(backdoor).
La solution consiste, alors, à combiner les techniques des deux premières étapes afin d'effacer la supercherie du code source du compilateur. À la génération N, on introduit la porte dérobée sous forme d'un programme autoreproducteur (étape 1), que l'on boostrape (étape 2), puis l'on distribue ce binaire comme compilateur C officiel qui reproduira son comportement dans toutes les générations successives.
Le lecteur intéressé par les détails de chaque étape pourra toujours se reporter à l'article de Ken Thompson.
Maintenant, chers lecteurs, attardons nous quelque peu sur l'analyse détaillée de cette succulente confiture gracieusement offerte par SamWang, que, nous autres, pauvres cochons, n'avons pas su éstimer à sa juste valeur. Ça vaut le détour ! :-)
La recension de SamWang
Lui, ô grand chasseurs devant l'éternel de coquilles, coquillages et autres crustacés, se propose de nous révéler quelques une de ses prises, suite à sa lecture du papier l'été dernier. Et quelles prises ! :-D
Avant cela, il tente un résumé de l'article qu'il semble n'avoir pas totalement saisi. Pour lui, l'article expose l'injection d'une porte dérobée dans la compilation du fichier login.c. Puis Ken Thompson mettrait ensuite « en garde contre le risque d'injection de code malveillant par un compilateur malveillant dans tout programme qu'il compile, y compris un compilateur ». J'espère que tout lecteur attentif de ma présentation aura compris que c'est un peu plus subtil que ça.
Passons, à présent, aux coquilles mineures relevées. Il en trouve deux :
inversion de légendes entre deux figures du papier ;
placement de figures dans la mauvaise section.
S'il y a bien inversion de légende entre deux figures (celles qui illustrent comment ajouter la séquence d'échappement \v au langage) et que tout lecteur attentif corrigera de lui-même, je suis au regret de lui apprendre que la seconde n'en est pas une.
SamWang ne devant pas être habitué à la lecture d'article académique, il a pris pour une coquille ce qui n'est rien d'autre qu'une mise en page, on ne peut plus classique, dans ce genre de papier. Les figures liées à la section 2 sont reportées en bas de page, qui, dans le cas présent où chaque page est en format deux colonnes, se trouve en bas de la seconde colonne. Cela lui donne l'illusion qu'elles sont insérées dans la section 3 dont le texte commence sur cette deuxième colonne.
C'est déjà quelque peu amusant, mais le plus beau reste à venir. Dans le fond, SamWang a une âme d'explorateur : il rêve d'une terre remplie de K-zino, avec son comparse zind dans sa logique LFC, inspirée des travaux de Rudolph Carnap, pour faire de la LNC. Malheureusement pour lui, depuis dix ans qu'il en parle, il ne navigue toujours par sur l'océan à la recherche de la terre promise. Nulle Santa Maria, ni même le moindre radeau, et tous ses bateaux semblent prendre l'eau. Alors, seul sur le rivage, admirant au loin l'horizon, il doit s'ennuyer un peu : il part donc à la pêche aux coquillages.
Et là, mazette, quelle récolte ! Ken Thompson ne sait même pas écrire correctement du C. Oui, vous avez bien lu : Ken Thompson est une bille en C, il ne sait pas écrire un programme de quelques lignes syntaxiquement valide, et en plus il propose ça en publication à l'ACM qui valide le tout. Mais dans quel monde vit-on ?
Voyons voir cette grossière erreur un peu plus à la loupe. Elle se trouve dans l'étape 1, lorsqu'il traite des programmes autoreproducteurs. Son code commence par la déclaration d'une chaîne de caractères :
chars[]={'t','0','\n','}',';'...}
Puis, dans la boucle principale, il parcourt cette chaîne pour l'imprimer caractère par caractère. Ni une, ni deux, SamWang arrive à la conclusion fatidique : si je commence par écrire cette séquence de caractère au tout début d'un fichier, je n'aurais pas un code source C valide. En conséquence, alors que le programme d'exemple devait afficher son propre code source, il affiche un texte qui n'est même pas valide en C. Quel escroc ce Ken Thompson ! encore un qui essaye de jouer au paralogisme, mais on n'échappe pas à la surveillance assidue du SamWang.
Rassurez vous, rien de tout cela dans le code de Ken Thompson, c'est juste que l'idiot de service à oublier de lire l'instruction qui précède la boucle for :
printf("char\ts[] = {\n");
C'est vrai que, finalement, il a un certain sens de l'humour notre SamWang : certes à ses dépends, mais c'est drôle quand même. :-)
Après, pour être tout a fait exact, son exemple n'est pas un programme autoreproducteur mais génère un tel programme. Il le précise lui même :
The purist will note that the programm is not precisly a self-reproducing programm, but will produce a self-reproducing programm
Ken Thompson
Ce qui est encore plus drôle (deuxième effet kiss cool) est que, à la toute fin de son commentaire, SamWang pointe un lien vers un vrai programme autoreproducteur « dans lequel le tableau de données est lu deux fois et interprété différemment les deux fois.[…] une solution bien astucieuse » (les mots sont de SamWang). Tout lecteur de bonne foi, comprenant le C, réalisera sans peine que cette solution astucieuse est identique, dans l'esprit, à celle de Ken Thompson.
Comme autre perle de sa pêche aux coquillages (heureusement que je sais ouvrir les huîtres), on trouvera celle-ci. S'interrogeant sur l'utilité de cette étape dans le corps de l'article, notre cher ami écrit, je cite :
Je suppose que s'il passe par cette étape, c'est pour justifier la possibilité, pour un compilateur malveillant, d'injecter sa malveillance en tant que code source ajouté au code source légitime qu'il compile. Bien que son propos manque d'articulation logique, je pense qu'on peut légitimement inférer ce que je viens de supposer.
SamWang au sommet de sa forme.
Je laisse le lecteur libre de juger à quel point l'étape 1 est cruciale pour l'étape 3 (d'après ma présentation), et si, dans son article, Ken Thompson ne le signale pas explicitement selon une articulation logique sans faille. Ce qui manque, assurément, d'articulation logique, ce sont les commentaires à ralonge de SamWang.
Arriver à ce stade, toute personne sensée, avec un minimum d'humilité, aurait du se dire : « j'ai du raté un truc » (en l'occurrence oui, à savoir, une ligne de code). Mais comme rien n'arrête notre SamWang, il va bien plus loin : par une réduction à l'infinie, il entend, dans un premier temps, nous convaincre que le problème que cherche à résoudre Ken Thompson n'a même pas de solution. Non seulement il ne peut toujours pas naviguer sur l'océan à la recherche de découverte pleine d'espérance, devant se contenter du rivage et de ses coquillages, mais le voilà maintenant chutant inexorablement dans le tonneau des danaïdes, ce puit sans fin dont il desespère de ne pas voir le fond.
Ce genre de problème de point fixe est on ne peut plus courant, mais il semble l'ignorer : étant donné une fonction f trouver une valeur x tel que f (x) = x ; où ici la fonction f, dont on cherche un point fixe, est la composée de deux autres f = run . compile, de telle sorte que l'on cherche source satisfaisant l'équation :
(run . compile) (source) = source
Il se met alors à chercher des contournements au défi, en assouplissant les contraintes, afin d'y arriver. Il envisage, par exemple, un programme qui ouvre son fichier source puis l'affiche, ce qui nécessite d'avoir toujours à disposition le code source d'un tel programme. Là où l'on voit qu'il n'a rien compris à l'article, étant donné que le compilateur compromis ne sera distribué que sous forme binaire tout en ayant la capacité de « parasiter » tous les futurs compilateurs qui
l'auront comme ancêtre.
Incompréhension totale de l'article confirmée par ce qui conclut cette partie du commentaire (qui constitue la moitié, en volume, du commentaire complet) :
Tout ceci étant exprimé, est-il impératif d'avoir une solution viable au défi pour que l'exposé de Ken Thomson tienne la route par ailleurs ? Ma réponse est non.
SamWang dans sa chute ne voyant toujours pas le fond
Assurément que si, c'est impératif ! comme je viens de le rappeler.
Enfin, nous touchons au sublime avec la conclusion du commentaire, où, sautant du coq à l'âne, dans une articulation logique à toute épreuve, l'on apprend dans la foulée de cette question-réponse que, si, finalement, on peut écrire des programmes autoreproducteurs et que l'on appelle cela des quine (en l'honneur du philosophe analytique William Quine, je précise). SamWang a donc passé la moitié de son commentaire à nous expliquer que c'est pas possible, pour, finalement, nous dire que c'est possible. Effectivement, ça valait le coup ! :-D
Non vraiment, je ne vois pas ce qui a bien pu m'amener à écrire :
Pour le reste tu passes ton temps à essayer d'employer des notions et des concepts auxquels tu n'entends absolument rien, et cela face à des personnes qui, elles, les comprennent.
et le voir me répondre :
Bing ! La formule magique, l'échappatoire à deux sous !
Ce qui précède doit bien apporter la preuve irréfragable de ce que j'avançais. Pour ce qui est de l'autre fil de discussion, ce n'est guère mieux, mais j'ai déjà assez perdu de temps comme cela pour devoir le justifier.
l'adjectif anglais cut, outre sa signification de mignon, peut aussi caractérisé quelque chose d'habile et d'ingénieux. En choisissant la traduction « malin », on retrouve le côté ingénieux d'un hack, ainsi que celui malveillant (par un jeu de mot) d'une attack. ;-) ↩
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Posté par kantien .
En réponse au journal Bootstrap Binary seed.
Évalué à 9.
Dernière modification le 08 février 2019 à 13:13.
j'ai sollicité la bienveillance d'un expert en science de la sagesse.
Tout d'abord mon domaine d'expertise est avant tout les mathématiques pure et la logique formelle, mais j'ai néanmoins une connaissance approfondie de la philosophie kantienne et une certaine érudition au sujet de la pensée philosophique.
Maintenant, je te le dis : tu es un parfait crétin doublé d'un malotru. Non, pour reprendre ton expression sur l'autre fil de discussion, qu'il n'est plus nécessaire de polluer, nous ne sommes pas en bonne compagnie ! On ne colle pas de quenelles pour sodomiser Kant à titre posthume ! Quand bien même on appelle cela de l'humour : ton sens de l'humour m'est parfaitement incompréhensible.
Ton problème principal de longueur dans tes textes n'est pas une pathologie (comme la logorrhée) mais tout simplement de la micrologie : c'est-à-dire de l'inutile précision dans les détails.
Pour le reste tu passes ton temps à essayer d'employer des notions et des concepts auxquels tu n'entends absolument rien, et cela face à des personnes qui, elles, les comprennent.
Au sujet de ton projet de LFC, tu devrais t'associer à Mr BG est son projet de C-Cool. Quand vous en serez à la phase de bootstrap, vous nous ferez un journal…
Faire des plans, c'est bien souvent se laisser aller à une activité intellectuelle ostentatoire et fanfaronne : on se donne une apparence de génie créateur en demandant ce qu'on n'est pas capable d'exécuter soi-même, en dénigrant ce que l'on est cependant incapable de surpasser et en prônant ce dont on ne saurait dire où le trouver.
Kant, prolégomènes à toute métaphysique future.
À l'avenir, ne prends pas la peine de répondre à mes commentaires en espérant que j'y réponde, tu y trouveras systématiquement la porte fermée. Considère notre canal de communication comme définitivement clos : je ne donne pas à manger aux cochons sans aucune éducation.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
T'as de la chance que je sois de bonne constitution et que je ne te traite pas d'idiot. Tu te rends compte que tu viens de traiter Kant d'être un auteur de paralogisme ? Ça te viendrait à l'idée en lisant un texte d'Einstein, où tu ne comprends pas bien un passage, d'en conclure qu'il a commis une grossière faute dans l'application des principes de la physique ? Non, parce que là c'est ce que tu viens de faire, sauf que la science en question, c'est la logique. ;-)
Avant de clarifier ton incompréhension (oui, la définition est bien tautologique), il me semble nécessaire de préciser un léger point. Kant était un philosophe allemand vivant en prusse orientale, dans la ville de Königsberg aujourd'hui en Pologne, il écrivait donc en allemand. Les lourdeurs de styles et les problèmes de syntaxes sont la faute du traducteur ! Bon, allez, je te donne la version que j'ai dans ma bibliothèque :
La liberté de droit (par suite extérieure) ne peut pas être définie, comme on a coutume de le faire, par l'autorisation de faire tout ce qu'on veut pourvu qu'on ne fasse pas de tort à autrui. Car que signifie autorisation ? La possibilité d'agir dans la mesure où l'on ne fait de tort à personne. Ainsi l'explication serait celle-ci : la liberté est la possibilité de l'action qui ne fait pas de tort à autrui. On ne fait de tort à personne (quoi qu'on fasse d'ailleurs) à condition de ne faire de tort à personne. Par suite, c'est une tautologie vide. — Il faut au contraire définir ma liberté extérieure (de droit) ainsi : elle est l'autorisation de n'obéir à aucune autre loi extérieure que celles auxquelles j'ai pu donner mon assentiment. — De même l'égalité extérieure (de droit) dans un État est le rapport des citoyens selon lequel personne ne peut obliger l'autre, de droit, sans que, en même temps, il ne se soumette à la loi qui peut l'obliger réciproquement et de la meilleure manière. (Le principe de la dépendance de droit qui se trouve déjà dans le concept d'une constitution d'État en général n'a pas besoin d'explications.)
Traduction par Jean-François Poirier et Françoise Proust.
La syntaxe de l'ensemble te sied-elle mieux ?
Maintenant, venons-en à l'analyse de la tautologie. Tu dois avoir un problème dans ton interpréteur du français. Commençons par un exemple simple, issu de l'interprétation de code dans un langage de programmation :
letdouble=(funx->x+x)(* Comment procéder à l'interprétation du terme suivant : *)double2(* on commence par substituer à `double` sa définition : *)(funx->x+x)2(* puis on remplace le paramètre formel par la valeur de l'argument *)2+2(* et on calcul *)4
Jusqu'ici tu suis ? Et bien, dans le texte de Kant, c'est la même chose : on substitue un terme par sa définition, comme dans le cas de double ci-dessus.
On commence par la définition courante de la liberté :
l'autorisation de faire tout ce qu'on veut pourvu qu'on ne fasse pas de tort à autrui
Puis comme pour double, on se demande : mais au fait c'est quoi la définition de autorisation ? Et l'on a :
la possibilité d'agir dans la mesure où l'on ne fait de tort à personne
Ensuite, on substitue. Là je le fait textuellement (ne viens pas te plaindre de la syntaxe qui n'est pas correcte en français) :
[la possibilité d'agir dans la mesure où l'on ne fait de tort à personne] de faire tout ce qu'on veut pourvu qu'on ne fasse pas de tort à autrui
ce qui, une fois qu'on redonne une forme syntaxiquement correcte en français, mais sans changer le sens (la sémantique), devient :
la liberté est la possibilité de l'action qui ne fait pas de tort à autrui. On ne fait de tort à personne (quoi qu'on fasse d'ailleurs) à condition de ne faire de tort à personne
C'est la mise en forme avec une syntaxe correcte et préservation de la sémantique qui te pose problème ? Dans la première phrase on retrouve la définition de autorisation, mais le défini (et donc sa définition) était soumis à la condition de ne faire de tort à personne (pourvu qu'on ne fasse pas de tort à autrui) et cela quoi que l'on fasse (faire tout ce qu'on veut) : d'où la deuxième phrase. Est-ce plus clair maintenant ?
Après ce préambule, quelque peu fastidieux pour une telle trivialité, jetons un œil à tes autres questions.
Non, si le savoir humain n'était assuré que par de tels principes, il n'en vaudrait pas rien pour autant. Imagine 1000 ans d'observations de tel phénomène menant à l'élaboration de telle loi jamais contredite par une quelconque observation, même sans le fondement de principes issus de sciences pures, ça conserve un intérêt (certes limité) pour se projeter dans l'avenir.
Bah ce que tu décris est notre situation bien réelle. Ce que je dis c'est que ces observations, qui forment un savoir objectif, n'est possible que par l'intervention de principes qui, eux, ne sont pas d'origine expérimentale. ;-) Sans ces principes purs nous n'aurions que des jugements de perceptions (à valeur subjective) et non des jugements d'expériences (à valeur objective). Mais, assurément, les jugement d'expériences ont également besoin d'une autre source que la seule pensée pure : à savoir les jugements de perceptions.
Des jugements empiriques, s’ils ont une valeur objective, sont des jugements d’expérience ; mais ceux qui n’ont qu’une valeur subjective sont de simples jugements de perception. Ceux-ci n’ont besoin d’aucune notion intellectuelle pure, mais seulement de la liaison logique de la perception en un sujet pensant. Ceux-là, au contraire, demandent toujours, indépendamment des représentations de l’intuition sensible, des notions particulières produites originairement dans l’entendement, qui donnent au jugement d’expérience sa valeur objective. […]
C’est ce que nous allons expliquer. Qu’une chambre soit chaude, que le sucre soit doux, l’absinthe amère, ce sont là des jugements d’une valeur purement subjective. Je ne demande pas de sentir toujours ainsi, ou que chacun sente comme je dois sentir. Ces jugements n’expriment qu’un rapport de deux sensations à un même sujet, moi-même, et moi seulement dans mon état actuel de perception, et ne valent par conséquent pas relativement à l’objet ; je les appelle donc des jugements perceptifs. Il en est tout autrement du jugement expérimental. Ce que l’expérience m’apprend dans certaines circonstances, elle doit me l’apprendre toujours et à chacun, et sa valeur ne se borne pas au sujet ou à son état du moment. J’énonce donc tous ces jugements comme objectivement valables, lors, par exemple, que je dis : L’air est élastique, ce jugement n’est immédiatement qu’un jugement de perception ; je rapporte deux sensations l’une à l’autre dans mes sens. Pour que je puisse l’appeler un jugement d’expérience, il faut que cette liaison soit soumise à une condition qui la rende universellement valable. Il faut donc que je sois toujours et que chacun soit comme moi dans la nécessité de faire cette liaison dans les mêmes circonstances. […]
Pour qu’il y ait expérience par perception il faut encore un jugement tout différent de celui-là. L’intuition donnée doit être subsumée à une notion qui détermine la forme du jugement en général par rapport à l’intuition, qui relie la conscience empirique de l’intuition en une seule conscience en général, et donne ainsi aux jugements empiriques une valeur universelle : cette notion est une notion intellectuelle pure a priori, propre seulement à déterminer la manière dont une intuition peut servir aux jugements. Soit donc la notion de cause ; elle détermine l’intuition qui lui est subsumée, par exemple celle d’air, par rapport à ce jugement en général, que la notion d’air, en ce qui regarde la dilatation, dans le rapport d’antécédent à conséquent, a son usage dans le jugement hypothétique. La notion de cause est donc une notion intellectuelle, entièrement différente de toute perception possible, et qui ne sert qu’à déterminer la représentation à elle soumise, par rapport au jugement en général, par conséquent à rendre possible un jugement d’une valeur universelle.
Il faut donc pour qu’il puisse y avoir jugement de l’expérience par un jugement de perception, que la perception soit subsumée à une notion intellectuelle, par exemple, l’air est soumis à la notion de cause, notion qui détermine comme hypothétique le jugement sur l’air par rapport à l’expansion. Et alors cette expansion n’est pas représentée comme appartenant simplement à ma perception de l’air dans mon état, ou dans plusieurs de mes états, ou dans l’état de la perception des autres, mais comme y appartenant nécessairement ; et ce jugement : L’air est élastique, devient d’une valeur universelle, et un jugement expérimental par le fait que certains jugements précèdent, qui subsument l’intuition de l’air à la notion de cause et d’effet, et déterminent ainsi les perceptions, non pas purement entre elles dans mon sujet, mais par rapport à la forme du jugement en général (ici la forme hypothétique), et donnent ainsi au jugement empirique une valeur universelle.
Si tu trouves des choses à redire dans la syntaxe, cette fois incrimine le traducteur et non Kant. ;-) Ici, il fait jouer la catégorie de la causalité (pur concept d'entendement) pour transformer un jugement de perception (à valeur subjective) en jugement d'expériences (à valeur objective). C'est celle dont je parlais dans mon premier message en rapport avec la logique de Hoare. Et ce processus mental nous le faisons tous, naturellement, même si on n'en a pas conscience : M. Jourdain faisait bien de la prose sans le savoir. ;-)
En quoi la mathématique pure et la logique formelle ne sont-elles pas suffisantes comme fondement a priori ?
Bien trop long à expliquer, et, à dire vrai, il vaut mieux être spécialiste dans ces deux disciplines (ce qui est mon cas) pour le comprendre. Mais déjà, pour envisager la possibilité d'une telle insuffisance, pose toi cette question : les notions de liberté et de droit dont on parlait précédemment, sont elles d'origine empirique ou rationnelle ? Dans le seconde cas, appartiennent elles au domaine de la mathématique ou de la logique ? Ou sinon, pour invoquer deux autorités reconnues en physique et logique : Einstein, dans un article qu'il consacra à Russell, reconnaissait être heureux de savoir que celui-ci disait que l'on ne pouvait se passer de métaphysique. L'un et l'autre n'étaient certes pas satisfaits par la solution kantienne sur la constitution de la métaphysique, mais il n'avait rien de mieux à proposer en échange, et, pour ma part, je ne trouve pas leurs objections recevables.
Que rajoute la solution kantienne
Et bien, à mon goût, elle a mis, pour la première fois dans l'histoire de l'humanité, la métaphysique (ce savoir dont on ne peut se passer) sur la route sûre de la science.
ou l'informatique théorique enseignée par Xavier Leroy cette année au Collège de France
les schémas de pensée qui y sont enseignés sont analogues à ceux qu'utilisa Kant pour mettre la métaphysique sur le chemin sûr de la science. Mais dans le cas de l'informatique théorique, c'est plus simple à comprendre. Pour reprendre l'exemple de Pierre Jarillon, il est plus simple de comprendre cette égalité 2^3 + 34 = 42 que celle-ci . Pour être honnête, lorsque j'étais encore un jeune étudiant en logique mathématique et informatique fondamentale, que l'on m'enseigna les principes du lambda-calcul typé (programmation fonctionnelle avec typage statique, le cœur du cours de Xavier Leroy), j'étais déjà kantien depuis plusieurs années et maîtrisais parfaitement sa logique transcendantale. Résultat la chose me paru évidente quand on me l'enseigna, c'était du « déjà connu », et j'obtins 20 comme note pour ce module.
Qu'est-ce qui te retient d'ajouter du sucre syntaxique pour former des énoncés clairs ? En effet, énoncer que tous les hommes sont mortels, est-ce une question de droit, est-ce le fait d'un pouvoir législatif ? Non, alors que veux-tu exprimer ? S'il te plait, exprimes-le clairement.
Si tu te donnes la peine de relire le texte de Kant que je cite juste en dessous, tu sauras ce que j'ai voulu exprimer.
En espérant avoir éclairé ta lanterne.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
« scientifique » est une démarche plus une confrontation avec ses pairs, sens qui est tout de même assez récent : 19e siècle, je crois que c'est dans Kuhn.
Je vois ce que tu veux dire, mais publier un traité pour fonder une science nouvelle (telle était sa prétention), n'est-ce pas se confronter à ses pairs ? Pour quelle raison penses-tu qu'une personne publie un traité, si ce n'est pour rendre public sa pensée et la confronter à ses pairs ? Et les prolégomènes, publiés trois ans après la CRP, c'est pour quelle raison ? À son époque, la métaphysique était bien enseignée comme une science à l'université. Il occupait même la chaire de Logique et métaphysique à l'université de Königsberg. Ce qu'il a fait, avec la CRP, c'est globalement dire à ses pairs : « tout ce qu'on le prenait jusqu'ici pour de la science n'est que du vent, l'édifice de notre soit disant science n'est qu'un tas de ruine, voici le plan qu'il faudrait mettre en pratique pour le reconstruire et faire enfin de la métaphysique une science. Qu'en pensez-vous ? ». Et tu n'appelles pas cela se confronter à ses pairs ? Raison pour laquelle il a, en autre, qualifié sa démarche de « révolution copernicienne » tout comme Copernic a remis en cause le modèle géocentrique admis à son époque.
De plus, c'est bien une volonté de réfutation du kantisme (comment peut-on vouloir réfuter quelqu'un qui ne se confronte pas) de la part de Frege qui a aboutit à l'avènement de l'informatique.
Au XXème siècle, la notion de calcul s'est développée en relation avec celle du raisonnement. Avant d'aborder l'histoire du calcul, faisons une courte digression pour nous intéresser à celle du raisonnement. Nous avons laissé cette histoire aux logiques d'Aristote et des stoïciens, qui n'était suffisantes, ni l'une ni l'autre, pour exprimer les raisonnements mathématiques, car la grammaire des propositions dans ces deux logiques étaient trop fruste. Ce problème de trouver une grammaire pour les propositions mathématiques n'a pas avancé jusqu'à la fin du XIXème siècle, malgré quelques tentatives courageuses, comme celle de Leibniz. Le principal artisan de ce renouveau est Gottlob Frege, dont les motivations étaient surtout philosophiques : il s'agissait pour lui d'éclairer, et de contredire, un point de la philosophie d'Emmanuel Kant.
Gilles Dowek, Les métamorphoses du calcul.
Ce que voulait contredire Frege était l'affirmation kantienne selon laquelle tout les jugements mathématiques étaient synthétiques a priori. C'est ce qui engendra la formalisation de la théorie des ensembles de Cantor-Frege, les paradoxes de Burali-Forti et Russell, la crise des fondements de mathématiques, le programme de Hilbert puis, in fine, les théorèmes d'incomplétude de Gödel et l'impossibilité de résoudre le problème de l'arrêt par Turing. Voilà, en gros résumé, un fragment de l'histoire des mathématiques qui part de cette simple volonté de réfuter Kant. Et que retient-on aujourd'hui ? Et bien que Kant avait raison. Du moins c'est ce que laisse comprendre Gilles Dowek (chercheur INRIA) ainsi que Jean-Yves Girard (mathématicien et logicien, ancien chercheur CNRS, auteur entre autre du système F, système de types à la base de langage comme Haskell ou OCaml, et de la logique linéaire) dans son dernier livre.
Le principal bénéficiaire de cette visite non guidée aura été l'auteur, tout surpris d'y trouver matière à de futurs développements techniques. Et de découvrir la surprenante adéquation du kantisme — au sens large — à la logique contemporaine. Ce qui n'est pas très étonnant après tout : que veut dire "raison pure", sinon logique ?
La syntaxe transcendantale est la justification technique des thèses du fantôme de la transparence. Le programme est exposé dans l'article La syntaxe transcendantale, manifeste (Février 2011)
Même s'ils ne partagent pas toutes mes opinions sur le kantisme (il faudrait, si je les comprends bien, une sorte de kantisme renouvelé à la lumière des progrès de la logique, tout comme Einstein a réformé Newton), on est plus proche d'un accord sur l'importance de la révolution kantienne en philosophie. Et ce genre de confrontation avec la pensée d'un auteur, même mort il y a deux cent ans, j'ai du mal à ne pas la voir comme de la confrontation avec ses pairs.
Pour en revenir sur ce que n'acceptait pas Frege (ce qui a engendré des travaux de recherche aboutissant à l'ordinateur), c'est cela :
Les jugements mathématiques sont tous synthétiques. Cette proposition semble avoir échappé jusqu'ici aux observations des analystes de la raison humaine, et même être exactement opposée à toutes leurs conjectures, bien qu'elle soit incontestablement certaine et très importante dans ses conséquences. En effet, comme on trouvait que le raisonnement de mathématiciens procédaient tous d'après le principe de contradiction (ce qu'exige la nature de toute certitude apodictique) on se persuada que les principes aussi étaient connus à partir du principe du contradiction : en quoi ces analystes se trompaient; car une proposition synthétique peut bien être saisie d'après le principe de contradiction, mais de telle sorte qu'une autre proposition synthétique soit présupposée, d'où elle puisse être déduite, mais jamais en elle-mếme.
Kant, Critique de la Raison Pratique.
On peut noter aussi, qu'à l'époque ou naquit la polémique, Poincaré écrivit des articles sur la logique et les mathématiques pour défendre Kant face à, entre autre, Russell et Hilbert.
Tout cela pour montrer, que ce soit Kant lui même de son vivant, ainsi que d'autres penseurs après sa mort n'ont eu de cesse de se confronter entre pairs sur les principes fondamentaux de sa philosophie.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Oui mais pas avec la totalité du sens contemporain.
Toujours pas convaincu. En quoi la signification du mot science aurait évolué et ne serait pas adéquat pour qualifier la philosophie critique ? Ce n'est certes pas une science expérimentale, mais une science pure au même titre que la mathématique pure et la logique formelle. Toutes les sciences ne sont pas fondées sur l'expérience et l'observation et, d'ailleurs, celles-ci ne seraient même pas possibles sans les autres (non empiriques ou pures) pour leur servir de fondement stable. Un principe et une loi issue de l'expérience ne signifie rien d'autre que ceci : « pour autant que nous l'ayons perçu jusqu'ici, il ne se trouve pas d'exception à telle ou telle règle; mais rien ne garantie qu'une expérience future vienne la remettre en cause ». Que vaudrait le savoir humain s'il n'était assuré que par de tels principes ? Réponse : rien! Vouloir fonder la totalité du savoir humain sur la seule expérience est une entreprise ridicule, voire inepte. La mathématique pure et la logique formelle ne sont pas suffisantes comme fondement a priori. Reste donc la nécessité d'une autre science formelle et a priori pour fonder le savoir humain selon les principes du rationalisme : en quoi la solution kantienne n'est pas satisfaisante ? Pourquoi donc ce que Xavier Leroy a enseigné cette année au Collège de France serait de la science (en l'occurence de l'informatique théorique), mais pas ce que Kant a professé il y a plus de 200 ans ?
Je souscrit à tout ton commentaire, c'est bien vu et très très très pertinent (je ne suis qu'un petit kantien ;-).
Merci, j'ai essayé de présenter certaines caractéristiques de la démarche kantienne en philosophie sous un jour qui serait le plus accessible possible pour un lectorat majoritairement constitué de personnes avec de fortes connaissances en programmation.
Ça te dirait ?
Pourquoi pas, d'autant que c'est un magnifique texte de philosophie politique. Je verrais dans la soirée pour commencer la relecture. N'ayant jamais contribué à wikisource : y a-t-il un médium de communication interne pour échanger entre nous sur le site pour les questions d'ordre technico-pratique que je ne manquerais pas d'avoir ?
Au passage, une parfaite illustration de la rigueur, issue de ce texte, dans la détermination d'un concept :
On ne peut définir la liberté juridique (par conséquent extérieure), comme on le fait ordinairement, « la faculté de faire tout ce que l’on veut, pourvu qu’on ne fasse de tort à personne. » Car que signifie ici le mot faculté ? la possibilité d’une action, en tant qu’on ne fait par là de tort à personne. La définition de cette faculté reviendrait donc à ceci · «la liberté est la possibilité des actions par lesquelles on ne fait de tort à personne. On ne fait de tort à personne (quoi que l’on fasse d’ailleurs), quand on ne fait de tort à personne ; » ce qui est une véritable tautologie — Il faut bien plutôt définir la liberté extérieure (juridique), la faculté de n'obéir à d’autres lois extérieures qu’à celles auxquelles j'ai pu donner mon assentiment. — De même l’égalité extérieure (juridique] dans un État est ce rapport des citoyens d’après lequel nul ne peut juridiquement obliger un autre à quelque chose, sans se soumettre en même temps à la loi, de pouvoir être obligé à son tour par celui-ci de la même manière. (Le principe de la soumission juridique étant déjà compris dans l’idée d’une constitution politique en général, n’a pas besoin de définition).
Plutôt que les philosophes (ou du moins certains d'entre eux), j'aurais tendance à penser que c'est le commun des mortels qui ne sait pas définir convenablement les concepts qu'il utilise.
Et l'on retrouve, plus loin, un nouvel usage de correspondance avec la logique formelle pour justifier la séparation des pouvoirs :
Toute forme de gouvernement, qui n'est pas représentative, n'en est pas proprement une, car le législateur ne peut être en une seule et même personne l’exécuteur de sa volonté (de même que dans un syllogisme l’universel de la majeure ne peut être en même temps dans la mineure la subsomption du particulier sous l’universel)
Il fait ici référence à la forme logique du syllogisme que l'on retrouve dans ce raisonnement usuel :
tous les hommes sont mortels (majeur - question de droit - pouvoir législatif)
Socrate est un homme (mineur - question de fait - pouvoir exécutif)
donc Socrate est mortel (conclusion - sentence - pouvoir judiciaire)
On retrouve cette analogie dans sa Doctrine du droit lorsqu'il justifie la forme nécessairement tripartite de l'État :
Tout État renferme en soi trois pouvoirs, c'est-à-dire que l'unité de la volonté générale s'y décompose en trois personnes (trias politica) : le souverain pouvoir (la souveraineté), qui réside dans la personne du législateur; le pouvoir exécutif, dans la personne qui gouverne (conformément à la loi); et le pouvoir judiciaire (qui attribue à chacun le sien suivant la loi), dans la personne du juge (potestas legislatoria, rectoria et judiciaria). Ce sont comme les trois propositions d'un syllogisme pratique : la majeure, qui contient la loi d'une volonté ; la mineure, l'ordre de se conduire d'après la loi, c'est-à-dire le principe de la subsomption des actions sous cette loi; enfin la conclusion (la sentence), qui décide ce qui est de droit dans le cas dont il s'agit.
Cette structure tripartite se retrouve également dans son œuvre avec les trois critiques qui déterminent les domaines de compétences de chacune de nos facultés : l'entendement et la connaissance de ce qui est (Critique de la Raison Pure); la raison et la connaissance de ce qui doit ếtre (Critique de la Raison Pratique), puis la faculté de juger (réfléchissante) et les jugements sur le beau, le sublime et la finalité dans la nature (Critique de la faculté de juger qui opère le pont et confère l'unité entre raison théorique et raison pratique). Au fond, dans cette structure tripartite de l'État, nous ne faisons que projeter extérieurement la propre structure formelle de notre esprit.
Questions subsidiaires aux empiristes (qu'il moque quelque peu dans son avant propos) : si tous nos principes provenaient de l'expérience, comment se fait il que l'on ne peut concevoir autrement un État que de manière tripartite ? D'où vient la nécessité dans cette division en trois pouvoirs, nécessité que l'expérience ne peut jamais enseigner ? Là où la méthode rationaliste n'a aucune difficulté à résoudre la question, comme je viens de l'illustrer… ;-)
Le vocabulaire kantien est, d'ailleurs, grandement emprunté au vocabulaire juridique. De même que la liberté est la soumission à la loi que l'on se donne soi même (autonomie, au sens propre du terme), la Critique de la Raison Pure est le tribunal institué par la raison où elle comparait face aux lois qu'elle se donne elle même : le fondement de la constitution de la république scientifique. ;-)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Pour continuer sur Kant, ses écrits sur le droit et sa philosophie critique (Critique de la Raison Pure, Critique de la raison pratique, Critique de la faculté de juger) cherchent les bases solides qui permetront de fonder "scientifiquement" (le mot est un anachronisme), des domaines séparés : le juridique, la morale, la connaissance du monde (elle-même subdivisée), le fonctionnement de l'esprit, etc.
Pourquoi le qualificatif « scientifiquement » serait anachronique ? C'était bel et bien son intention et, de mon point de vue, il a atteint son objectif. :-)
Ces prolégomènes ne sont pas à l’usage des élèves ; ils s’adressent aux maîtres futurs, auxquels même ils doivent servir, non pas pour l’exposition méthodique d’une science toute faite, mais uniquement pour l’invention de cette science.
Il y a des savants pour lesquels l’histoire de la philosophie (tant ancienne que moderne) est la philosophie même. Ces prolégomènes ne sont pas à leur adresse ; ceux-là doivent attendre que ceux qui s’efforcent de puiser aux sources de la raison même aient fait leur œuvre ; alors leur tour sera venu de dire au monde ce qui s’est fait. Rien au contraire, suivant eux, ne peut être dit qui ne soit une répétition ; c’est même là de leur part une prédiction immanquable pour tout ce qui peut désormais s’écrire en philosophie. L’entendement humain ayant extravagué de toute façon sur une infinité de sujets depuis tant de siècles, il doit arriver difficilement que le nouveau ne ressemble pas en quelque point à l’ancien.
Je me propose de persuader à tous ceux qui s’occupent sérieusement de métaphysique, qu’il est absolument nécessaire de suspendre leur travail, de considérer tout ce qui s’est fait jusqu’ici comme non avenu, et de se poser avant tout la question de savoir « si quelque chose de pareil à ce qu’on appelle la métaphysique est seulement possible absolument. »
Si c’est une science, d’où vient qu’elle ne peut, comme les autres sciences, obtenir un assentiment universel et durable ? Si ce n’en est pas une, comment se fait-il qu’elle en affecte toujours l’apparence, et qu’elle nourrit l’esprit humain d’un espoir incessant et jamais satisfait ? Qu’on démontre que la métaphysique est ou n’est pas une science, il est en tout cas nécessaire d’établir quelque chose de certain sur cette prétendue science ; il est impossible de rester plus longtemps dans une pareille situation à cet égard. Il est presque ridicule en effet, quand toute autre science marche d’un pas incessant, de tourner toujours à la même place dans la métaphysique qui veut néanmoins être la sagesse même, que chacun consulte comme un oracle, et de ne pas faire le moindre progrès. Déjà le nombre de ses partisans diminue, et l’on ne voit pas que ceux qui se sentent assez forts pour briller dans les autres sciences soient tentés de compromettre leur réputation dans celle-ci, où chacun, fût-il ignorant dans tout le reste, prétend juger d’une manière décisive, parce qu’en réalité il n’y a dans ces régions ni poids ni mesures propres à faire distinguer la fondamentalité d’un stérile verbiage.
Je n'ai pas le temps de développer les résultats de la philosophie critique, ce serait bien trop long, mais il est certain qu'on ne peut lui reprocher de ne point avoir été scrupuleux et rigoureux dans la délimitation de la sémantique de sa terminologie; à tel point que Mme de Staël lui reprochait de prendre les mots pour des nombres. Pour reprendre l'exemple discuté, est qualifié de transcendantal tout ce qui a trait à la possibilité de la connaissance pure et a priori comme, par exemple, l'esthétique transcendantale qui, avec les formes pures et a priori de la sensibilité que sont l'espace et le temps1, rend possible la mathématique pure. Ça c'est pour les sens.
Maintenant, si on regarde du côté de la pensée et des concepts, les lois de la logique générale deviennent les principes d'une logique transcendantale lorsqu'il s'agit de déterminer les pures lois formelles de la connaissance des objets. Ce dernier point est fondamentalement analogue à l'usage de la logique formelle dans la théorie des types pour les langages de programmation. Par exemple, le raisonnement dit du double modus ponens (si A alors B et si B alors C donc si A alors C) est le type de la composition de fonction dans les langages fonctionnels (comme Haskell ou OCaml). Son pendant, dans les langages impératifs, est la règle de composition dans la logique de Hoare :
{P} S {Q} , {Q} T {R}
---------------------
{P} S ; T {R}
La règle a deux prémisses : la première dit que l'instruction S fait passer de l'état P à l'état Q et la deuxième que l'instruction T fait passer de l'état Q à l'état R, puis la règle conclue que dans ces conditions la séquence des instructions S ; T fait passer de l'état P à l'état R.
Ici on parle des états d'une machine réelle et physique, or qui dit changement d'état dit cause agissante (principe de base de la physique). Que le principe de causalité est, pour fondement, la forme logique des jugements dits hypothétiques (si A alors B) et pour loi un analogue du modus ponens (si A alors B, or A, donc B), c'est justement ce que Kant affirmait dans la logique transcendantale de la Critique de la raison Pure (voir la table des catégories, on voit bien dans les deux tables la démarche identique à celle de la correspondance de Curry-Howard). C'est d'ailleurs parce qu'il voulait réfuter la conception de la causalité de David Hume qu'il a fait cette découverte.
Après, là où ça devient marrant, c'est que ces principes mènent à des problèmes dialectiques en apparence insolubles où thèse et antithèse s'affrontent sans fin : la métaphysique étant le champ de ces querelles qui n'ont jamais de fin. Dans le cas de la causalité, se pose la question d'une cause inconditionnée qui ne présuppose plus une autre cause qui la précéderait et dont elle serait l'effet; autrement dit, peut-on admettre une causalité par liberté dans l'ordre de la nature ? Soit : l'homme est-il libre ? Cette antinomie dialectique est plus connue sous sa forme populaire : qui de l'œuf et de la poule est venu en premier ? Et la réponse kantienne est : ni l'un ni l'autre, mais l'homme est libre! :-P
on notera que ces deux notions, espace et temps, sont centrales dans la théorie de la complexité algorithmique. ;-) ↩
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Pourquoi tous ces nananère ? Quel intérêt ? Jice me dit qu'il veut remettre en cause le principe même de l'intérêt, il me semblait nécessaire, dans ce cas, de rappeler le principe juridique à son fondement. Ou alors, le but du jeu c'est de tout remettre en cause, juste parce que la chose ne nous plaît pas, sans se poser une seule fois la question : est-ce juridiquement fondé ?
Dans le commerce, même le troc, lorsque que l'on dit que l'on échange des biens/services contre des biens/services, c'est par métonymie que l'on emploie cette expression. En toute rigueur, ce que l'on échange ce sont des droits : droits réels dans le cas des biens, et droits personnels dans le cas de services. Lors d'un prêt, outre la cession de son droit réel sur son bien, par le délai accordé au paiement le créancier abandonne son usufruit sur une valeur équivalente durant ce délai; abandon temporaire qui exige une contrepartie sous la forme d'un intérêt. Je ne vois toujours pas ce qui pose problème, ni pourquoi tu accordes le principe sarcastiquement avec ton « nananère ».
Ensuite, que tu sois aigri à cause du fonctionnement du système avec réserve fractionnaire, je veux bien le croire. Mais, à mon avis, ton aigreur vient du fait que tu ne le comprends pas : ce que tu as dit sur lui est erroné. Je relisais dernièrement un article d'un partisan du 100% réserve (et donc opposé aux réserves fractionnaires) qui présentait la création monétaire dans le système actuel, mais il avait au moins l'honnếteté intellectuelle de ne pas raconter n'importe quoi à son sujet : Comment les banques créent la monnaie…quelques mythes.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
je ne dis pas que je suis contre l'intérêt, même si en fait, je suis contre
Hey ! tu me fais du Martin Sheen dans Hot Shots 2 : « j'dis pas qu' j'y crois pas à ton histoire, peut être même que j'y crois… mais j'y crois pas ». :-D
Mais ce n'est pas ce que je critique sur mes posts précédents. Ce que je dis, c'est que je suis contre l'intérêt lors de la création de l'argent ex nihilo parce que là, la banque prête quelque chose qu'elle n'a pas et gagnent de l'argent dessus, c'est quand même un peu facile.
Si on ramène ça aux histoires de tout à l'heure, les banques prêtent en fait des papiers sur lesquels sont écrits "10 coquillages". Elles ne prêtent pas de vrais coquillages.
Mais j'avais bien compris, et c'était exactement la position de Proudhon en 1848 : rien de neuf sous le soleil. Il voulait une banque qui émet de l'argent sans intérêt, en écrivant 10 coquillages sur ses billets, bien qu'elle n'ait pas forcément de coquillage dans ses caisses.
Il y a trois principes dans le système monétaire :
le crédit crée le dépôt (l'argent est créé par des dettes);
tout crédit est remboursé avec intérêts;
les réserves fractionnaires (les banques n'ont en caisse qu'une fraction de leurs émissions).
Je ne vois pas comment on peut nier le premier : c'est la nature même de l'argent de signifier une reconnaissance de dette. L'argent est un intermédiaire des échanges qui intervient lorsque le troc est différé : une des parties à rendu un bien/service mais n'a encore rien reçu en retour, la société a donc une dette à son égard.
Vous avez un écu. Que signifie-t-il en vos mains ? Il y est comme le témoin et la preuve que vous avez, à une époque quelconque, exécuté un travail, dont, au lieu de profiter, vous avez fait jouir la société, en la personne de votre client. Cet écu témoigne que vous avez rendu un service à la société, et, de plus, il en constate la valeur. Il témoigne, en outre, que vous n’avez pas encore retiré de la société un service réel équivalent, comme c’était votre droit. Pour vous mettre à même de l’exercer, quand et comme il vous plaira, la société, par les mains de votre client, vous a donné une reconnaissance, un titre, un bon de la République, un jeton, un écu enfin, qui ne diffère des titres fiduciaires qu’en ce qu’il porte sa valeur en lui-même, et si vous savez lire, avec les yeux de l’esprit, les inscriptions dont il est chargé, vous déchiffrerez distinctement ces mots : « Rendez au porteur un service équivalent à celui qu’il a rendu à la société, valeur reçue constatée, prouvée et mesurée par celle qui est en moi-même. »
Maintenant, vous me cédez votre écu. Ou c’est à titre gratuit, ou c’est à titre onéreux. Si vous me le donnez comme prix d’un service, voici ce qui en résulte : votre compte de satisfactions réelles avec la société se trouve réglé, balancé et fermé. Vous lui aviez rendu un service contre un écu, vous lui restituez maintenant l’écu contre un service ; partant quitte quant à vous. Pour moi je suis justement dans la position où vous étiez tout à l’heure. C’est moi qui maintenant suis en avance envers la société du service que je viens de lui rendre en votre personne. C’est moi qui deviens son créancier de la valeur du travail que je vous ai livré, et que je pouvais me consacrer à moi-même. C’est donc entre mes mains que doit passer le titre de cette créance, le témoin et la preuve de la dette sociale. Vous ne pouvez pas dire que je suis plus riche, car si j’ai à recevoir, c’est parce que j’ai donné. Vous ne pouvez pas dire surtout que la société est plus riche d’un écu, parce qu’un de ses membres a un écu de plus, puisqu’un autre l’a de moins.
Lorsque l'on se transmet de l'argent (écus, coquillages, billets de banque…), l'on ne s'échange que des dettes. Cette caractéristique n'est pas propre au système actuel : il en a été tel depuis qu'il y a de l'argent en circulation en ce bas monde. Comme dans mon histoire du début: Antoine nourrit Jean et ce dernier lui fait une reconnaissance de dette, Antoine l'échange contre un massage (son compte est réglé avec la société) et c'est maintenant Murielle qui a une créance envers la société, qu'elle peut régler en allant se faire couper les cheveux chez Jean ou l'échanger avec quelqu'un d'autre, etc…
Tout ceci me semble être pure justice, conforme aux principes élémentaires du droit.
Pour ce qui est de l'intérêt : voir l'histoire du rabot. Jacques, menuisier, se fabrique un rabot; viens Guillaume, menuisier au village voisin, qui lui demande son rabot mais ne se propose de le payer que dans un an. Par cette vente, Jacques lui cède la pleine propriété (usus, fructus et abusus) du rabot, mais se retrouve dépourvu d'une propriété équivalente pendant un an. En conséquence, au bout de l'an, outre une valeur équivalente au rabot (prix de la vente), il exige une part des fruits de Guillaume (fructus) sous la forme d'une planche : tel est l'intérêt. Où est l'injustice dans une telle exigence de Jacques ? Où serait la justice s'il devait se priver de l'usufruit d'une partie de son capital, en faveur de Guillaume, durant un an et sans rien obtenir pour cela en contrepartie ?
Reste le principe de la réserve fractionnaire : j'évite sa défense pour le moment, cela rajouterait trop de longueur à mon propos. Considérons donc des banques qui couvrent la totalité de leurs émissions : elles n'en demanderaient pas moins intérêt comme Jacques vis à vis de Guillaume.
Dans ton système, la banque ne se substituant pas à Jacques (elle n'a rien en caisse), elle n'est rien d'autre qu'un substitut pour Guillaume afin de profiter du capital de Jacques sans lui verser intérêt : c'est du vol organisé au détriment de Jacques.
Viens, finalement, ma question :
c'est cela qui est le principal moteur de la marche forcée de la croissance et donc de notre perte à tous parce que cela empêche de lutter contre le réchauffement climatique (démonstration sur demande)
Je la demande ! J'aimerais bien te voir disserter sur la thèse selon laquelle; entre l'injustice institutionnalisée ou la mort de l'espèce, il n'y a pas point d'alternative : c'est une bien triste conception de la condition humaine que tu sembles me proposer. ;-)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Posté par kantien .
En réponse au journal Cahier de doléances.
Évalué à 5.
Dernière modification le 16 janvier 2019 à 15:09.
Il semble que l'on ne se soit pas compris sur la question de ton capital d'origine qui justifie ta position de banquier. En son absence, ton soit disant service est une escroquerie pure et simple : l'intérêt légitime du prêt devrait revenir à Jice; il devrait recevoir pour ses dix noix de coco, outre son abri, les 10% d'intérêt sous la forme d'une noix de coco ou tout autre bien/service qu'il jugera équivalent.
En ton absence, tel est le marché qui aurait lieu entre Strach et Jice : les dix noix de coco sont estimées, par les deux parties, équivaloir un abri. Or Jice fait avance des noix de coco et reçoit donc son abri plus les intérêts de son prêt (une noix de coco ou toute valeur équivalente). En tant que banquier, tu te substitues, dans cet échange, à Jice et exige donc que les intérêts te soient dus. Mais pour te substituer à lui, il te faut un capital équivalent au sien, si tu ne l'as pas tu voles en émettant du papier monnaie de singe. Après si Jice ne sait pas gérer convenablement son capital et accepte n'importe quel substitut, c'est un peu son problème aussi. Son avantage dans un système bancaire sain (ce qui n'exclut pas les principes le crédit créé le dépôt et tout prêt réclame outre la restitution du principal, un intérêt), en laissant le banquier se substituer à lui, étant qu'il transforme son capital en liquidité et transfert la prise de risque sur le banquier.
Enfin, que les banques ne possèdent pas la totalité en valeurs faites (capital) de ce qu'elles mettent en circulation, je le sais bien aussi. Mais, comme on est en train de refaire un débat qui a déjà eu lieu en 1849 suite à la révolution de 1848 où, à l'époque, certains réclamaient la gratuité du crédit (absence d'intérêt, comme le souhaite Jice); que ma position sur la question est faite depuis bien des lustres (une bonne quinzaine d'années); qu'il y a peu de chance que vous me fassiez changer d'avis du fait que vous me ressortez le même argumentaire que Proudhon à l'époque; je préfère renvoyer au compte-rendu de celui-ci. Vos deux histoires et leur comptabilité sont analogues à celle de Proudhon dans sa lettre 11 (voir la partie sur le système de l'intérêt) et je partage la position de Bastiat dans sa réponse de la lettre 12. Dans cette dernière, on peut par exemple trouver ceci :
Les billets d’une banque, on ne saurait trop le répéter, sont des titres de confiance. Le jour où elle les émet, la Banque proclame hautement qu’elle est prête à les rembourser à bureau ouvert et à toute heure. Rigoureusement, elle devrait donc tenir toujours en disponibilité une valeur faite égale à la valeur représentative lancée dans la circulation, et alors l’intérêt payé par B serait perdu pour tout le monde. Mais l’expérience ayant appris à la Banque que ses billets courent le monde pendant un temps déterminé, elle ne prend ses précautions qu’en conséquence. Au lieu de garder 1,000 fr. elle n’en garde que 400 (par hypothèse), et fait valoir 600 fr. C’est l’intérêt de ces 600 fr. qui est supporté par le public, par les détenteurs successifs du billet, et gagné par la Banque.
Partie qui traite, par exemple, le fait que les banques ne couvrent pas en fond propre la totalité de leurs émissions.
Enfin, pour revenir, sur vos historiettes qui parte de zéro. Dans une société humaine quelconque, en l'absence de capital existant et suffisant, aucune monnaie ni aucune banque ne peuvent apparaître. Leurs conditions de possibilités ne sont pas remplies. Or, dans ton histoire, hormis le capital initial de dix noix de coco de Jice, je ne vois rien. Aucune banque ne peut apparaître, sauf à se faire voleur. Vos histoires sont des modèles totalement erronées d'une économie avec un système bancaire. Si vous voulez partir de zéro, en restant crédible, faîtes comme Bastiat dans sa lettre 14 :
Qu’on me permette de remonter un peu haut, seulement… au Déluge.
Les eaux s’étant retirées, Deucalion jeta derrière lui des pierres, et il en naquit des hommes. lire la suite
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Exemples concrets?
Posté par kantien . En réponse à la dépêche Pijul, contrôle de version et théorie des patchs, version 0.12. Évalué à 5. Dernière modification le 01 mai 2019 à 14:43.
Plus ou moins. La réponse de barmic est plus proche de la vérité, et c'est effectivement une pratique courante en programmation fonctionnelle (connue sous le nom de curryfication). Si j'écris le type de
commit
avec des parenthèses, cela donne :C'est une fonction qui prend un patch et retourne une fonction des états dans les états. Pour prendre une notation utilisée en mathématiques, il faudrait prendre la notation indicée.
commit
décrit une famille de fonctions indexées par des patchs. Ce qui correspond bien à ce qu'exprime le diagramme :Les flèches entre sommets sont des transformations indexées par des patchs. Lorsque j'ai écrit :
A = commit p O
il faudrait lire (en rajoutant des parenthèses) :
A = (commit p) O
soit la fonction
commit p
appliquée àO
, ou avec des indices :De la même manière, une suite de fonctions
des réels dans les réels a pour type
nat -> real -> real
.Il y a bien une correspondance entre cette approche à la Curry et celle où les fonctions prennent un couple. Elle traduit cette égalité algébrique :
L'exponentiel de l'exponentiel est égale à l'exponentiel du produit. C'est liée à l'algèbre des types : là où le produit cartésien correspond au produit, le type des fonctions correspond à l'exponentiel.
Si un type A a 2 éléments et un type B a 3 éléments, alors le type
A -> B
a3^2 = 9
éléments (A -> B = B ^ A
).Pour en revenir à la fonction
commit
, elle associe chaque patch à une fonction des états sur eux-mêmes. Lorsque l'on dit que l'on applique un patch, c'est un abus de langage, en réalité on applique la fonction associée au patch viacommit
. Et lorsque l'on dit que les patchs sont associatifs, c'est parce que la composition de fonctions est associative. En notant.
la composition de fonction on a les égalités :Ce qui revient à « appliquer » les patchs dans l'ordre
p, q, r
.Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Exemples concrets?
Posté par kantien . En réponse à la dépêche Pijul, contrôle de version et théorie des patchs, version 0.12. Évalué à 10.
En complément du commentaire d'Adrien Dorsaz, je vais quand même essayer. Mais ne t'inquiète pas, ce sera des mathématiques simples : de l'arithmétique élémentaire avec les nombres entiers, et un peu de graphes.
Une image que j'aime bien et qui représente des historiques possibles d'un dépôt est celle-ci :
On peut résumer le cœur d'un gestionnaire de version à cette interface rudimentaire :
Il y a deux concepts : les patchs et les états, puis deux fonctions pour appliquer un patch sur un état ou fusionner deux états. Ainsi, sur le graphe du dessus, on a par exemple :
Plutôt que de travailler avec des fichiers et des répertoires, commençons plus simple et travaillons avec des entiers naturels. Les états (ou sommets du graphes) sont des entiers et les patchs sont aussi des entiers où la fonction de commit est la multiplication. Le graphe relie alors deux entiers s'ils sont multiples et l'arrếte est étiquetée par le coefficient multiplicateur. La fonction de fusion (
merge
) calcule le plus petit commun multiple.On peut par exemple partir de l'état initial
1
et prendre pour les trois patchs du graphes les nombres suivants :p = 2
,q = 3
etr = 7
. Je remets le graphe :On aura ainsi le sommet
A = 2
, le sommetB = 3
et leur fusionM = 6
. Ce qu'exprime le graphe, c'est que quelque soit le chemin que l'on prenne pour fusionner ces trois patchs, on tombera toujours surQ = 42
. Cela parce que la multiplication est associative et commutative.La première propriété (associativité) n'est pas satisfaite par les autres CVS : fusionner A et N ou bien fusionner M et C ne donnera pas toujours le même résultat. C'est cela qu'illustre ces deux schémas dans la documentation de pijul :
Le pire étant que ces CVS peuvent fusionner le tout, sans signaler de conflit, et faire n'importe quoi. Tel était l'exemple donné par Pierre-Étienne Meunier.
Ensuite, à la place des nombres entiers, on peut prendre un Rubik's cube. Ici les états seraient ceux du cube, et le patchs les transformations qu'on peut lu faire subir. Avec un tel système, on aura toujours l'associativité des transformations. Que je fasse
p ; (q ; r)
ou(p; q) ; r
cela ne change pas grand chose et l'on dit que l'on a effectué ces trois transformations à la suitep; q; r
, sans mettre de parenthèses. Par contre, sur un rubik's cube, deux patchs ne peuvent pas toujours être appliqués dans n'importe quel ordre, lorsqu'ils bougent des zones communes. Dans ce cas, on dit qu'ils ne commutent pas. Il en est de même avec les CVS : des fois ça commute, des fois ça ne commute pas; mais pijul est capable de déterminer si deux patchs commutent ce qui lui permet (non de réécrire l'historique) mais de réécrire le graphe de dépendance entre les patchs pour faciliter la gestion du dépôt : on peut supprimer facilement l'effet d'un patch sans toucher aux modifications qui lui sont postérieures et indépendantes.Il reste un point à éclaircir : la représentation interne des conflits. Revenons au cas des nombres entiers ou la fonction de
merge
était le calcul de plus petit commun multiple. Et regardons, ce graphe :Ici, nos sommets sont toujours des entiers, M est le ppcm de A et B et F est un multiple quelconque de A et B, mais aussi un multiple de M. Ce que fait pijul c'est généraliser cette notion de ppcm aux fichiers. Pour cela, on considère un fichier comme une liste de lignes. Malheureusement, il n'y a pas toujours de ppcm pour deux fichiers : c'est le signe d'un conflit lors d'une fusion.
La solution est de prendre un type plus riche que les liste pour les sommets du graphe : à savoir des graphes de lignes (dont les listes sont un cas particuliers). À ce moment là, deux graphes de lignes ont toujours un « ppcm » que l'on appelle leur fusion. Si ce graphe est similaire à une liste alors il n'y a pas de conflit sinon c'est qu'il y a conflit :
Comme pijul travail avec des états qui sont ces graphes de lignes, il a une représentation interne des conflits (des graphes qui ne sont pas des listes) et peut travailler sur eux comme il le ferait avec des fichiers normaux : on peut leur appliquer des patchs, les fusionner… et les aplatir vers des fichiers (résoudre les conflits) quand on veut.
D'une manière générale, j'aime bien ce principe : Theorise first then implement is the stairway to heaven. Implement first then theorise is the highway to hell. D'autant que Jimmy page était, sans nul doute ni contestation, bien plus fin et subtil qu'Angus Young. :-P
Comme pijul a choisi la première voie, c'est plus simple et plus naturel; les autres systèmes reposant sur une mauvaise analyse de l'algèbre des patchs et des états.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Déplacement de données ?
Posté par kantien . En réponse à la dépêche Pijul, contrôle de version et théorie des patchs, version 0.12. Évalué à 8.
Oui c'est cela, c'est le nom que leur a donné Joe Neeman. J'avais lu ces articles de blog pour comprendre la théorie derrière pijul, sans avoir à me farcir les articles académiques.
Là je ne comprends pas trop. Il y a d'autres forme de graphes que les listes pour représenter un état sans conflit ?
Pour ce qui est du dictionnaire de renommage, pourquoi ne pas le mettre comme tag sur le patch ? En admettant qu'il soit facilement décidable à quel sous-type de patch on a affaire : pijul remarque que A propose un patch de renommage, de même que B, et il marque chacun des patch avec leur dictionnaire. Puis lors de la résolution de conflit, pijul spécifie la cause du conflit (conflit de renommage) et propose une solution spécifique : choisir les noms de A ou ceux de B.
Si j'ai bien compris l'idée des patchs sémantiques, le principe est d'avoir un type générique
patch
avec plusieurs sous-type (déplacement, renommage, indentation…). Le problème étant, en autre, de savoir s'il est facilement décidable de savoir à quel sous-type appartient un patch donné. Mais, si c'est le cas, l'information devrait être attachée au patch et non au graphe de ligne.Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Déplacement de données ?
Posté par kantien . En réponse à la dépêche Pijul, contrôle de version et théorie des patchs, version 0.12. Évalué à 3.
Il y a conflit ? Le merge est un graphe qui n'est pas une liste et il y a conflit à résoudre.
Si j'ai bien compris les principes derrière pijul, il y a au fond deux opérations primitives
commit : patch -> graggle -> graggle
etmerge : graggle -> graggle -> graggle
. Elles ont de bonnes propriétés algébriques, de telles sorte que le graphe ci-dessous commute :Mais comme tu le dis dans un autre commentaire, pijul n'a pas besoin de patchs sémantiques pour fonctionner correctement. À la rigueur, cela pourrait être utile pour l'UI et fournir des informations plus détaillées à l'utilisateur lorsqu'il doit résoudre un conflit.
Dans le fond, ces patchs sémantiques sont juste une subdvision du type des patch (des sous-types) mais l'essentiel pour pijul c'est que ce soit des patchs. N'est-ce pas cela ? Dans ce cas, la seule chose que cela peut apporter serait d'ajouter des tags sur les patchs (comme les différentes variantes d'un type somme sont tagguées par un compilateur) et s'en servir pour adapter les messages au niveau de l'interface utilisateur, mais sans rien modifier sous le capot au niveau de la gestion des fusions et conflits.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Les premières personnes à programmer étaient des femmes
Posté par kantien . En réponse au journal Pourquoi les femmes ont déserté l’informatique dans les années 1980. Évalué à 2.
C'est là que j'ai du mal à te suivre. Tu admets qu'un des problèmes c'est l'intervention étatique sur le marché (qui déresponsabilise certains acteurs), et comme solution tu prônes encore plus d'État. Que les marchés puissent être défaillants, c'est certain, mais il y a une chose encore plus défaillante que les marchés : l'administration. L'école de Chicago :-)
En passant, tu demandes des sources à Nicolas Boulay dans un autre commentaire, tu les as dans le lien que te proposais barmic :
Le problème reste bien celui d'une pénurie d'offre dans certains secteurs.
Sur tes tautologies, j'ai du mal avec la dernière :
J'ai toujours eu du mal avec cette notion de bien et droit fondamental. Quel sens lui donner ? Et quels sont les critères pour qualifier ainsi un bien et un droit ?
Je ne peux me représenter avoir un droit sans qu'autrui est un devoir en contrepartie (et réciproquement, en vertu du principe d'égalité juridique, autrui a ce droit et moi ce devoir), mais quel devoir mettre en face du droit fondamental au logement ?
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Mécréants
Posté par kantien . En réponse au journal Hors sujet mais ... : il y a 775 ans .... Évalué à 10.
Je ne veux pas revenir sur l'ensemble de ton commentaire, mais il y a tout de même un passage qui m'a vraiment fait tiquer plus que les autres :
Là pour moi ce qui est pire est que tu omets totalement le cœur de la question et la solution fondamentale de Galilée. Sa réponse, c'est le principe d'invariance galiléen, autrement appelé principe de relativité restreinte par les physiciens. Ramener cela à la question des marées, c'est au pire de la mauvaise foi, au mieux de l'ignorance.
Il justifia ce principe dans son Dialogue sur les deux grands systèmes du monde à travers des expériences de pensée impliquant un homme enfermé dans sa cabine sur un bateau et qui, à partir des expériences qu'il y mène, ne peut constater le mouvement de son navire. C'est à partir de cela que Newton tira son Principe Fondamental de la Dynamique, et qu'Einstein développa encore plus dans ses deux théories de la relativité (qui est donc son homme enfermé dans sa cabine, pour qui inertie et gravité sont identiques dans leur principe, si ce n'est un lointain cousin du personnage de Galilée ?).
Ceci étant, dans son ouvrage, il y a effectivement un idiot du nom de Simplicio : celui qui s'attache avec acharnement aux principes de la physique d'Aristote et de sa théorie du mouvement.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Heure universelle
Posté par kantien . En réponse au journal heure hiver vs heure d'été: quelle durée d'exposition à la lumière du jour ?. Évalué à 5.
Que vient faire le fair-play britannique dans cette histoire ? :-P
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: #meilleurhashtag
Posté par kantien . En réponse au journal Elphyrecoin : la cryptomonnaie au service de l'opensource est sortie en version 2 . Évalué à 4.
Ah, mais je partage ton avis sur le document en question, et ce n'est pas que sur le plan mathématique qu'il est douteux, il l'est aussi : philosophiquement (philosophie du droit) et économiquement (du au premier point, mais aussi sur la partie historique en fin d'ouvrage). Seulement, en dehors de lui, je ne connais personne qui emploie le terme monnaie libre, il me semblait donc que c'était à cela que faisait référence El Titi et je répondais alors à la question de Marco.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: #meilleurhashtag
Posté par kantien . En réponse au journal Elphyrecoin : la cryptomonnaie au service de l'opensource est sortie en version 2 . Évalué à 2. Dernière modification le 28 février 2019 à 23:10.
Les principes de la monnaie libre sont présentés dans la théorie relative de la monnaie et pour la définition de monnaie libre c'est, plus particulièrement, ici.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: P.P.A.
Posté par kantien . En réponse au journal Grand débat. Évalué à 4.
Encore pour PPA, je peux comprendre, c'est un acronyme qui ne doit être compris et connu que dans certains milieux idéologiques. En revanche, pour celui-ci, cela relève de l'histoire de France : Conseil National de la Résistance. Bien qu'il fût initié par De Gaulle sous la direction de Jean Moulin, afin d'unifier les différents mouvements de résistance durant la seconde guerre, son programme politique de 1944 était très empreint de communisme (comme on peut le constater à la lecture des premiers articles sur la presse).
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Le temps
Posté par kantien . En réponse au journal Grand débat. Évalué à 4.
Intéressant article auquel je propose celui-ci en miroir :
Ce dernier étant, à mon sens, bien plus important que celui du CNR : à quoi sert de pouvoir s'informer si l'on n'est même pas assurer de survivre ?
Il faudra un jour que l'on m'explique ce qu'il y a de malsain, par principe, dans une relation commerciale.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Oui, enfin presque
Posté par kantien . En réponse au journal Grand débat. Évalué à 5. Dernière modification le 25 février 2019 à 17:50.
Il eut été plus simple d'écrire « Au-delà de comment quelques personnes… »
Ceci étant, avec cette nouvelle écriture, il faudrait écrire comment ?
ou bien garder la graphie actuelle ? Dans ce cas pourquoi ne toucher que les substantifs génériques du genre masculin ?
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Comment être sûr qu'un visage n'existe pas ?
Posté par kantien . En réponse au journal Cette personne n'existe pas. Évalué à 3. Dernière modification le 20 février 2019 à 11:16.
D'autant que, il est nécessaire de le rappeler, Indiana c'était le nom du chien ! Mais ils ont peut être pris aussi des images de chiens pour alimenter leur algorithme… :-D
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: VEOLIA OFFICIEL
Posté par kantien . En réponse au journal Un recrutement racé chez VEOLIA. Évalué à 5.
Ça doit venir de chez toi. Le lien de l'annonce pointe bien vers une annonce pour un poste de « gestionnaire projet informatique » à Malancourt-la-Montagne en Moselle.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Il en manque, non?
Posté par kantien . En réponse au journal Un recrutement racé chez VEOLIA. Évalué à 10.
Il est dans une superposition d'état quantique : le plus sûr, s'il s'approche de la frontière, c'est de tirer une balle et de voir comment se réduit sa fonction d'onde. :-P
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Attaque par le compilateur
Posté par kantien . En réponse au journal Bootstrap Binary seed. Évalué à 6.
Sommaire
Je viens de voir que vous avez effacer son compte et supprimer certains de ses messages. Comme j'étais en train de rédiger un long commentaire pour exposer sa profonde ignorance au grand jour et que je ne veux pas avoir perdu du temps pour rien, je le mets quand même ici. Il pourra servir comme référence, au cas où il revienne avec un autre compte.
Voici une analyse de sa confiture que nous ne savons pas apprécier au sujet de l'article de Ken Thompson.
Le cas Ken Thompson
Alors que Ken Thompson reçoit le prix Turing en 1983 pour son œuvre, lors de son discours de remerciement, il présente le programme le plus malin (cutest)1 qu'il ait jamais écrit. Son discours est retranscrit sous forme d'article et publié dans un bulletin de l'ACM sous le titre Reflections on trusting trust.
Le programme en question est fortement lié au présent journal, puisqu'il consiste à corrompre un compilateur C dans la chaîne de bootstraping, de tel sorte que tout compilateur C qui lui succède introduise une porte dérobée dans le programme de login d'un système Unix.
Son exposé se décompose en trois étapes que nous présenterons brièvement dans ce qui suit.
Étape 1
La première étape consiste à écrire un programme qui, lorsqu'il s'exécute, reproduit son propre code source sur la sortie standard. Un tel programme est dit autoreproducteur. En voici un exemple minimal en OCaml :
Étape 2
La seconde étape traite un problème posé dans un autre commentaire du journal par redo_fr : comment ajouter de nouvelles fonctionnalités à un langage en compilant le nouveau compilateur avec une version antérieure, qui ignore, donc, les nouvelles fonctionnalités ?
Il y traite un exemple simple avec l'interprétation des séquences d'échappement dans les chaînes de caractères. Il montre comment boostraper l'interprétation de la séquence
\v
comme une tabulation verticale. Ainsi, même si, à la générationN
, la séquence\v
n'est pas valide, à partir des générationsN + 1
et suivantes, tous les compilateurs pourront l'utiliser dans leur propre code source.Étape 3
C'est l'étape finale où il décrit comment introduire la porte dérobée sans laisser aucune trace dans le code source du compilateur.
Dans une représentation idéalisée du fonctionnement d'un compilateur, celui-ci lit le code source du programme puis applique une routine
compile(s)
sur les parties du code. Pour introduire une porte dérobée, on peut tester la correspondance de la fonction à compiler sur un motif donné et introduire dans ce cascompile(backdoor)
.Le défaut de cette approche est que même une lecture superficielle du code source du compilateur risque de découvrir le pot aux roses, en voyant l'exécution conditionnelle de l'instruction
compile(backdoor)
.La solution consiste, alors, à combiner les techniques des deux premières étapes afin d'effacer la supercherie du code source du compilateur. À la génération
N
, on introduit la porte dérobée sous forme d'un programme autoreproducteur (étape 1), que l'on boostrape (étape 2), puis l'on distribue ce binaire comme compilateur C officiel qui reproduira son comportement dans toutes les générations successives.Le lecteur intéressé par les détails de chaque étape pourra toujours se reporter à l'article de Ken Thompson.
Maintenant, chers lecteurs, attardons nous quelque peu sur l'analyse détaillée de cette succulente confiture gracieusement offerte par SamWang, que, nous autres, pauvres cochons, n'avons pas su éstimer à sa juste valeur. Ça vaut le détour ! :-)
La recension de SamWang
Lui, ô grand chasseurs devant l'éternel de coquilles, coquillages et autres crustacés, se propose de nous révéler quelques une de ses prises, suite à sa lecture du papier l'été dernier. Et quelles prises ! :-D
Avant cela, il tente un résumé de l'article qu'il semble n'avoir pas totalement saisi. Pour lui, l'article expose l'injection d'une porte dérobée dans la compilation du fichier
login.c
. Puis Ken Thompson mettrait ensuite « en garde contre le risque d'injection de code malveillant par un compilateur malveillant dans tout programme qu'il compile, y compris un compilateur ». J'espère que tout lecteur attentif de ma présentation aura compris que c'est un peu plus subtil que ça.Passons, à présent, aux coquilles mineures relevées. Il en trouve deux :
S'il y a bien inversion de légende entre deux figures (celles qui illustrent comment ajouter la séquence d'échappement
\v
au langage) et que tout lecteur attentif corrigera de lui-même, je suis au regret de lui apprendre que la seconde n'en est pas une.SamWang ne devant pas être habitué à la lecture d'article académique, il a pris pour une coquille ce qui n'est rien d'autre qu'une mise en page, on ne peut plus classique, dans ce genre de papier. Les figures liées à la section 2 sont reportées en bas de page, qui, dans le cas présent où chaque page est en format deux colonnes, se trouve en bas de la seconde colonne. Cela lui donne l'illusion qu'elles sont insérées dans la section 3 dont le texte commence sur cette deuxième colonne.
C'est déjà quelque peu amusant, mais le plus beau reste à venir. Dans le fond, SamWang a une âme d'explorateur : il rêve d'une terre remplie de K-zino, avec son comparse zind dans sa logique LFC, inspirée des travaux de Rudolph Carnap, pour faire de la LNC. Malheureusement pour lui, depuis dix ans qu'il en parle, il ne navigue toujours par sur l'océan à la recherche de la terre promise. Nulle Santa Maria, ni même le moindre radeau, et tous ses bateaux semblent prendre l'eau. Alors, seul sur le rivage, admirant au loin l'horizon, il doit s'ennuyer un peu : il part donc à la pêche aux coquillages.
Et là, mazette, quelle récolte ! Ken Thompson ne sait même pas écrire correctement du
C
. Oui, vous avez bien lu : Ken Thompson est une bille enC
, il ne sait pas écrire un programme de quelques lignes syntaxiquement valide, et en plus il propose ça en publication à l'ACM qui valide le tout. Mais dans quel monde vit-on ?Voyons voir cette grossière erreur un peu plus à la loupe. Elle se trouve dans l'étape 1, lorsqu'il traite des programmes autoreproducteurs. Son code commence par la déclaration d'une chaîne de caractères :
Puis, dans la boucle principale, il parcourt cette chaîne pour l'imprimer caractère par caractère. Ni une, ni deux, SamWang arrive à la conclusion fatidique : si je commence par écrire cette séquence de caractère au tout début d'un fichier, je n'aurais pas un code source
C
valide. En conséquence, alors que le programme d'exemple devait afficher son propre code source, il affiche un texte qui n'est même pas valide enC
. Quel escroc ce Ken Thompson ! encore un qui essaye de jouer au paralogisme, mais on n'échappe pas à la surveillance assidue du SamWang.Rassurez vous, rien de tout cela dans le code de Ken Thompson, c'est juste que l'idiot de service à oublier de lire l'instruction qui précède la boucle
for
:C'est vrai que, finalement, il a un certain sens de l'humour notre SamWang : certes à ses dépends, mais c'est drôle quand même. :-)
Après, pour être tout a fait exact, son exemple n'est pas un programme autoreproducteur mais génère un tel programme. Il le précise lui même :
Ce qui est encore plus drôle (deuxième effet kiss cool) est que, à la toute fin de son commentaire, SamWang pointe un lien vers un vrai programme autoreproducteur « dans lequel le tableau de données est lu deux fois et interprété différemment les deux fois.[…] une solution bien astucieuse » (les mots sont de SamWang). Tout lecteur de bonne foi, comprenant le C, réalisera sans peine que cette solution astucieuse est identique, dans l'esprit, à celle de Ken Thompson.
Comme autre perle de sa pêche aux coquillages (heureusement que je sais ouvrir les huîtres), on trouvera celle-ci. S'interrogeant sur l'utilité de cette étape dans le corps de l'article, notre cher ami écrit, je cite :
Je laisse le lecteur libre de juger à quel point l'étape 1 est cruciale pour l'étape 3 (d'après ma présentation), et si, dans son article, Ken Thompson ne le signale pas explicitement selon une articulation logique sans faille. Ce qui manque, assurément, d'articulation logique, ce sont les commentaires à ralonge de SamWang.
Arriver à ce stade, toute personne sensée, avec un minimum d'humilité, aurait du se dire : « j'ai du raté un truc » (en l'occurrence oui, à savoir, une ligne de code). Mais comme rien n'arrête notre SamWang, il va bien plus loin : par une réduction à l'infinie, il entend, dans un premier temps, nous convaincre que le problème que cherche à résoudre Ken Thompson n'a même pas de solution. Non seulement il ne peut toujours pas naviguer sur l'océan à la recherche de découverte pleine d'espérance, devant se contenter du rivage et de ses coquillages, mais le voilà maintenant chutant inexorablement dans le tonneau des danaïdes, ce puit sans fin dont il desespère de ne pas voir le fond.
Ce genre de problème de point fixe est on ne peut plus courant, mais il semble l'ignorer : étant donné une fonction
f
trouver une valeurx
tel quef (x) = x
; où ici la fonctionf
, dont on cherche un point fixe, est la composée de deux autresf = run . compile
, de telle sorte que l'on cherchesource
satisfaisant l'équation :Il se met alors à chercher des contournements au défi, en assouplissant les contraintes, afin d'y arriver. Il envisage, par exemple, un programme qui ouvre son fichier source puis l'affiche, ce qui nécessite d'avoir toujours à disposition le code source d'un tel programme. Là où l'on voit qu'il n'a rien compris à l'article, étant donné que le compilateur compromis ne sera distribué que sous forme binaire tout en ayant la capacité de « parasiter » tous les futurs compilateurs qui
l'auront comme ancêtre.
Incompréhension totale de l'article confirmée par ce qui conclut cette partie du commentaire (qui constitue la moitié, en volume, du commentaire complet) :
Assurément que si, c'est impératif ! comme je viens de le rappeler.
Enfin, nous touchons au sublime avec la conclusion du commentaire, où, sautant du coq à l'âne, dans une articulation logique à toute épreuve, l'on apprend dans la foulée de cette question-réponse que, si, finalement, on peut écrire des programmes autoreproducteurs et que l'on appelle cela des quine (en l'honneur du philosophe analytique William Quine, je précise). SamWang a donc passé la moitié de son commentaire à nous expliquer que c'est pas possible, pour, finalement, nous dire que c'est possible. Effectivement, ça valait le coup ! :-D
Non vraiment, je ne vois pas ce qui a bien pu m'amener à écrire :
et le voir me répondre :
Ce qui précède doit bien apporter la preuve irréfragable de ce que j'avançais. Pour ce qui est de l'autre fil de discussion, ce n'est guère mieux, mais j'ai déjà assez perdu de temps comme cela pour devoir le justifier.
l'adjectif anglais cut, outre sa signification de mignon, peut aussi caractérisé quelque chose d'habile et d'ingénieux. En choisissant la traduction « malin », on retrouve le côté ingénieux d'un hack, ainsi que celui malveillant (par un jeu de mot) d'une attack. ;-) ↩
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Attaque par le compilateur
Posté par kantien . En réponse au journal Bootstrap Binary seed. Évalué à 9. Dernière modification le 08 février 2019 à 13:13.
Tout d'abord mon domaine d'expertise est avant tout les mathématiques pure et la logique formelle, mais j'ai néanmoins une connaissance approfondie de la philosophie kantienne et une certaine érudition au sujet de la pensée philosophique.
Maintenant, je te le dis : tu es un parfait crétin doublé d'un malotru. Non, pour reprendre ton expression sur l'autre fil de discussion, qu'il n'est plus nécessaire de polluer, nous ne sommes pas en bonne compagnie ! On ne colle pas de quenelles pour sodomiser Kant à titre posthume ! Quand bien même on appelle cela de l'humour : ton sens de l'humour m'est parfaitement incompréhensible.
Ton problème principal de longueur dans tes textes n'est pas une pathologie (comme la logorrhée) mais tout simplement de la micrologie : c'est-à-dire de l'inutile précision dans les détails.
Pour le reste tu passes ton temps à essayer d'employer des notions et des concepts auxquels tu n'entends absolument rien, et cela face à des personnes qui, elles, les comprennent.
Au sujet de ton projet de LFC, tu devrais t'associer à Mr BG est son projet de C-Cool. Quand vous en serez à la phase de bootstrap, vous nous ferez un journal…
Vu que tu aimes Carnap, tu devrais lire ça : Carnap, Cassirer, and Heidegger: The Davos Disputation and Twentieth Century Philosophy, c'est incroyable à quel point Kant est omniprésent dans un article où son nom n'est même pas mentionné dans le titre.
Et globalement sur tes délires de projets :
À l'avenir, ne prends pas la peine de répondre à mes commentaires en espérant que j'y réponde, tu y trouveras systématiquement la porte fermée. Considère notre canal de communication comme définitivement clos : je ne donne pas à manger aux cochons sans aucune éducation.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Définir les mots
Posté par kantien . En réponse à la dépêche Extensions Inkscape, brodeuse et palettes. Évalué à 5.
T'as de la chance que je sois de bonne constitution et que je ne te traite pas d'idiot. Tu te rends compte que tu viens de traiter Kant d'être un auteur de paralogisme ? Ça te viendrait à l'idée en lisant un texte d'Einstein, où tu ne comprends pas bien un passage, d'en conclure qu'il a commis une grossière faute dans l'application des principes de la physique ? Non, parce que là c'est ce que tu viens de faire, sauf que la science en question, c'est la logique. ;-)
Avant de clarifier ton incompréhension (oui, la définition est bien tautologique), il me semble nécessaire de préciser un léger point. Kant était un philosophe allemand vivant en prusse orientale, dans la ville de Königsberg aujourd'hui en Pologne, il écrivait donc en allemand. Les lourdeurs de styles et les problèmes de syntaxes sont la faute du traducteur ! Bon, allez, je te donne la version que j'ai dans ma bibliothèque :
La syntaxe de l'ensemble te sied-elle mieux ?
Maintenant, venons-en à l'analyse de la tautologie. Tu dois avoir un problème dans ton interpréteur du français. Commençons par un exemple simple, issu de l'interprétation de code dans un langage de programmation :
Jusqu'ici tu suis ? Et bien, dans le texte de Kant, c'est la même chose : on substitue un terme par sa définition, comme dans le cas de
double
ci-dessus.On commence par la définition courante de la liberté :
Puis comme pour
double
, on se demande : mais au fait c'est quoi la définition de autorisation ? Et l'on a :Ensuite, on substitue. Là je le fait textuellement (ne viens pas te plaindre de la syntaxe qui n'est pas correcte en français) :
ce qui, une fois qu'on redonne une forme syntaxiquement correcte en français, mais sans changer le sens (la sémantique), devient :
C'est la mise en forme avec une syntaxe correcte et préservation de la sémantique qui te pose problème ? Dans la première phrase on retrouve la définition de autorisation, mais le défini (et donc sa définition) était soumis à la condition de ne faire de tort à personne (pourvu qu'on ne fasse pas de tort à autrui) et cela quoi que l'on fasse (faire tout ce qu'on veut) : d'où la deuxième phrase. Est-ce plus clair maintenant ?
Après ce préambule, quelque peu fastidieux pour une telle trivialité, jetons un œil à tes autres questions.
Bah ce que tu décris est notre situation bien réelle. Ce que je dis c'est que ces observations, qui forment un savoir objectif, n'est possible que par l'intervention de principes qui, eux, ne sont pas d'origine expérimentale. ;-) Sans ces principes purs nous n'aurions que des jugements de perceptions (à valeur subjective) et non des jugements d'expériences (à valeur objective). Mais, assurément, les jugement d'expériences ont également besoin d'une autre source que la seule pensée pure : à savoir les jugements de perceptions.
Si tu trouves des choses à redire dans la syntaxe, cette fois incrimine le traducteur et non Kant. ;-) Ici, il fait jouer la catégorie de la causalité (pur concept d'entendement) pour transformer un jugement de perception (à valeur subjective) en jugement d'expériences (à valeur objective). C'est celle dont je parlais dans mon premier message en rapport avec la logique de Hoare. Et ce processus mental nous le faisons tous, naturellement, même si on n'en a pas conscience : M. Jourdain faisait bien de la prose sans le savoir. ;-)
Bien trop long à expliquer, et, à dire vrai, il vaut mieux être spécialiste dans ces deux disciplines (ce qui est mon cas) pour le comprendre. Mais déjà, pour envisager la possibilité d'une telle insuffisance, pose toi cette question : les notions de liberté et de droit dont on parlait précédemment, sont elles d'origine empirique ou rationnelle ? Dans le seconde cas, appartiennent elles au domaine de la mathématique ou de la logique ? Ou sinon, pour invoquer deux autorités reconnues en physique et logique : Einstein, dans un article qu'il consacra à Russell, reconnaissait être heureux de savoir que celui-ci disait que l'on ne pouvait se passer de métaphysique. L'un et l'autre n'étaient certes pas satisfaits par la solution kantienne sur la constitution de la métaphysique, mais il n'avait rien de mieux à proposer en échange, et, pour ma part, je ne trouve pas leurs objections recevables.
Et bien, à mon goût, elle a mis, pour la première fois dans l'histoire de l'humanité, la métaphysique (ce savoir dont on ne peut se passer) sur la route sûre de la science.
les schémas de pensée qui y sont enseignés sont analogues à ceux qu'utilisa Kant pour mettre la métaphysique sur le chemin sûr de la science. Mais dans le cas de l'informatique théorique, c'est plus simple à comprendre. Pour reprendre l'exemple de Pierre Jarillon, il est plus simple de comprendre cette égalité
. Pour être honnête, lorsque j'étais encore un jeune étudiant en logique mathématique et informatique fondamentale, que l'on m'enseigna les principes du lambda-calcul typé (programmation fonctionnelle avec typage statique, le cœur du cours de Xavier Leroy), j'étais déjà kantien depuis plusieurs années et maîtrisais parfaitement sa logique transcendantale. Résultat la chose me paru évidente quand on me l'enseigna, c'était du « déjà connu », et j'obtins 20 comme note pour ce module.
2^3 + 34 = 42
que celle-ciSi tu te donnes la peine de relire le texte de Kant que je cite juste en dessous, tu sauras ce que j'ai voulu exprimer.
En espérant avoir éclairé ta lanterne.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Définir les mots
Posté par kantien . En réponse à la dépêche Extensions Inkscape, brodeuse et palettes. Évalué à 2.
Je vois ce que tu veux dire, mais publier un traité pour fonder une science nouvelle (telle était sa prétention), n'est-ce pas se confronter à ses pairs ? Pour quelle raison penses-tu qu'une personne publie un traité, si ce n'est pour rendre public sa pensée et la confronter à ses pairs ? Et les prolégomènes, publiés trois ans après la CRP, c'est pour quelle raison ? À son époque, la métaphysique était bien enseignée comme une science à l'université. Il occupait même la chaire de Logique et métaphysique à l'université de Königsberg. Ce qu'il a fait, avec la CRP, c'est globalement dire à ses pairs : « tout ce qu'on le prenait jusqu'ici pour de la science n'est que du vent, l'édifice de notre soit disant science n'est qu'un tas de ruine, voici le plan qu'il faudrait mettre en pratique pour le reconstruire et faire enfin de la métaphysique une science. Qu'en pensez-vous ? ». Et tu n'appelles pas cela se confronter à ses pairs ? Raison pour laquelle il a, en autre, qualifié sa démarche de « révolution copernicienne » tout comme Copernic a remis en cause le modèle géocentrique admis à son époque.
De plus, c'est bien une volonté de réfutation du kantisme (comment peut-on vouloir réfuter quelqu'un qui ne se confronte pas) de la part de Frege qui a aboutit à l'avènement de l'informatique.
Ce que voulait contredire Frege était l'affirmation kantienne selon laquelle tout les jugements mathématiques étaient synthétiques a priori. C'est ce qui engendra la formalisation de la théorie des ensembles de Cantor-Frege, les paradoxes de Burali-Forti et Russell, la crise des fondements de mathématiques, le programme de Hilbert puis, in fine, les théorèmes d'incomplétude de Gödel et l'impossibilité de résoudre le problème de l'arrêt par Turing. Voilà, en gros résumé, un fragment de l'histoire des mathématiques qui part de cette simple volonté de réfuter Kant. Et que retient-on aujourd'hui ? Et bien que Kant avait raison. Du moins c'est ce que laisse comprendre Gilles Dowek (chercheur INRIA) ainsi que Jean-Yves Girard (mathématicien et logicien, ancien chercheur CNRS, auteur entre autre du système F, système de types à la base de langage comme Haskell ou OCaml, et de la logique linéaire) dans son dernier livre.
Ces derniers travaux portent même le nom de Syntaxe transcendantale :
Même s'ils ne partagent pas toutes mes opinions sur le kantisme (il faudrait, si je les comprends bien, une sorte de kantisme renouvelé à la lumière des progrès de la logique, tout comme Einstein a réformé Newton), on est plus proche d'un accord sur l'importance de la révolution kantienne en philosophie. Et ce genre de confrontation avec la pensée d'un auteur, même mort il y a deux cent ans, j'ai du mal à ne pas la voir comme de la confrontation avec ses pairs.
Pour en revenir sur ce que n'acceptait pas Frege (ce qui a engendré des travaux de recherche aboutissant à l'ordinateur), c'est cela :
On peut noter aussi, qu'à l'époque ou naquit la polémique, Poincaré écrivit des articles sur la logique et les mathématiques pour défendre Kant face à, entre autre, Russell et Hilbert.
Tout cela pour montrer, que ce soit Kant lui même de son vivant, ainsi que d'autres penseurs après sa mort n'ont eu de cesse de se confronter entre pairs sur les principes fondamentaux de sa philosophie.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Définir les mots
Posté par kantien . En réponse à la dépêche Extensions Inkscape, brodeuse et palettes. Évalué à 2.
Toujours pas convaincu. En quoi la signification du mot science aurait évolué et ne serait pas adéquat pour qualifier la philosophie critique ? Ce n'est certes pas une science expérimentale, mais une science pure au même titre que la mathématique pure et la logique formelle. Toutes les sciences ne sont pas fondées sur l'expérience et l'observation et, d'ailleurs, celles-ci ne seraient même pas possibles sans les autres (non empiriques ou pures) pour leur servir de fondement stable. Un principe et une loi issue de l'expérience ne signifie rien d'autre que ceci : « pour autant que nous l'ayons perçu jusqu'ici, il ne se trouve pas d'exception à telle ou telle règle; mais rien ne garantie qu'une expérience future vienne la remettre en cause ». Que vaudrait le savoir humain s'il n'était assuré que par de tels principes ? Réponse : rien! Vouloir fonder la totalité du savoir humain sur la seule expérience est une entreprise ridicule, voire inepte. La mathématique pure et la logique formelle ne sont pas suffisantes comme fondement a priori. Reste donc la nécessité d'une autre science formelle et a priori pour fonder le savoir humain selon les principes du rationalisme : en quoi la solution kantienne n'est pas satisfaisante ? Pourquoi donc ce que Xavier Leroy a enseigné cette année au Collège de France serait de la science (en l'occurence de l'informatique théorique), mais pas ce que Kant a professé il y a plus de 200 ans ?
Merci, j'ai essayé de présenter certaines caractéristiques de la démarche kantienne en philosophie sous un jour qui serait le plus accessible possible pour un lectorat majoritairement constitué de personnes avec de fortes connaissances en programmation.
Pourquoi pas, d'autant que c'est un magnifique texte de philosophie politique. Je verrais dans la soirée pour commencer la relecture. N'ayant jamais contribué à wikisource : y a-t-il un médium de communication interne pour échanger entre nous sur le site pour les questions d'ordre technico-pratique que je ne manquerais pas d'avoir ?
Au passage, une parfaite illustration de la rigueur, issue de ce texte, dans la détermination d'un concept :
Plutôt que les philosophes (ou du moins certains d'entre eux), j'aurais tendance à penser que c'est le commun des mortels qui ne sait pas définir convenablement les concepts qu'il utilise.
Et l'on retrouve, plus loin, un nouvel usage de correspondance avec la logique formelle pour justifier la séparation des pouvoirs :
Il fait ici référence à la forme logique du syllogisme que l'on retrouve dans ce raisonnement usuel :
On retrouve cette analogie dans sa Doctrine du droit lorsqu'il justifie la forme nécessairement tripartite de l'État :
Cette structure tripartite se retrouve également dans son œuvre avec les trois critiques qui déterminent les domaines de compétences de chacune de nos facultés : l'entendement et la connaissance de ce qui est (Critique de la Raison Pure); la raison et la connaissance de ce qui doit ếtre (Critique de la Raison Pratique), puis la faculté de juger (réfléchissante) et les jugements sur le beau, le sublime et la finalité dans la nature (Critique de la faculté de juger qui opère le pont et confère l'unité entre raison théorique et raison pratique). Au fond, dans cette structure tripartite de l'État, nous ne faisons que projeter extérieurement la propre structure formelle de notre esprit.
Questions subsidiaires aux empiristes (qu'il moque quelque peu dans son avant propos) : si tous nos principes provenaient de l'expérience, comment se fait il que l'on ne peut concevoir autrement un État que de manière tripartite ? D'où vient la nécessité dans cette division en trois pouvoirs, nécessité que l'expérience ne peut jamais enseigner ? Là où la méthode rationaliste n'a aucune difficulté à résoudre la question, comme je viens de l'illustrer… ;-)
Le vocabulaire kantien est, d'ailleurs, grandement emprunté au vocabulaire juridique. De même que la liberté est la soumission à la loi que l'on se donne soi même (autonomie, au sens propre du terme), la Critique de la Raison Pure est le tribunal institué par la raison où elle comparait face aux lois qu'elle se donne elle même : le fondement de la constitution de la république scientifique. ;-)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Définir les mots
Posté par kantien . En réponse à la dépêche Extensions Inkscape, brodeuse et palettes. Évalué à 5.
Pourquoi le qualificatif « scientifiquement » serait anachronique ? C'était bel et bien son intention et, de mon point de vue, il a atteint son objectif. :-)
Je n'ai pas le temps de développer les résultats de la philosophie critique, ce serait bien trop long, mais il est certain qu'on ne peut lui reprocher de ne point avoir été scrupuleux et rigoureux dans la délimitation de la sémantique de sa terminologie; à tel point que Mme de Staël lui reprochait de prendre les mots pour des nombres. Pour reprendre l'exemple discuté, est qualifié de transcendantal tout ce qui a trait à la possibilité de la connaissance pure et a priori comme, par exemple, l'esthétique transcendantale qui, avec les formes pures et a priori de la sensibilité que sont l'espace et le temps1, rend possible la mathématique pure. Ça c'est pour les sens.
Maintenant, si on regarde du côté de la pensée et des concepts, les lois de la logique générale deviennent les principes d'une logique transcendantale lorsqu'il s'agit de déterminer les pures lois formelles de la connaissance des objets. Ce dernier point est fondamentalement analogue à l'usage de la logique formelle dans la théorie des types pour les langages de programmation. Par exemple, le raisonnement dit du double modus ponens (si A alors B et si B alors C donc si A alors C) est le type de la composition de fonction dans les langages fonctionnels (comme Haskell ou OCaml). Son pendant, dans les langages impératifs, est la règle de composition dans la logique de Hoare :
La règle a deux prémisses : la première dit que l'instruction
S
fait passer de l'étatP
à l'étatQ
et la deuxième que l'instructionT
fait passer de l'étatQ
à l'étatR
, puis la règle conclue que dans ces conditions la séquence des instructionsS ; T
fait passer de l'étatP
à l'étatR
.Ici on parle des états d'une machine réelle et physique, or qui dit changement d'état dit cause agissante (principe de base de la physique). Que le principe de causalité est, pour fondement, la forme logique des jugements dits hypothétiques (si A alors B) et pour loi un analogue du modus ponens (si A alors B, or A, donc B), c'est justement ce que Kant affirmait dans la logique transcendantale de la Critique de la raison Pure (voir la table des catégories, on voit bien dans les deux tables la démarche identique à celle de la correspondance de Curry-Howard). C'est d'ailleurs parce qu'il voulait réfuter la conception de la causalité de David Hume qu'il a fait cette découverte.
Après, là où ça devient marrant, c'est que ces principes mènent à des problèmes dialectiques en apparence insolubles où thèse et antithèse s'affrontent sans fin : la métaphysique étant le champ de ces querelles qui n'ont jamais de fin. Dans le cas de la causalité, se pose la question d'une cause inconditionnée qui ne présuppose plus une autre cause qui la précéderait et dont elle serait l'effet; autrement dit, peut-on admettre une causalité par liberté dans l'ordre de la nature ? Soit : l'homme est-il libre ? Cette antinomie dialectique est plus connue sous sa forme populaire : qui de l'œuf et de la poule est venu en premier ? Et la réponse kantienne est : ni l'un ni l'autre, mais l'homme est libre! :-P
on notera que ces deux notions, espace et temps, sont centrales dans la théorie de la complexité algorithmique. ;-) ↩
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Ho le troll...
Posté par kantien . En réponse au journal Aider le quotidien L'Humanité. Évalué à 4. Dernière modification le 30 janvier 2019 à 18:22.
Tu as demandé une source quelconque ? Peu importe que le gars soit totalement barré ?
Preuves scientifiques de la terre plate
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Allez hop, des doléances en bon uniforme
Posté par kantien . En réponse au journal Cahier de doléances. Évalué à 5.
Pourquoi tous ces nananère ? Quel intérêt ? Jice me dit qu'il veut remettre en cause le principe même de l'intérêt, il me semblait nécessaire, dans ce cas, de rappeler le principe juridique à son fondement. Ou alors, le but du jeu c'est de tout remettre en cause, juste parce que la chose ne nous plaît pas, sans se poser une seule fois la question : est-ce juridiquement fondé ?
Dans le commerce, même le troc, lorsque que l'on dit que l'on échange des biens/services contre des biens/services, c'est par métonymie que l'on emploie cette expression. En toute rigueur, ce que l'on échange ce sont des droits : droits réels dans le cas des biens, et droits personnels dans le cas de services. Lors d'un prêt, outre la cession de son droit réel sur son bien, par le délai accordé au paiement le créancier abandonne son usufruit sur une valeur équivalente durant ce délai; abandon temporaire qui exige une contrepartie sous la forme d'un intérêt. Je ne vois toujours pas ce qui pose problème, ni pourquoi tu accordes le principe sarcastiquement avec ton « nananère ».
Ensuite, que tu sois aigri à cause du fonctionnement du système avec réserve fractionnaire, je veux bien le croire. Mais, à mon avis, ton aigreur vient du fait que tu ne le comprends pas : ce que tu as dit sur lui est erroné. Je relisais dernièrement un article d'un partisan du 100% réserve (et donc opposé aux réserves fractionnaires) qui présentait la création monétaire dans le système actuel, mais il avait au moins l'honnếteté intellectuelle de ne pas raconter n'importe quoi à son sujet : Comment les banques créent la monnaie…quelques mythes.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Allez hop, des doléances en bon uniforme
Posté par kantien . En réponse au journal Cahier de doléances. Évalué à 3.
Hey ! tu me fais du Martin Sheen dans Hot Shots 2 : « j'dis pas qu' j'y crois pas à ton histoire, peut être même que j'y crois… mais j'y crois pas ». :-D
Mais j'avais bien compris, et c'était exactement la position de Proudhon en 1848 : rien de neuf sous le soleil. Il voulait une banque qui émet de l'argent sans intérêt, en écrivant 10 coquillages sur ses billets, bien qu'elle n'ait pas forcément de coquillage dans ses caisses.
Il y a trois principes dans le système monétaire :
Je ne vois pas comment on peut nier le premier : c'est la nature même de l'argent de signifier une reconnaissance de dette. L'argent est un intermédiaire des échanges qui intervient lorsque le troc est différé : une des parties à rendu un bien/service mais n'a encore rien reçu en retour, la société a donc une dette à son égard.
Lorsque l'on se transmet de l'argent (écus, coquillages, billets de banque…), l'on ne s'échange que des dettes. Cette caractéristique n'est pas propre au système actuel : il en a été tel depuis qu'il y a de l'argent en circulation en ce bas monde. Comme dans mon histoire du début: Antoine nourrit Jean et ce dernier lui fait une reconnaissance de dette, Antoine l'échange contre un massage (son compte est réglé avec la société) et c'est maintenant Murielle qui a une créance envers la société, qu'elle peut régler en allant se faire couper les cheveux chez Jean ou l'échanger avec quelqu'un d'autre, etc…
Tout ceci me semble être pure justice, conforme aux principes élémentaires du droit.
Pour ce qui est de l'intérêt : voir l'histoire du rabot. Jacques, menuisier, se fabrique un rabot; viens Guillaume, menuisier au village voisin, qui lui demande son rabot mais ne se propose de le payer que dans un an. Par cette vente, Jacques lui cède la pleine propriété (usus, fructus et abusus) du rabot, mais se retrouve dépourvu d'une propriété équivalente pendant un an. En conséquence, au bout de l'an, outre une valeur équivalente au rabot (prix de la vente), il exige une part des fruits de Guillaume (fructus) sous la forme d'une planche : tel est l'intérêt. Où est l'injustice dans une telle exigence de Jacques ? Où serait la justice s'il devait se priver de l'usufruit d'une partie de son capital, en faveur de Guillaume, durant un an et sans rien obtenir pour cela en contrepartie ?
Reste le principe de la réserve fractionnaire : j'évite sa défense pour le moment, cela rajouterait trop de longueur à mon propos. Considérons donc des banques qui couvrent la totalité de leurs émissions : elles n'en demanderaient pas moins intérêt comme Jacques vis à vis de Guillaume.
Dans ton système, la banque ne se substituant pas à Jacques (elle n'a rien en caisse), elle n'est rien d'autre qu'un substitut pour Guillaume afin de profiter du capital de Jacques sans lui verser intérêt : c'est du vol organisé au détriment de Jacques.
Viens, finalement, ma question :
Je la demande ! J'aimerais bien te voir disserter sur la thèse selon laquelle; entre l'injustice institutionnalisée ou la mort de l'espèce, il n'y a pas point d'alternative : c'est une bien triste conception de la condition humaine que tu sembles me proposer. ;-)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Allez hop, des doléances en bon uniforme
Posté par kantien . En réponse au journal Cahier de doléances. Évalué à 5. Dernière modification le 16 janvier 2019 à 15:09.
Il semble que l'on ne se soit pas compris sur la question de ton capital d'origine qui justifie ta position de banquier. En son absence, ton soit disant service est une escroquerie pure et simple : l'intérêt légitime du prêt devrait revenir à Jice; il devrait recevoir pour ses dix noix de coco, outre son abri, les 10% d'intérêt sous la forme d'une noix de coco ou tout autre bien/service qu'il jugera équivalent.
En ton absence, tel est le marché qui aurait lieu entre Strach et Jice : les dix noix de coco sont estimées, par les deux parties, équivaloir un abri. Or Jice fait avance des noix de coco et reçoit donc son abri plus les intérêts de son prêt (une noix de coco ou toute valeur équivalente). En tant que banquier, tu te substitues, dans cet échange, à Jice et exige donc que les intérêts te soient dus. Mais pour te substituer à lui, il te faut un capital équivalent au sien, si tu ne l'as pas tu voles en émettant du papier monnaie de singe. Après si Jice ne sait pas gérer convenablement son capital et accepte n'importe quel substitut, c'est un peu son problème aussi. Son avantage dans un système bancaire sain (ce qui n'exclut pas les principes le crédit créé le dépôt et tout prêt réclame outre la restitution du principal, un intérêt), en laissant le banquier se substituer à lui, étant qu'il transforme son capital en liquidité et transfert la prise de risque sur le banquier.
Enfin, que les banques ne possèdent pas la totalité en valeurs faites (capital) de ce qu'elles mettent en circulation, je le sais bien aussi. Mais, comme on est en train de refaire un débat qui a déjà eu lieu en 1849 suite à la révolution de 1848 où, à l'époque, certains réclamaient la gratuité du crédit (absence d'intérêt, comme le souhaite Jice); que ma position sur la question est faite depuis bien des lustres (une bonne quinzaine d'années); qu'il y a peu de chance que vous me fassiez changer d'avis du fait que vous me ressortez le même argumentaire que Proudhon à l'époque; je préfère renvoyer au compte-rendu de celui-ci. Vos deux histoires et leur comptabilité sont analogues à celle de Proudhon dans sa lettre 11 (voir la partie sur le système de l'intérêt) et je partage la position de Bastiat dans sa réponse de la lettre 12. Dans cette dernière, on peut par exemple trouver ceci :
Partie qui traite, par exemple, le fait que les banques ne couvrent pas en fond propre la totalité de leurs émissions.
Enfin, pour revenir, sur vos historiettes qui parte de zéro. Dans une société humaine quelconque, en l'absence de capital existant et suffisant, aucune monnaie ni aucune banque ne peuvent apparaître. Leurs conditions de possibilités ne sont pas remplies. Or, dans ton histoire, hormis le capital initial de dix noix de coco de Jice, je ne vois rien. Aucune banque ne peut apparaître, sauf à se faire voleur. Vos histoires sont des modèles totalement erronées d'une économie avec un système bancaire. Si vous voulez partir de zéro, en restant crédible, faîtes comme Bastiat dans sa lettre 14 :
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.