Thomas Douillard a écrit 9164 commentaires

  • [^] # Re: Rien de surprenant

    Posté par  . En réponse au journal [Humour] vers un monde différent. Évalué à 7.

    Tu peux toujours tenter de faire implémenter l’arithmétique des intervalles dans ton micropro si tu veux. Ou de la faire utiliser par défaut. Ah tiens d’ailleurs je découvre que ça a déjà été fait : http://standards.ieee.org/findstds/standard/1788-2015.html (si tu lis rien que l’abstract tu verras le standard ne couvre qu’un ensemble limité de problèmes posés)

    Au moins tu te retrouves avec un encadrement rigoureux de l’erreur, et c’est même utilisé pour résoudre des systèmes numériques : https://infoscience.epfl.ch/record/33624/files/EPFL_TH3155.pdf pour une thèse dans le domaine de la « propagation par contraintes numériques » si le sujet t’intéresse. Chap 16 de ce bouquin aussi : https://www.elsevier.com/books/handbook-of-constraint-programming/rossi/978-0-444-52726-4

    Mais le truc c’est que si tu fais ça, c’est un des compromis possible, tu te retrouves non plus avec une seule valeur dans le résultat du calcul, mais avec une intervalle de valeurs, ce qui peut être embarrassant pour le programmeur moyen. Ça demande aussi de se poser une question de précision dans la valeur que l’on veut atteindre, ce qui n’est pas toujours utile. Pire, ce n’est utile pas dans la totalité des cas sauf si on sait déjà que ça l’est ( https://en.wikipedia.org/wiki/Dynamical_systems_theory#Chaos_theory ), c’est à dire si on est dans une application particulière … . Bref, ça introduit de la complexité, qui est inhérente à certains type de calculs. On préfère souvent avoir une bonne approximation de pi que de faire planter un programme parce qu’on a rempli la mémoire sans savoir ou s’arrêter. Le plus important, ce n’est pas d’avoir un langage magique généraliste qui devine tout seul ce qu’il faut faire, c’est que l’utilisateur soit conscient que c’est un compromis, et que peut être ce n’est pas adapté dans son cas. Mais si il fait de la théorie du chaos, il devrait savoir à quoi s’attendre. C’est assez compliqué que python devine tout seul le bon compromis pour ce que l’utilisateur veut faire, simplement parce qu’il ne sait pas ce que l’utilisateur veut faire.

  • [^] # Non.

    Posté par  . En réponse au journal [Humour] vers un monde différent. Évalué à 5.

    ABSOLUTELY NO WARRANTY

  • # Et ça c’est rien, 2+2= …

    Posté par  . En réponse au journal [Humour] vers un monde différent. Évalué à 8.

    https://codegolf.stackexchange.com/questions/28786/write-a-program-that-makes-2-2-5

    Mais bon, c’est de la programmation, un truc de gros dégueux qui manque de pureté. Et du côté des maths ? ben c’est pas forcément plus simple : http://www2.kenyon.edu/Depts/Math/Milnikel/boolos-godel.pdf

  • [^] # Re: Variant

    Posté par  . En réponse au journal L’écriture neutre. Évalué à -1.

    Pas d’accord. C’est facile de discriminer : un point de fin de phrase est suivi par une espace. c’est juste un peu perturbant au début, mais le cerveau s’en accommode très bien. Comme il s’accommode aussi des abréviations qui sont encore plus difficiles à repérer d’ailleurs. D’autant plus que « m. Durand », visuellement, c’est exactement une fin de phrase avec une majuscule sur la suivante.

  • [^] # Re: Variant

    Posté par  . En réponse au journal L’écriture neutre. Évalué à 3.

    En l’occurence c’est juste une question d’apprentissage. Comme la lecture, c’est un peu dur au début. Comme la conjugaison, les gamins se plantent un peu dans la conjugaison de certains verbes parce qu’ils savent pas que c’est irrégulier. Mais si l’écriture inclusive se banalise, ce sera pas plus dur à lire qu’une exception dans un verbe irrégulier.

    Spa comme si on changeait en permanence la règle et qu’on remplaçait aléatoirement une lettre au hasard par une apostrophe à chaque chargement de page web.

  • [^] # Re: Bof mouais pfff

    Posté par  . En réponse au journal [liens] Mais juste un. Évalué à 4.

    J’ai l’impression d’entendre une vieille rengaine .

    Et puis tu montres des injonctions contradictoires : éviter le copier coller, donc faciliter les techniques de réutilisation du code, et en même temps ne pas utiliser de framework, ce qui a pour but de pas réinventer la roue. Les générateurs de code, franchement, je comprend pas. Utiliser un générateur de code ça minimise le code qu’il y a à écrire, au même titre qu’un compilateur. Autant se concentrer à les fiabiliser et à fiabiliser les générateurs.

    Du coup on a un gros problème pour mesurer ce qu’on appelle une « ligne de code ». Si on compte les lignes transformées (compillées, générées), les lignes écrites, on trouvera pas le même chiffre. Ptete même moins si on considère les techniques d’élimination du code mort.

  • [^] # Re: Bof mouais pfff

    Posté par  . En réponse au journal [liens] Mais juste un. Évalué à 2.

    En admettant que tu aies raison, comment lutter contre cette inflation ? Dire « il faut lutter contre l’inflation » ça relève du voeux pieux et ça ne fournit pas de méthode pour améliorer les choses. Perso la réponse « c’est la faute des programmeurs qui codent mal » me semble assez peu convaincant. Ça ne fournit pas d’explication au fait qu’il codent mal.

    Faudrait-il que ça passe par des … outils pour les aider ?

  • [^] # Re: Bof mouais pfff

    Posté par  . En réponse au journal [liens] Mais juste un. Évalué à 2.

    Quand on dit qu'il faut 20M lignes pour coder le système de freinage et d'accélération d'une voiture, ça me semble assez dément

    J’aurai tendance à penser qu’on met des gens avec un minimum de compétences pour faire un truc pareil, perso. Je sais bien qu’on peut penser que la majorité des programmeurs ont un niveau moyen, ça me semble un poil arrogant de penser qu’il n’y a pas de bonne raison pour ça et que le code d’un système critique n’est pas passé par des revues de code qui détectent les problèmes de design évident. C’est si compliqué d’imaginer que tous les problèmes de la vraie vie n’ont pas des solutions simples ?

    Ça explique une certaine foi dans le progrès technologique de ta part remarque …

  • [^] # Re: Bof mouais pfff

    Posté par  . En réponse au journal [liens] Mais juste un. Évalué à 5.

    Quoi qu’il arrive, l’écosystème logiciel est complexe. Une amélioration des pratiques ne modifiera cette complexité qu’à la marge. Exemple, si tu veux faire un logiciel qui manipule la loi, ben tu te fades la complexité de la loi, et elle ne dépend pas des pratiques logicielles, elle est intrinsèque.

    On peut cependant observer qu’un outillage puissant est important pour débusquer et/ou se débarrasser des bugs des programmes C - ou l’utilisation de meilleurs langages comme Rust qui permettent d’en éviter certains. Mais il faut construire un Rust.

    La thèse de l’article c’est que la complexité des spec des logiciels qu’on veut écrire dépasse la capacité d’un être humain à l’appréhender. On peut être tenté de résoudre ça de manière « pratique » en limitant la complexité des programmes à quelque chose de gérable, en faisant des programmes « simples », mais c’est reporter la complexité (intrinsèque) à un niveau « supérieur » (l’interaction entre ces briques). Et c’est pas dit qu’on puisse tout le temps ramener par de simple pratique cette « complexité de niveau supérieure » à quelque chose de gérable facilement. Du coup, des outils et des pratiques pour gérer ça sont utiles.

    Cela dit je suis pas certains qu’on puisse séparer outil et pratiques si facilement (non seulement on crée des outils pour s’aider à travailler de la manière qu’on veut, ex. git par Linus, mais aussi les pratiques découlent des outils qu’on utilise (ex. les design pattern ne s’implémentent pas de la même manière dans différents langages).

  • [^] # Re: Vala

    Posté par  . En réponse au journal Peek, capture d'écran au plus simple. Évalué à 4.

    Ah ouais, en lisant les posts de blogs ça sent l’amateurisme dans l’implémentation du langage. Des programmes vala qui marchent pas parce que le C généré n’est pas du C c’est quand même pas terribles.

    C’est ptete pas un langage très intéressant du point de vue théorique mais c’est peut être un cas d’étude intéressant pour nos experts en langages locaux https://linuxfr.org/users/bluestorm/journaux/pourquoi-la-recherche-en-langages-de-programmation

  • [^] # Re: La gouvernance par les nombres

    Posté par  . En réponse au journal ils l'ont voulu, ils l'ont obtenu, et ils l'ont dans le baba.... Évalué à 9.

    C'est un indicateur, un moyen intermédiaire pour remplir des objectifs plus ambitieux (diminuer le chômage, améliorer le niveau de vie).

    … pfff fastidieux comme discussion. Je crois effectivement qu’on est pas sur la même longueur d’onde. La variation du PIB est tellement associé à « vivre mieux » et les politiques ont tellement les yeux rivés sur cet indicateur qu’en pratique j’ai aucun scrupule à ne pas considérer que ton analyse contredit la mienne.

    Croitre le PIB est une condition nécessaire pour vivre mieux. Là est le dogme. En pratique, quand on remplace les abeille par des humains pour polliniser parce qu’il n’y a plus d’abeille, on a diminué le chômage. Pas sur que quiconque vive mieux pour autant. Pas de quoi remettre quoi que ce soit en cause pour autant dans le système économique et sa gestion.

  • [^] # Re: La gouvernance par les nombres

    Posté par  . En réponse au journal ils l'ont voulu, ils l'ont obtenu, et ils l'ont dans le baba.... Évalué à 2.

    Ouais alors t’as raté que « croissance » c’est … croissant. Donc ça monte. C’est pas neutre. On appellerait ça « niveau de richesse » ce serait quelque chose. Mais non. C,est la croissance du niveau de richesse que ça signifie.

    Quand on parle d’un indicateur neutre, genre la population, on fait un recensement et on dit « il y a tant de personne dans le pays ». Mais ça fait un moment que la croissance de la population n’est plus un objectif politique.

  • [^] # Re: La gouvernance par les nombres

    Posté par  . En réponse au journal ils l'ont voulu, ils l'ont obtenu, et ils l'ont dans le baba.... Évalué à 8.

    Faut pas tout mélanger, la croissance, c’est pas l’économie c’est un objectif politique.

    C’est basé sur la croyance que cet objectif maximise le bien commun. Après, sachant que les économistes sont quand même subordonnés à des choix politiques, la croissance est un élément central des modèles économiques, qui peut s’étudier de manière scientifique.

    L’erreur serait de croire que c’est le seul paradigme possible pour l’économie … Mais tant que le politique ne poursuivra que cet objectif, ce sera dur d’avoir des données sur l’économie dans ces politiques différentes. Je pense qu’un terme plus correct que dogme serait « paradigme ». Le problème principal de la science économique, c’est que le changement de paradigme scientifique dépend assez largement du changement de paradigme politique … et c’est pas une mince affaire de faire bouger les lignes politiques.

    Je force volontairement le trait de la distinction, parce que le fait qu’il existe des relations incestueuses entre économie politique et scientifique brouille complètement les lignes. C’est la vraie difficulté pour l’économie en tant que science.

  • [^] # Re: N'utilife pluf lef icônef du thème GTK

    Posté par  . En réponse au journal Le Firefox nouveau est arrivé !. Évalué à 2.

    Tentative de troll sur l’esthétique de la langue ? ça a vaguement démarré sur le dernier journal sur l’écriture inclusive.

  • [^] # Re: Le cauchemar de Trougon

    Posté par  . En réponse au journal Le cauchemar d'Henry. Évalué à 1.

    Mais non, tu t’es réveillé dans un « escape room ».

  • [^] # Re: Jean-François Revel commente ainsi la féminisation des mots

    Posté par  . En réponse au journal Partage. Évalué à -2.

    c’est quoi la langue officielle ?

  • [^] # Re: Jean-François Revel commente ainsi la féminisation des mots

    Posté par  . En réponse au journal Partage. Évalué à 4.

    J'aurai tendance à répondre, si on s'en fiche tant que ça de cet arbitraire sans aucun sens, on se fiche un peu de changer la règle du jeu.

  • [^] # Re: Comportement indéfini ou incorrect ?

    Posté par  . En réponse au journal Compilateur trop intelligent. Évalué à 7.

    C’est une variable statique. Donc si j’ai la bonne ligne dans la spec : https://port70.net/~nsz/c/c11/n1570.html#6.7.9p10

  • [^] # Re: Utilisateur trop bête

    Posté par  . En réponse au journal Compilateur trop intelligent. Évalué à 1.

    Pour que les comportements indéfinis du C/C++ ne soient pas un problèmes, il ne faut pas apprendre la spec par cœur. Suffit de programmer en utilisant d’autres langages.

    Et figure toi que ça n’implique pas d’âtre un mauvais programmeur ;)

  • [^] # Re: Utilisateur trop bête

    Posté par  . En réponse au journal Compilateur trop intelligent. Évalué à 4.

    Attention, bientôt tu vas exiger un permis de programmer comme d’autres veulent un permis d’utiliser un ordinateur. Le soucis c’est qu’on risquerait de se retrouver facilement avec une pénurie de programmeur avec ce niveau d’exigence.

  • [^] # Re: copie efficace vers/de une machine distante

    Posté par  . En réponse à la dépêche Sortie de gfast-copy et de fast-copy sur www.open-source-projects.net. Évalué à 5.

    Bug rapporté ?

  • [^] # Re: Le cerveau n'est pas logique

    Posté par  . En réponse au journal Pourquoi la recherche en langages de programmation ?. Évalué à 4.

    Ici tu confonds deux choses : la logique du premier et la logique intuitionniste. La première concerne les règles de formation des jugements, la seconde traite des règles d'inférences ou raisonnements.

    Mmm après réflexion je dirai plutôt que je fais une erreur stupide : je confonds implication et déduction. Par définition, une logique s’intéresse aux règles de constructions et à la formation des jugements … La non constructivité induit qu’il n’existe pas forcément de moyen de former un algorithme à partir du théorème ou de la formule, et c’est bien tout … Je crois que tu confonds « formule de la logique du premier ordre » et « logique du premier ordre ». Ou alors c’est moi qui confond … Parce que dans mon esprit, la logique du premier ordre est un système formel, donc comprend les règles de déduction : https://en.wikipedia.org/wiki/First-order_logic (et wp semble être d’accord avec moi) ou alors j’ai rien compris à ce que tu dis :) La logique intuitionniste est aussi un système de déduction, mais avec des règles de déduction différente. Ou alors tu voulais dire « la logique intuitionniste du premier ordre est l’archétype du typage dynamique » ?

    Du coup je me fourvoyai effectivement, tu parlais à chaque fois de système de déduction intuitionnistes. Tu établis 'une correspondance preuve/programme qui ne fonctionne que pour ces système, et je pensai que tu associais un système non intuitionniste pour les langages dynamiques. Alors que tu établies plus une distinction théorie à variable typée/théorie à variable pas typée.

    Cela dit j’ai quand même l’impression d’être grugé. Dans un cas, le connecteur « -> » est vu par correspondance de curry-howard comme le type d’une fonction, alors que dans l’autre pour un langage dynamique tu as complètement oublié cette correspondance implication/fonction et c’est le quantificateur qui joue ce rôle.

  • [^] # Re: Le cerveau n'est pas logique

    Posté par  . En réponse au journal Pourquoi la recherche en langages de programmation ?. Évalué à 2.

    Sinon t’embêtes pas trop sur le Kantisme, j’ai parcouru les articles sur « noumène et phénomène » de la wp en anglais, qui sont instructifs et mettent bien en lumière les difficultés d’interprétation. , j’en conclu que tout tourne autour du thème « la réalité est-elle concevable », « peut-on concevoir l’inconcevable » (peut-on nommer l’innommable). Ça me semble un peu une tentative de formalisation du problème de la recherche scientifique. (est-ce qu’on peut trouver ce qu’on cherche pas?) Est-ce qu’on peux spécifier la totalité de la réalité ?

    Du coup, on peut se demander si ce n’est pas voué à l’échec. Toute formulation de ce problème est voué à s’enfermer dans son propre cadre théorique. D’une part, effectivement il est trivial qu’on a accès qu’à l’univers observable en l’état des connaissances actuelles. D’autre part, cette formalisation elle même, si on prend la réciproque de ta propre affirmation que tout ce qui est entendable ou logique peut s’exprimer en langage naturel, peut s’exprimer dans une logique.

    Et là, on tombe sur des considérations Godelienne :) dans quelle mesure peut-on affirmer que l’axiomatique induite par cette formalisation est cohérente, ou indépassable ? Si elle est cohérente, elle est incomplète, et donc dépassable ? Ça ne contredirait pas un peu la transcendance de cette vision des choses ?

  • [^] # Re: Le cerveau n'est pas logique

    Posté par  . En réponse au journal Pourquoi la recherche en langages de programmation ?. Évalué à 2.

    Tu prends là une condition suffisante (l'existence propre de l'objet expliquerait l'accord des observateurs), pour une condition nécessaire (leur accord ne peut s'expliquer que par une existence propre de l'objet, abstraction faite du rapport à l'observateur)

    Il n’y a pas grand chose de ni nécessaire, ni suffisant dans l’accord entre observateurs pour montrer grand chose. L’observation est faillible par essence, et deux observateurs peuvent faillir de la même manière. On ne peux que constater que la méthode scientifique finit par générer quelque chose qui ressemble à un accord. Ce qui en soit est considéré comme une quasi religion pour Eintein ;) Et ce en tentant aux maximum de s’affranchir de nos biais et illusions en multipliant les méthodes d’observation. Cela dit si tu ne postules pas ça, il ne peux y avoir de sciences.

    parler d'observation sans observateur (c'est-à-dire en faisant abstraction du rapport entre l'observateur et l'objet observé) est une contradiction dans les termes.

    Je comprends pas trop en quoi tu postules que je veux me débarrasser de l’observateur. Il me semble assez naturel aussi de postuler que nos théories ne sont pas la réalité. A partir de là on peut déduire que l’homme, en tant qu’être doué de raison, tente juste de déceler l’ordre dans le monde en vue de le prévoir. Il réussit, ou il échoue ;)

    Premièrement, l'accord entre observateurs sur les determinations spatio-temporelles des objets est tout sauf commun : voir les principes fondamentaux des relativité restreinte et générale.
    L’accord entre observateurs existe aussi en relativité générale, je trouve ça assez moyen comme contre exemple. Il est simplement plus compliqué à établir, car il faut utiliser les équations de changements de référentiels prévus par la théorie. Il passe par ce proxy pour éviter ce qui pourrait sembler absurde à l’observateur humain naïf plongé prêt d’un trou noir ou en voyage spatial.

    dans la connaissance expérimentale on ne pose jamais de questions sur ce que sont les choses en elles-même, mais seulement sur les résultats de nos observations;

    Bien sur que si, il est impossible de concevoir une expérience scientifique un tant soit peu élaborée sans se poser des questions sur la nature de l’objet observé. Il est par exemple impossible de mesurer un quelconque spin d’une particule sans avoir postulé qu’il devait exister une telle quantité, ou qu’elle représentai quelque chose. Alors évidemment ça ne veut pas dire qu’on a une réponse absolue sur la nature de la chose qu,on veut observer, mais on a au moins l’idée (ou l_’espoir) que faire une telle expérience a un sens. Nos théorie ont pour vocation de nous renseigner sur la nature des choses. Ça implique nécessairement la question de la théorisation, qui est une étape loin d’être triviale à partir des observations. La relativité générale permet de restaurer l’accord

    Je vois alors l'énoncé comme une fonction qui prend en entrée un interface{} et qui fait du typage dynamique : une assertion de type ou un switch (comme tu veux), comme en Go.

    Je comprend bien l’idée, mais l’analogie trouve ses limites vu que la logique du premier ordre n’est pas constructive. Si x n’appartient pas à Oméga, ben, rien, ça ne pose pas de problème. Donc « exécution » n’a pas trop de sens. Par contraste, en python, si tu passes un objet d’un mauvais type à une fonction, ben « boom ». Python se comportera pas bien du tout … Alors que dans une implication logique, un ensemble qui ne vérifie pas la prémisse ne sera jamais susceptible de fournir un contre exemple de l’implication.

    La notion de type capture bien mieux que celle d'ensembles (au sens de ZF) la notion logique de concept.
    Je te suis pas. C’est une notion logique la notion de concept ?

  • [^] # Re: Le cerveau n'est pas logique

    Posté par  . En réponse au journal Pourquoi la recherche en langages de programmation ?. Évalué à 2.

    ce ne sont que de simples phénomènes qui n'ont pas d'existence propre en dehors de leur rapport à un observateur.

    Le truc qui me choque à chaque fois que je croise ce genre de philosophie : et quand il y a 2 observateurs ? Et que par hasard ils sont d’accord, ce qui n’est pas systématique, mais assez commun. On peut donc arguer qu’ils tirent les mêmes conclusions sur l’objet en question, ce qui tend à montrer que ces phénomènes ont une existence propre. On ne cherche pas autre chose que nous rassurer sur la pertinence de nos observations en sciences en tentant de rendre les résultats reproductibles.

    ZF c'est l'archétype du typage dynamique
    Je suis intéressé par une explication là dessus. ZF est bien fondée dans le sens ou toute compréhension est associée à un ensemble préexistant https://fr.wikipedia.org/wiki/Sch%C3%A9ma_d%27axiomes_de_compr%C3%A9hension « Étant donné un ensemble A et une propriété P exprimée dans le langage de la théorie des ensembles, il affirme l'existence de l'ensemble B des éléments de A vérifiant la propriété P. » ce que j’interprète (librement) comme une relation de sous typage. Étant donné que le « x ∈ A » ressemble quand même pas mal à une assertion de type et qu’elle est nécessaire dans une théorie des ensemble, j’ai du mal à comprendre en quel sens ça correspond à un langage dynamique.