Ç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.
Euh il y a un point qui m'échappe dans ta présentation : il est où ton capital, histoire que ta monnaie donne confiance ?
Non parce que le principe du commerce, c'est l'échange de biens/services contre des biens/services. Là on a Jice qui possède un capital de dix noix de coco (peut être même plus) et Strash le voudrait bien pour lui. Malheureusement, il n'a rien à lui donner en échange au comptant. Sur ces entre faits, tu te pointes, sans aucun capital valant celui de Jice, tu émets du coquillage et prétend que ça vaut le capital de Jice ? Tu ne serais pas un peu escroc sur les bords par hasard ? Les banques, elles, ont du capital pour garantir leur émission de monnaie… C'est là la source de la confiance dans la monnaie créée ex nihilo. ;-)
T'as du zapper cette partie dans ton lien wikipédia :
Le jeu d'écriture comptable est le suivant:
inscription de l'augmentation du dépôt du client (qui est, ici, le prêt de la banque à son client) au passif du bilan de la banque, la monnaie sur le compte du client étant due par la banque à son client.
inscription de la créance à l'actif du bilan de la banque, la monnaie due par le client étant considérée comme un actif de la banque.
Si t'as pas de capital à la base, en cas de défaut du débiteur, tu te débrouilles comment avec ce passif dans ton bilan ?
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é à 3.
Dernière modification le 15 janvier 2019 à 16:14.
Je sais très bien comment est créé la monnaie et le fonctionnement du processus de création monétaire par le crédit : « le crédit crée les dépôts ». C'est exactement ce que je décris dans ma petite histoire entre Jean, Antoine et Murielle : le crédit de Jean crée le dépôt.
Au départ je croyais que c'était ce principe qui heurtait Jice, raison pour laquelle je l'ai illustré simplement pour montrer qu'il n'y a rien de choquant dans le principe. Mais il semblerait, qu'au fond, ce ne soit pas ce principe qui le choque, mais le fait qu'il y ai de l'intérêt sur ce crédit lorsque le dépôt est créé ex nihilo par la banque. Ce qu'il semble remettre en cause c'est le principe de l'usure et de savoir si la banque rend un service pour laquelle elle exige un service en contre partie sous la forme d'intérêt. Le système est tout aussi juste est légitime dans ce cas, comme dans ma petite histoire entre mes trois personnages, mais ici ce serait plus long à expliquer du fait de la complication du système afin qu'il passe à l'échelle (oui, le système de Jean, Antoine et Murielle ne passe pas vraiment à l'échelle si Murielle n'a jamais entendu parler de Jean et ne peut faire confiance dans la monnaie émise).
On peut trouver dans ce pamphlet une piste d'explication du principe (voir, par exemple, l'histoire du rabot : il est peut être même bon de commencer la lecture par cette histoire en faisant une recherche dans la page avec le mot clef « le rabot »).
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é à 4.
Dernière modification le 14 janvier 2019 à 16:39.
La dette est ainsi inscrite dans la création même de la monnaie.
Et pourquoi voudrais-tu qu'il en soit autrement ?
Jean, coiffeur, se rend chez Antoine, restaurateur. « Bonjour monsieur, je désirerais prendre un repas chez vous. En échange du service que vous me rendrez, je vous en rendrez un autre : celui de vous coupez les cheveux dans mon salon, et je vous donne pour cela un bon pour coiffure en reconnaissance de ma dette ».
Voilà, sans s'en rendre compte, par cette reconnaissance de dette, Jean et Antoine viennent d'inventer le principe même de la monnaie. Il se peut, qu'au final, Antoine ne veuille finalement pas se faire couper les cheveux mais préfère un massage. Il se rend alors chez Murielle et lui propose, en échange de son massage, soit un repas chez lui soit de bénéficier, à sa place, de la coupe qu'Antoine lui doit. Si elle a beoin d'une coupe de cheveux et fait confiance dans l'émetteur de dette, en l'occurence Antoine, elle accepte le marché. Maintenant si on fait abstraction des biens et personnes concernés, on obtient le principe de la monnaie : c'est un type universel pour représenter une reconnaissance de dette.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
non mais sérieux adopteunmec c'est quoi dans vos esprits, un site de rencontre philosophiques pour deviser des avantages comparés de la méthode socratique vs Kant ? (invocation de Kantien en cours)
Bah, à une époque j'utilisais Meetic pour ça… enfin je veux dire, par pour deviser des avantages comparés de la méthode socratique vs Kant.
Sinon pour rester dans le thème Weboob, par un heureux hasard, hier dans ma ville dans le cadre des marchés de Noël, il y avait un commerçant venu présenter sa bière. Son utilitaire, habillé aux couleurs de son produit la bière kékette, portait en gros le slogan : « un petit coup de kékette ? ». Je vous laisse imaginer le nom de sa bière ambrée…
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Posté par kantien .
En réponse à la dépêche OCaml 4.06 et 4.07.
Évalué à 2.
Dernière modification le 14 décembre 2018 à 17:09.
à priori f-lambda peut traiter ce genre d'optimisation ?
A priori, j'aurais tendance à répondre oui. Flambda est une phase d'inlining beaucoup plus aggressive de la part du compilateur, avec des heuristiques pour que la taille du code spécialisé généré n'explose pas trop.
On peut avoir, par exemple, un facteur de gain de x20 en vitesse d'exécution grâce à la spécialisation par flambda d'un code hautement fonctorisé.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Posté par kantien .
En réponse à la dépêche OCaml 4.06 et 4.07.
Évalué à 2.
Dernière modification le 30 novembre 2018 à 12:41.
Qu'en pensez-vous ?
Que je ne suis pas sur d'avoir compris ta question. Ce que tu demandes ressemble fort à de la spécialisation de code à la compilation, c'est à dire de l'évaluation partielle ou inlining (qui ne se limite pas à de la propagation de constante littérale) et que c'est ce que fait f-lambda.
Quand tu passes de (fun x y -> x + y) 2 à (fun y -> 2 + y), tu fais une étape de béta-réduction, c'est-à-dire que tu exécutes le code, mais tu peux faire cela avec n'importe quelle expression du langage (pas simplement une constante comme 2) et c'est de la spécialisation de code par inlining.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Surtout que l'on parle du langage, ça n'empêche pas de faire une arithmétique loufoque dans une bibliothèque.
Dès qu'on a des fonctions polymorphes dans le langage, on peut faire une implémentation loufoque de l'arithmétique (mai l'arithmétique en question n'est pas loufoque). L'idée consiste à identifier un entier avec le principe de définition par récurrence (n x f = f (f ...(f x)), l'entier n applique n fois la fonction f à x) :
moduleN=structtypet={n:'a.'a->('a->'a)->'a}letzero={n=funz_->z}letsuccm={n=funzs->m.n(sz)s}letfold{n}=nletrecnat=function0->zero|n->succ(nat(predn))letintn=foldn0(funx->x+1)letevenn=foldntruenotletoddn=foldnfalsenotletaddnm=foldmnsucc(* n + m = n + 1 + ... + 1 *)letmulnm=foldmzero(addn)(* n * m = 0 + n + ... + n *)letexpnm=foldm(succzero)(muln)(* n ** m = 1 * n * ... * n *)let(+),(*),(**)=add,mul,expend
à l'usage :
N.(even(nat5));;-:bool=falseN.(even(nat4));;-:bool=trueN.(int(nat2**nat8+nat5*nat2));;-:int=266(* la suite de fibonnaci *)letfibon=fstN.(foldn(zero,nat1)(fun(x,y)->(y,x+y)));;valfibo:N.t->N.t=<fun>N.(int(fibo(nat10)));;-:int=55
:-)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Seulement, contrairement à Pijul, les dév de Git ne se sont pas amusé à refaire une lib SSH.
Ou bien j'ai encore raté un second degré ?
Non, t'as juste raté la discussion sur le sujet dans le premier journal qui présentait pijul (dont le lien est donné dans celui-ci), discussion qui débute ici.
Tu pourrais aussi lire le reste du fil des commentaires pour avoir une idée de la réponse à la question « pourquoi pijul ? ». ;-)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
On simplifie au maximum en réduisant le nombre de parcourt de listes pour construire la liste résultante. Les compréhensions de listes, c'est de la composition de map et filter.
[f(i)foriinune_listeifp(i)]
c'est l'équivalent python du code haskell :
map f . filter p $ une_liste
puis on utilise les lois de bases de map et filter :
map f . map g = map (f . g)
filter p1 . filter p2 = filter (p1 & p2)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Posté par kantien .
En réponse à la dépêche Sortie de JDK 10.
Évalué à 4.
Dernière modification le 10 novembre 2018 à 00:49.
Ce n'est pas parce que le compilateur connait le type que le "programmeur" oui.
Bah si il le connaît. ;-)
Je n'écris presque jamais aucune annotation de type en OCaml (je n'écris les types que dans les interfaces de mes modules, ou quand le compilateur ne peut inférer le type) et je n'ai aucun problème pour connaître le type de mes données à la lecture du code. C'est pareil pour les codes que je lis, et c'est le cas de tous le programmeurs habitués au langage. Les seuls que je vois écrire des annotations, c'est ceux qui viennent des langages avec annotations explicites (comme Java ou C++).
Cela étant, contrairement à ce qu'a dit Renault, ce n'est pas spécialement moderne comme caractéristique d'un langage : le système date du début des années 80.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
Ben c’est indécidable, il me semble, parce qu’il faudrait détecter les points de code inaccessibles.
Je me rend compte que j'étais resté trop évasif sur ma notion de nécessaire, j'entendais par là la nécessité au sens de l'approximation conservative telle que définie dans ton lien. Est nécessaire tout ce qui est potentiellement appelé, même sous une condition dynamique qui ne peut jamais terminée.
Mais je dois être biaisé dans mon appréhension de la difficulté, d'après Nicolas Boulay le linker de Gcc effectue ces suppressions (quoi que ça ne signifie pas que le problème soit simple à résoudre).
Pour illustrer ce que j'ai en tête, je l'illustre avec un exemple en programmation modulaire. Imaginons qu'on a un module de List avec cette signature :
Un tel module définit le concept de liste chaînée, ainsi que quelques propositions de base sur lui (une théorie élémentaire sur les listes, en somme). Maintenant, je veux écrire un programme qui utilise ce concept mais le seul théorème qui m'intéresse est que l'on peut mapper une liste. Problème pour le compilateur : faire en sorte que seul le code de List.map soit lié statiquement à mon binaire, mon programme n'ayant rien à faire du fait que l'on puisse aplatir une liste de listes par exemple.
On retrouve le même genre de questions dans les langages orientés objets (un objet c'est le module du pauvre) : ne pas lier statiquement le code des méthodes dont on est certain qu'elles ne seront jamais appelées.
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.
[^] # Re: Allez hop, des doléances en bon uniforme
Posté par kantien . En réponse au journal Cahier de doléances. Évalué à 0.
Euh il y a un point qui m'échappe dans ta présentation : il est où ton capital, histoire que ta monnaie donne confiance ?
Non parce que le principe du commerce, c'est l'échange de biens/services contre des biens/services. Là on a Jice qui possède un capital de dix noix de coco (peut être même plus) et Strash le voudrait bien pour lui. Malheureusement, il n'a rien à lui donner en échange au comptant. Sur ces entre faits, tu te pointes, sans aucun capital valant celui de Jice, tu émets du coquillage et prétend que ça vaut le capital de Jice ? Tu ne serais pas un peu escroc sur les bords par hasard ? Les banques, elles, ont du capital pour garantir leur émission de monnaie… C'est là la source de la confiance dans la monnaie créée ex nihilo. ;-)
T'as du zapper cette partie dans ton lien wikipédia :
Si t'as pas de capital à la base, en cas de défaut du débiteur, tu te débrouilles comment avec ce passif dans ton bilan ?
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. Dernière modification le 15 janvier 2019 à 16:14.
Je sais très bien comment est créé la monnaie et le fonctionnement du processus de création monétaire par le crédit : « le crédit crée les dépôts ». C'est exactement ce que je décris dans ma petite histoire entre Jean, Antoine et Murielle : le crédit de Jean crée le dépôt.
Au départ je croyais que c'était ce principe qui heurtait Jice, raison pour laquelle je l'ai illustré simplement pour montrer qu'il n'y a rien de choquant dans le principe. Mais il semblerait, qu'au fond, ce ne soit pas ce principe qui le choque, mais le fait qu'il y ai de l'intérêt sur ce crédit lorsque le dépôt est créé ex nihilo par la banque. Ce qu'il semble remettre en cause c'est le principe de l'usure et de savoir si la banque rend un service pour laquelle elle exige un service en contre partie sous la forme d'intérêt. Le système est tout aussi juste est légitime dans ce cas, comme dans ma petite histoire entre mes trois personnages, mais ici ce serait plus long à expliquer du fait de la complication du système afin qu'il passe à l'échelle (oui, le système de Jean, Antoine et Murielle ne passe pas vraiment à l'échelle si Murielle n'a jamais entendu parler de Jean et ne peut faire confiance dans la monnaie émise).
On peut trouver dans ce pamphlet une piste d'explication du principe (voir, par exemple, l'histoire du rabot : il est peut être même bon de commencer la lecture par cette histoire en faisant une recherche dans la page avec le mot clef « le rabot »).
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é à 4. Dernière modification le 14 janvier 2019 à 16:39.
Et pourquoi voudrais-tu qu'il en soit autrement ?
Jean, coiffeur, se rend chez Antoine, restaurateur. « Bonjour monsieur, je désirerais prendre un repas chez vous. En échange du service que vous me rendrez, je vous en rendrez un autre : celui de vous coupez les cheveux dans mon salon, et je vous donne pour cela un bon pour coiffure en reconnaissance de ma dette ».
Voilà, sans s'en rendre compte, par cette reconnaissance de dette, Jean et Antoine viennent d'inventer le principe même de la monnaie. Il se peut, qu'au final, Antoine ne veuille finalement pas se faire couper les cheveux mais préfère un massage. Il se rend alors chez Murielle et lui propose, en échange de son massage, soit un repas chez lui soit de bénéficier, à sa place, de la coupe qu'Antoine lui doit. Si elle a beoin d'une coupe de cheveux et fait confiance dans l'émetteur de dette, en l'occurence Antoine, elle accepte le marché. Maintenant si on fait abstraction des biens et personnes concernés, on obtient le principe de la monnaie : c'est un type universel pour représenter une reconnaissance de dette.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Git
Posté par kantien . En réponse au journal Weboob banni de Debian ?. Évalué à 7.
Bah, à une époque j'utilisais Meetic pour ça… enfin je veux dire, par pour deviser des avantages comparés de la méthode socratique vs Kant.
Sinon pour rester dans le thème Weboob, par un heureux hasard, hier dans ma ville dans le cadre des marchés de Noël, il y avait un commerçant venu présenter sa bière. Son utilitaire, habillé aux couleurs de son produit la bière kékette, portait en gros le slogan : « un petit coup de kékette ? ». Je vous laisse imaginer le nom de sa bière ambrée…
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Classique ?
Posté par kantien . En réponse au journal IKOS, un analyseur statique développé à la NASA. Évalué à 5.
Frama-C est sous LGPL avec des parties en BSD.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: optimisation et propagation de constante
Posté par kantien . En réponse à la dépêche OCaml 4.06 et 4.07. Évalué à 2. Dernière modification le 14 décembre 2018 à 17:09.
A priori, j'aurais tendance à répondre oui. Flambda est une phase d'inlining beaucoup plus aggressive de la part du compilateur, avec des heuristiques pour que la taille du code spécialisé généré n'explose pas trop.
On peut avoir, par exemple, un facteur de gain de
x20
en vitesse d'exécution grâce à la spécialisation par flambda d'un code hautement fonctorisé.Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: optimisation et propagation de constante
Posté par kantien . En réponse à la dépêche OCaml 4.06 et 4.07. Évalué à 2. Dernière modification le 30 novembre 2018 à 12:41.
Que je ne suis pas sur d'avoir compris ta question. Ce que tu demandes ressemble fort à de la spécialisation de code à la compilation, c'est à dire de l'évaluation partielle ou inlining (qui ne se limite pas à de la propagation de constante littérale) et que c'est ce que fait f-lambda.
Quand tu passes de
(fun x y -> x + y) 2
à(fun y -> 2 + y)
, tu fais une étape de béta-réduction, c'est-à-dire que tu exécutes le code, mais tu peux faire cela avec n'importe quelle expression du langage (pas simplement une constante comme2
) et c'est de la spécialisation de code par inlining.Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Ha ouais, quand même...
Posté par kantien . En réponse au journal Une backdoor vient d’être trouvée dans un paquet npm connu. Évalué à 5.
Dès qu'on a des fonctions polymorphes dans le langage, on peut faire une implémentation loufoque de l'arithmétique (mai l'arithmétique en question n'est pas loufoque). L'idée consiste à identifier un entier avec le principe de définition par récurrence (
n x f = f (f ...(f x))
, l'entiern
appliquen
fois la fonctionf
àx
) :à l'usage :
:-)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: On peut troller ou faut attendre vendredi ?
Posté par kantien . En réponse au journal Pijul 0.11. Évalué à 5.
Non, t'as juste raté la discussion sur le sujet dans le premier journal qui présentait pijul (dont le lien est donné dans celui-ci), discussion qui débute ici.
Tu pourrais aussi lire le reste du fil des commentaires pour avoir une idée de la réponse à la question « pourquoi pijul ? ». ;-)
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Et vue.js alors?
Posté par kantien . En réponse au journal 8 mois avec Javascript (ES6) et vue.js : mon retour d'expérience du développement front en 2018. Évalué à 3.
On simplifie au maximum en réduisant le nombre de parcourt de listes pour construire la liste résultante. Les compréhensions de listes, c'est de la composition de
map
etfilter
.c'est l'équivalent python du code haskell :
puis on utilise les lois de bases de
map
etfilter
:Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Et vue.js alors?
Posté par kantien . En réponse au journal 8 mois avec Javascript (ES6) et vue.js : mon retour d'expérience du développement front en 2018. Évalué à 5. Dernière modification le 14 novembre 2018 à 00:40.
Au lieu d'imbriquer les compréhension de listes, n'en faire qu'une avec pour condition la conjonction des deux autres. ;-)
est équivalent à
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Inférence de types
Posté par kantien . En réponse à la dépêche Sortie de JDK 10. Évalué à 4. Dernière modification le 10 novembre 2018 à 00:49.
Bah si il le connaît. ;-)
Je n'écris presque jamais aucune annotation de type en OCaml (je n'écris les types que dans les interfaces de mes modules, ou quand le compilateur ne peut inférer le type) et je n'ai aucun problème pour connaître le type de mes données à la lecture du code. C'est pareil pour les codes que je lis, et c'est le cas de tous le programmeurs habitués au langage. Les seuls que je vois écrire des annotations, c'est ceux qui viennent des langages avec annotations explicites (comme Java ou C++).
Cela étant, contrairement à ce qu'a dit Renault, ce n'est pas spécialement moderne comme caractéristique d'un langage : le système date du début des années 80.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: À boire et à manger
Posté par kantien . En réponse au journal Un développeur qui dénonce. Évalué à 2. Dernière modification le 05 octobre 2018 à 11:38.
Je me rend compte que j'étais resté trop évasif sur ma notion de nécessaire, j'entendais par là la nécessité au sens de l'approximation conservative telle que définie dans ton lien. Est nécessaire tout ce qui est potentiellement appelé, même sous une condition dynamique qui ne peut jamais terminée.
Mais je dois être biaisé dans mon appréhension de la difficulté, d'après Nicolas Boulay le linker de Gcc effectue ces suppressions (quoi que ça ne signifie pas que le problème soit simple à résoudre).
Pour illustrer ce que j'ai en tête, je l'illustre avec un exemple en programmation modulaire. Imaginons qu'on a un module de
List
avec cette signature :Un tel module définit le concept de liste chaînée, ainsi que quelques propositions de base sur lui (une théorie élémentaire sur les listes, en somme). Maintenant, je veux écrire un programme qui utilise ce concept mais le seul théorème qui m'intéresse est que l'on peut mapper une liste. Problème pour le compilateur : faire en sorte que seul le code de
List.map
soit lié statiquement à mon binaire, mon programme n'ayant rien à faire du fait que l'on puisse aplatir une liste de listes par exemple.On retrouve le même genre de questions dans les langages orientés objets (un objet c'est le module du pauvre) : ne pas lier statiquement le code des méthodes dont on est certain qu'elles ne seront jamais appelées.
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.