Je ne suis pas sûr de te suivre. Par définition, le jeu est résolu quand tu as trouvé la stratégie optimale—ou plus exactement quand tu as prouvé que tu as trouvé la stratégie optimale. Ton problème, c'est que ta définition de "résolution" tient au seul fait que tu n'as pas encore trouvé de stratégie meilleure, ce qui est une défintion super faible (en gros, tu définis "mon programme résoud le jeu" par "mon programme est le meilleur", ce qui n'a honnêtement pas grand chose à voir : à ce compte-là, DeepBlue avait déja résolu le jeu, ainsi que toute la série des meilleurs joueurs du monde avant lui). Bon, je te l'accorde, la force de AlphaZero c'est de n'avoir jamais perdu, ce qui n'exclut pas qu'AlphaZero ait peut-être résolu le jeu d'échecs (ce qui voudrait dire que la partie optimale est nulle). Une seule défaite, et tu prouves qu'AlphaZero n'a pas résolu le jeu (à moins que même en jouant parfaitement les blancs perdent, ce qui serait douteux).
Bref, en résumé, non, je ne pense pas qu'on puisse conclure quoi que ce soit sur la résolution du jeu d'échecs. AlphaZero est un algo qui est très très fort, et visiblement plus fort que n'importe quel autre algo. Il est possible qu'AlphaZero ait résolu le jeu, mais c'est très peu probable. Il est certain que le jeu d'échecs a une solution, mais il n'est pas certain que cette solution soit un jour trouvée, et il n'est pas du tout garanti qu'un mécanisme informatique soit un jour en mesure de stocker cette solution pour l'utiliser pour gagner.
Par contre je me pose la question de savoir à quel moment un jeu peut être considéré comme résolu? A défaut de prouver une stratégie gagnante définir un programme invincible semble le terme du jeu.
Un programme invincible ne te dit pas du tout que le jeu est résolu (tant que tu ne peux pas reproduire toi-même la stratégie gagnante, le jeu n'est pas résolu). Le jeu d'échec est loin d'être résolu, puisque d'après l'article AlphaZero utilise toute une variété d'ouvertures, et donc ne reproduit pas une stratégie unique : il sait gagner en jouant des parties diversifiées. Du coup, il n'a pas résolu le jeu, il est juste super-bon.
Formellement, il y a plusieurs niveaux dans la résolution du jeu. Tu dois d'abord prouver que le jeu peut être résolu, ce qui n'est pas encore fait aux échecs (on ne sait pas si la meilleure stratégie blanche mène à la victoire ou à une partie nulle, on pense que ça mène au match nul mais ça n'est pas prouvé—formellement, on pourrait aussi aller à la victoire des noirs, mais ça surprendrait vraiment tout le monde. La raison pour laquelle on penche vers la nulle est qu'un joueur qui joue les noirs et qui n'a qu'à annuller la dernière partie pour gagner un match y arrive assez facilement ; il suffit d'échanger les pièces jusqu'à la nulle par manque de matériel.
Si tu sais que ton jeu peut être résolu, il faut ensuite déterminer la meilleure stratégie (suite de coups qui mène à la victoire des blancs malgré la meilleure défense des noirs). Tu peux considérer à ce stade que le jeu est résolu. Sauf que si tu ne sais pas comment répondre à un coup sous-optimal des noirs, en pratique, tu ne vas pas gagner à tous les coups. Il te faut donc connaitre la stratégie qui mène à la victoire à partir de n'importe quelle réaction des noirs. Et là, tu as résolu ton jeu. Mais techniquement, il n'est pas dit que ça soit faisable pour les échecs. Même si tu contrôles les blancs (et donc, tu n'as pas à envisager tous les coups possibles des blancs), et qu'en moyenne les noirs ont 20 coups légaux, pour une partie qui s'achève en 40 coups, il te reste quand même 1052 parties à mémoriser… Si tu te concentres que sur 3 coups possibles (en partant du principe que les 17 autres coups sont tellement mauvais que tu serais capable de gagner sans l'algorithme optimal), tu restes à 1019 parties, ce qui semble difficilement faisaible avec le matériel informatique d'aujourd'hui… Bref, au delà des problèmes de calcul, stocker quelque part les suites de coups qui te permettent de gagner à tous les coups n'est peut-être même pas faisable.
Ceci dit, d'énormes progrès ont été faits sur les fins de parties, et je crois que toutes les fins à moins de 8 pièces sont résolues dans toutes les positions, par exemple. Honnêtement, rien qu'avec ça, tu bats n'importe quel joueur humain, à moins d'arriver en fin de partie avec un gros handicap. C'est vraiment le milieu de partie qui pose problème.
Je tiens à préciser que quoi qu'il arrive, le logiciel est destiné, si il est publié à être publié sous licence libre. Pour autant, je considère que tout travail (utile) mérite salaire: la qualité de la publication dépendra de l'aide reçu.
Le paradigme habituel du logiciel libre, c'est de publier tôt et souvent ; tu ébauches un projet, tu partages ton code, et une communauté se forme autour du code si le projet est intéressant, pour l'amener à maturité. Pour la plupart des projets, le bénéfice du mainteneur du logiciel est assez faible, à part la reconnaissance de la communauté et le plaisir de disposer du logiciel que tu souhaites. Les bénéfices sont quand même indirects, je pense par exemple que de maintenir un beau logiciel libre reste une ligne très intéressante sur un CV, et qu'éventuellement ça peut aussi permettre d'en vivre plus directement (un logiciel populaire peut attirer des dons).
J'ai l'impression que ce que tu proposes, c'est un nouveau paradigme qui est apparu avec les campagnes de financement participatif. Est-ce qu'il y a des exemples qui ont vraiment fonctionné? Personnellement, je pourrais envisager de faire un don pontuel à un projet en développement que j'utilise régulièrement, par exemple. Par contre, je me vois mal donner de l'argent à un projet "futurement" libre pour lequel il n'existe qu'un cahier des charges.
Je comprends bien que le problème de fond, c'est le financement du logiciel libre. Jusqu'ici, les modèles économiques restent fragiles et réservés à des logiciels particuliers (par exemple, ceux avec lesquels ont peut vendre du service). Beaucoup de logiciels libres sont développés bénévolement, ou par des contributeurs salariés. L'idée de "vendre" le développement d'un logiciel libre paraît logique du point de vue du développeur, mais elle est illogique du point de vue de l'utilisateur, à qui tu demandes de payer pour un logiciel qui n'existe pas, alors qu'il a à disposition des logiciels (peut-etre imparfaits) qui existent déja et qui sont disponibles gratuitement.
Tu peux considérer que tout travail mérite salaire, ça n'en fait pas un mantrâ miraculeux qui va te rapporter des sous. Moi je considère que les professeurs méritent plus de respect, que les SDF devraient avoir un toît, que tous les enfants du monde devraient avoir à manger, etc. La question n'est pas de savoir ce qui devrait être, c'est d'arriver à trouver un système pour arriver à cet objectif. Et là, j'ai juste l'impression que tu ne te donnes pas les moyens d'atteindre cet objectif (ou, pour être plus précis, tu ne donnes pas aux autres les raisons rationnelles pour te permettre d'atteindre cet objectif).
PS: sur le fond, le projet reste intéressant. À mon avis, plus la compatibilité avec bash sera maintenue, plus la possibilité de faire une transition douce motiverait les utilisateurs à faire le changement.
Comment penser qu'il ne sera pas demandé à Qwant, appelé à devenir un des principaux service hébergé en France, d’accueillir ce dispositif sur ses serveurs ?
Parce que la loi de l'autorise pas? Ces articles sont assez imbittables, mais ils restent quand même clairs :
* opérateurs de communications électroniques et des personnes mentionnées à l'article L. 34-1 du code des postes et des communications électroniques = opérateurs télécom
* "Les personnes dont l'activité est d'offrir un accès à des services de communication au public en ligne" = FAI
* "Les personnes physiques ou morales qui assurent, même à titre gratuit, pour mise à disposition du public par des services de communication au public en ligne, le stockage de signaux, d'écrits, d'images, de sons ou de messages de toute nature fournis par des destinataires de ces services" = hébergeurs
Qwant n'est pas un opérateur télécom, ni un FAI, ni un hébergeur. Je ne vois pas comment on pourrait lui imposer la fameuse "boîte noire".
ils ne fournissent aucun éléments pour étayer leur promesse
En même temps, tu voudrais qu'ils te fournissent quoi pour te prouver qu'ils ne te traquent pas? Tu as déja l'élément "pas de cookie", c'est déja un début. Ils peuvent évidemment t'identifier via ton IP ou les métadonnées du navigateur, mais à part te donner un accès physique à la totalité de leurs serveurs, comment tu veux prouver qu'ils ne logguent pas ces données?
Même si le code était libre, ils ne pourraient pas prouver qu'ils exécutent le même code que ce qu'ils te fournissent. J'ai juste l'impression que tu demandes l'impossible. Reformule ta phrase avec quelque chose comme "il est impossible de savoir s'ils respectent leur promesse", et la seule alternative est donc l'auto-hébergement d'un moteur de recherche. Bon courage.
ils auront bientôt l'obligation de mettre une "boite noire" pour enregistrer les "métadonnées" chères à notre gouvernement
Mettre des mots qui font peur dans n'importe quel ordre sur n'importe quel sujet, sans aucune référence, sans aucune analyse, sans aucune distinction entre FIA et moteur de recherche… non, y'a pas à dire, c'est constructif. Tu vas convaincre des gens qui ne savent pas ce dont tu parles.
Je n'ai pas envie d'aller en prison pour avoir consulté le mauvais site.
Les prisons sont pleines de gens qui ont consulté le mauvais site, dénoncés par un moteur de recherche. C'est une peur tout à fait rationnelle, c'est un argument constructif, mesuré, pertinent.
On aurait des gens qui raconteraient n'importe quoi (type fashosphère, etc) en exagérant des faits divers et en surinterprétant toute déclaration ou tout élément législatif, voire en inventant des peurs irrationnelles (grand remplacement…). Comme ils sont du mauvais côté, c'est des méchants, c'est inacceptable. Et puis d'un autre côté, on aurait des «gentils», les libristes, les gens qui veulent défendre les droits de l'Homme, l'environnement, les citoyens contre les multinationales et les gouvernements. Et ceux-là, ils n'ont pas besoin de peaufiner leur argumentaire, deux ou trois remarques un peu anxiogènes en mélangeant un peu tout, pas grave; comme ce sont des gentils, c'est légitime d'exagérer, de sortir du contexte, de «simplifier» à sa manière. Bah moi je n'y crois pas. Quand on pense avoir raison, on affute ses arguments. Autrement, c'est de la propagande, ça ne vaut rien, et ça dessert même l'argumentaire ; n'importe qui de normalement constitué qui ne connait pas le sujet va penser (à raison) qu'on se fout de lui.
On ne s'entend pas trop mal. Écrit tous les jours, oral plus ou moins intensif en fonction de la période.
Comment as-tu fait pour le parler de façon acceptable ?
Bosser à l'étranger pendant 5 ans.
Comment tu fais pour ne pas être stressé avant/pendant un call ?
Le téléphone en français ne me met pas super à l'aise, donc en anglais c'est pareil.
Est-ce que tu pourrais être dans l'entreprise où tu es aujourd'hui si tu ne parlais pas anglais ?
Non. Je ne pourrais pas occupper le poste que j'occuppe de toutes manières.
Est-ce que tu as dû te farcir des séries américaines en VO alors que tu détestes ça ?
C'est ridicule, si on déteste ça on ne fait pas ça.
Tu dirais quoi si un collègue te confiait qu'il doit coder en C, qu'il est payé pour ça, mais qu'il ne connait pas ce langage? C'est stressant pour lui, mais bon, qu'est-ce que tu veux répondre?
Par curiosité, quel est l'intérêt d'auto-héberger un méta-moteur de recherche? En termes de confidentialité, c'est pourri, non? Chaque requête va être envoyée à plusieurs moteurs commerciaux, mais si tu es le seul à utiliser ton méta-moteur, l'historique de tes recherches va être associée à l'IP de ton serveur auto-hébergé, et c'est presque comme si tu avais envoyé plusieurs requêtes à partir de ton navigateur (sauf les cookies).
Pour Quant, je ne crois pas que ça soit libre ; tu as des infos là-dessus?
Et il créé des emplois.
Même un poste de ninja polyvalent, d'après leur site web.
Je ne suis pas sûr de comprendre le lien entre un moteur de rendu ou un moteur de recherche, mais d'expérience, seuls les "méta moteurs" de recherche alternatifs sont utilisables (du style Duck Duck Go). Ces moteurs interrogent les moteurs commerciaux et produisent une sortie qui fait la synthèse, tout en assurant ton anonymat (relatif) vis-à-vis des gros moteurs.
J'imagine que pour avoir un vrai moteur de recherche sans la collecte de données qui vient avec les moteurs traditionnels, il faudrait payer (assez cher, je pense). L'infrastructure et le développement logiciel qui vient derrière le moteur de Google est quelque chose d'impressionnant, que jamais le libre et l'associatif seraient en mesure de fournir.
Dans mon entourage, quelques personnes utilisent des moteurs de recherche différents de Google, mais ils ont tous le réflexe de repasser sur Google pour une recherche un peu complexe. Dans l'absolu, si tu souhaites simplement une sorte de raccourci dans la barre d'adresse (par exemple, taper "Wiki xxx" au lieu de "www.wikipedia.org", puis "rechercher", puis "xxx"), alors j'imagine qu'il est possible de trouver une solution. Si par contre tu souhaites effectuer une recherche complexe, technique, ou dont la réponse ne se situe que sur des sites confidentiels ou auto-hébergés, je ne vois pas comment tu peux te passer de la puissance des gros moteurs commerciaux…
j' aime bien passer le temps pour aider les personne qui ont des soucie avec leur pc que ce soit
Je pense qu'on est tous comme ça, sinon on ne répondrait pas ici.
mais pour moi jouer a la belotte sur Facebook enfin je joue souvent a la belotte avec ma famille enfin bref
On n'est pas là pour juger si c'est bine ou mal de jouer à la belotte sur Facebook. C'est sûr que ça ne motive pas les gens pour t'aider à trouver une solution à tout prix, parce que ça a l'air moins important que si tu étais chef d'entreprise et qu'un client exigait un logiciel particulier, mais a priori ça ne devrait pas rentrer en ligne de compte.
Le problème, c'est que tu as besoin d'un logiciel qui est dangereux pour ton système. Flash Player, c'est un logiciel obsolète, et il est dangereux même si tu es sous Windows ou sous n'importe quel système, ça n'a rien à voir avec Linux. La différence, peut-être, c'est qu'en effet les distributions Linux ne font aucun effort pour que tu puisses l'installer, et ça, c'est parce qu'elles ne veulent pas que tu puisses tout casser. Du coup, si tu veux l'installer, tu dois te débrouiller par d'autres moyens. C'est le même principe qu'un copain qui te confisque tes clefs de bagnole parce que tu as trop picolé. Selon le point de vue, c'est sympa ou c'est pas sympa, les deux se défendent.
faire une mise a jour vers gnome
Je me demande si tu ne parles pas de faire une mise à jour vers Ubuntu 17, qui a changé de bureau par défaut. Le problème, c'est que comme tu expliques mal, les gens ne comprennent pas ce que tu veux ; ça c'est de la faute de personne.
Jusqu'à Ubuntu 16, le bureau par défaut était Unity. Tu pouvais installer gnome aussi, mais ça demandait une manipulation. À partur d'Ubuntu 17, le bureau par défaut est Gnome. Tu comprends donc pouquoi ta demande n'est pas claire : est-ce que tu parles de passer d'une Ubuntu 16 à une Ubuntu 17 (et dans ce cas, tu dois faire une mise à jour), ou est-ce que tu veux passer de Unity à Gnome tout en restant sur une Ubuntu 16 (et dans ce cas, tu dois installer Gnome). On en peut pas savoir à ta place qce que tu veux faire.
Et au passage, ça n'a rien à voir avec Flash Player et la belotte sur Facebook. Si tu veux arriver à tes fins, il faut que tu arrives à découpler les problèmes et à les régler un par un, sinon ça va devenir pire.
Mouais, on n'est pas à ce point là, à mon avis. Cette personne sait à peine sous quel système elle est (hier c'était sous Fedora, et en fait non c'est une Ubuntu). Je pense que c'est une très mauvaise idée de lui faire installer un logiciel, FlashPlayer, qui est obsolète, bourré de trous de sécurité, et plus supporté par sa distribtuion. Non seulement les manips vont être chiantes à faire et ça va prendre des semaines de question-réponses (de type "ça marche pas, dites-moi comment faire autrement"), mais en plus il va complètement péter son système s'il commence à installer des versions 32 bits de logiciels majeurs de la distrib.
Bah oui, tu n'as pas tort, mais du coup, je ne comprends pas pourquoi ces usines à gaz annoncent des millions de lignes de code. C'est sûr que si tu as un truc pour lire un DVD, et que tu as derrière un Linux, un Firefox, et un truc en java, bah avant d'avoir la moindre ligne de code tu te tapes un système bloaté derrière… Mais est-ce vraiment de ça dont on parle? Quand on regarde le nombre de lignes de code derrière un logiciel métier, on ne parle pas du système.
Après, toujours pareil : 990 000 lignes de bibliothèques et 10 000 lignes de vrai code, ça n'est pas du tout pareil que 1M lignes de code pour le logiciel. D'un autre côté, des bugs peuvent se cacher dans les bibliothèques, les compilateurs, les surcouches, les frameworks…
Dans le fond, c'est plus un sentiment général qu'une méthode de développement. J'ai l'impression que si on voulait des systèmes moins buggés et plus compréhensibles, il faudrait beaucoup moins de code, de la factorisation de code via des bibliothèques, et des applications qui restent simples et qui ne font qu'une chose, mais bien. Or, on se dirige vers exactement le contraire : de plus en plus de surcouches, des méga-projets qui se battent sur la longueur du code, des trucs tellement complexes que personne ne comprend vraiment ce que ça fait, des bugs insolubles, des livraisons de binaires via des containers qui contiennent de multiples duplicats des mêmes bibliothèques jamais mises à jour, avec des versions différentes… On peut coller autant de tests unitaires ou d'assistants de preuve derrière, on ne fait que vérifier avec une machine qu'on n'a pas tout pété, mais on ne maitrise pas mieux pour autant ce qui tourne sur la bécane.
Je ne pense pas avoir dit ça. Pour avoir un avis réellement intéressant, il faudrait discuter avec des gens qui sont spécialistes de l'embarqué et des systèmes sécurisés ; le cas de la bagnole ou de l'avion de ligne sont particulièrement techniques (contraintes du temps réel, problèmes de sécurité, etc). Si on en revient à des applications traditionnelles sur un ordinateur, qui ne font rien de critique, alors je pense que l'hyper-inflation du code vient de l'utilisation de tout un tas de couches de frameworks, de générateurs de code, de compilateurs de compilateurs entre plusieurs langages, etc., donc typiquement de l'utilisation d'outils "modernes", censés faciliter la tâche du développeur, mais qui finissent par encapsuler le code dans des couches multiples de trucs lourds et inutiles. Au final, on a un oignon, alors que le code lui-même représente un tout petit truc au centre.
Un truc par exemple que je trouve hallucinant, c'est la taille des applications Android. Le moindre démineur pèse des dizaines de méga-octets, c'est totalement ridicule. Comment imaginer que ce genre de choses puisse tourner rapidement et efficacement?
Après, le problème ne vient pas forcément des programmeurs, mais plutôt de la gestion des projets, de la manière de calculer la productivité, d'encourager les pratiques vertueuses ou de décourager les mauvaises pratiques (copier-coller…).
C’est si compliqué d’imaginer que tous les problèmes de la vraie vie n’ont pas des solutions simples ?
Bah, on peut se battre à coups de généralités pendant longtemps, ça ne va pas faire avancer le Shmilblick.
Comme on n'a pas accès au code de ces trucs critiques, on ne peut pas savoir. Le seul truc qui, à ma connaissance, a fuité dans la presse, c'est l'histoire du logiciel de Toyota, pour lequel les experts n'étaient d'accord que sur le fait que le code était tellement imbittable qu'il était impossible de savoir s'il y avait des bugs ou non.
Le truc, c'est qu'il y a une telle inflation de la taille des logiciels sans pour autant que les fonctionnalités soient faramiseuse qu'il est plutôt sain de se poser des questions. Après, on peut aussi se mettre la tête dans le sable et se dire "boarf, il collent 20M lignes de code dans ma bagnole, mais ils doivent savoir ce qu'ils font". Mais on sait tous que ça n'est pas le cas ; il y a plus de lignes de code dans une bagnole que dans un avion de ligne, et ça, c'est louche, par exemple.
Du coup certains groupes mettent en place des calendriers sur google et forward les emails.
Il faut dire que ces histoires de partage de calendrier c'est peut-être l'exemple idéal d'une tâche relativement simple que personne n'a jamais été fichu de faire fonctionner correctement de manière portable (sous Linux ou ailleurs).
Nous on utilse Google calendar aussi ; finalement ça marche très bien.
En gros l'utilisation est libre mais c'est à vos risques et périls
Parce que tu imagines que Microsoft va te dédommager si MS Word plante et te fait perdre 2 mois de boulot?
De toutes manières tu peux évaluer ton coût total comme tu veux, tu vas trouver ce que tu souhaites trouver. Dans les deux cas il te faut une équipe de support pour aider l'utilisateur qui a débranché sa souris par inadvertance. Dans les deux cas tu auras des bugs bizarres et des problèmes de compatibilité. Dans les deux cas tu auras besoin de faire des mises à jour, de former les utilisateurs, de faire de la veille technologique. Il ne faut pas non plus perdre de vue qu'au final, l'objectif est principalement de fournir des logiciels de base à des secrétaires! C'est l'incompétence du staff qui fournit tes "applications métier" (interfaces graphiques moisies, choix technologiques foireux…) qui va te pourrir la vie. Je trouve ça inimaginable les budgets qui sont mis dans des "applications métier" qui pourraient consister en 3 lignes de script. Tu veux économiser de l'argent dans une administration? Tu payes un mec qui se plante derrière les secrétaires et les regarde bosser une journée. Il suffit la plupart tu temps des 4 autres jours de la semaine pour augmenter la productivité par 2 ou 3, simplement en expliquant où cliquer pour faire une tâche triviale que des générations d'incompétents ont savamment obfusquée par une série de 12 clics dans des menus dont même les devs avaient oublié l'existence.
À mon avis, l'avantage majeur du LL dans ce type de structure est de t'inciter à travailler correctement : du fait de l'hétérogénéité des postes, des besoins, des formations des utilisateurs, plus ton ta solution technique est propre et simple et plus ça risque de marcher.
Ce qui m'embête le plus, c'est qu'on n'est pas loin du zéro absolu en termes d'arguments techniques. On a d'un côté un gloubiboulga de considérations archi-connues sur les besoins d'interopérabilité avec des fournisseurs, des clients, ou des "tiers" mal identifiés ; on a aussi apparemment tout un tas d'outils ("applications métier") dont on ne sait absolument rien, et qui sont peut-être des saloperies de tableaux sous Excel qui font des moyennes de colonnes. D'un autre côté, on a des accusations de corruption ou de conflits d'intérêt, mais au final, on n'a que dalle.
À ce genre d'échelle, c'est peut-être la totalité de l'écoystème qui est à revoir. Comment autant de postes peuvent avoir besoin d'applications métier sous Windows après 10 ans de Linux? Quels sont encore ces p*** de problèmes d'interopérabilité? Ils communiquent avec leurs fournisseurs avec des tableaux Excel? J'ai un peu l'impression qu'ils ont hérité d'une situation où tout marchait avec des bouts de ficelle et des machins conçus par des gens incompétents qui sont partis à la retraite depuis. Les histoires de drivers d'imprimante, par exemple, ça n'a pas de sens : ça fait 10 ans qu'ils sont sous Linux; toutes les imprimantes qu'ils ont achetées depuis l'ont été sous la contrainte d'être compatibles (ça devait même faire partie du marché, j'imagine), comment est-ce possible que ça ne fonctionne pas?
On se demande finalement si le monde ne tournerait pas mieux si on arrêtait de confier des ordinateurs à des gens qui ne savent pas se servir d'ordinateurs, et si on arrêtait de laisser décider des gens qui n'ont pas les bases techniques pour faire ces choix. Y compris une migration sous Linux si on a un cahier des charges complètement stupide (par exemple de garder 1/3 du parc sous Windows parce qu'on a besoin d'y faire tourner des trucs).
Linux va t'expliquer comment te passer des fonctionnalités de tes périphériques! Un argument comme ça, c'est 50 heures de lobbying perdues. Avec des amis comme ça, pas besoin d'ennemis…
Posté par arnaudus .
En réponse au journal [liens] Mais juste un.
Évalué à 2.
Dernière modification le 27 novembre 2017 à 13:42.
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
Ce n'est pas vraiment ce que j'ai compris. Pour moi, l'auteur parlait des problèmes de la conception des logiciels. Typiquement, ça parle de code spagghetti, de variables qui sont accédées d'un peu partout, du fait qu'on n'arrive pas forcément à comprendre les implications du code qu'on a sous les yeux. Je n'ai peut-être pas vraiment compris, du coup, parce que pour moi, c'est avant tout un problème de conception du logiciel, de gestion de projet, et de compétence (voire de capacités) des programmeurs. C'est vrai que pour écrire du code, il faut parfois être très très concentré, ça peut demander un niveau d'abstraction assez profond, mais finalement pas beaucoup plus que pour écrire un roman avec beaucoup de personnages, ou de concevoir un objet industriel complexe. Et justement, la plupart des langages de programmation et de méthodes de programmation efficaces offrent des outils pour réduire cette complexité, de manière à ne travailler qu'avec des sous-parties indépendantes du logiciel. Ce n'est pas parce qu'un logiciel a 10M lignes qu'à chaque ligne de code on est susceptible de savoir ce qui se fait à l'intérieur de n'importe quel autre module. La programmation fonctionnelle, la programmation objet, ou simplement les bons comportements (encapsulation, pas de magic values, pas de variables globales, passage par valeur, pas de pointeurs nus…) permettent de grandement réduire la taille des sous-problèmes qu'on doit régler quand on code.
Après, je n'ai jamais participé à des projets gigantesques où la quantité de code était telle qu'il était humainement impossible d'avoir en permanence une représentation mentale de l'organisation complète du logiciel. J'ai toujours trouvé hallucinant la taille de certains logiciels, en me demandant s'il y avait en effet besoin d'autant de code pour effectuer des tâches qui n'apparaissaient pas comme si complexes que ça. 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. Comme ça a été dit plus haut, si tu as besoin de plusieurs centaines de lignes pour piloter un ascenseur, c'est que tu as un sérieux problème de design.
Mouais, construire une usine à air compressé en aval de l'usine à gaz pour éviter les bugs…
Le problème des logiciels à plusieurs millions de lignes de code, ce n'est pas forcément les millions de lignes de code. Si le moindre composant contient un noyau Linux, ça en fait des lignes de code, mais ça n'implique pas forcément une complexité délirante.
Comme l'article mélange un peu tout (mauvaises pratiques de programmation, mauvais choix industriels, problèmes de formation, …), pas facile de retrouver ses petits. Mais je ne vois rien sur la métaprogrammation.
Dans l'ensemble, je doute que l'amélioration de la situation vienne des outils (outils de preuve, programmation "visuelle", déboggueurs, nouveaux langages de programmation, etc). J'ai l'impression que les améliorations viendront d'une amélioration des pratiques (ce qui vient parfois avec l'utilisation d'outils, mais pas forcément).
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.
Euh non, le PIB n'est pas le niveau de richesse, le PIB c'est le revenu par an. Une partie du PIB est flambée tout de suite (quand tu vas chez le coiffeur, tu ne conserves pas ta coupe de cheveux sur l'année qui suit), une autre partie du PIB rentre dans le patrimoine des ménages et de l'État (infrastructures, baraques, voitures…), qui va s'amortir dans le temps.
Le problème, c'est que le niveau de richesse, il est quasiment impossible à évaluer. Déja que le PIB c'est coton, alors évaluer la richesse correspondant à un rond-point de 10 ans ou à l'éducation des bacheliers du Puy-de-Dôme… Le PIB, tu le quantifies par le flux d'argent, tu as un indicateur.
Du coup, le PIB n'indique pas la richesse d'un pays, il indique à quelle vitesse le pays crée des ressources, quitte à les détruire immédiatement (nourriture, services…). Tu divises le PIB par le nombre d'habitants, et paf, tu as le pouvoir d'achat moyen.
L'objectif d'à peu près tout le monde, c'est de vivre mieux. Une manière de vivre mieux, c'est de pouvoir plus facilement assouvir ses besoins, que ce soit des besoins fondamentaux (manger, se loger), des besoins de confort (manger bio, se loger dans un endroit sympa avec une chambre par gamin), ou des trucs débiles (se payer le nouvel iPhone)—on s'en fout, les gens font ce qu'ils veulent. Or, comme la population grandit et que la productivité s'améliore, maintenir le pouvoir d'achat nécessite de la croissance. Si toi tu souhaites diminuer ton pouvoir d'achat, grand bien te fasse, mais tes concitoyens ne le veulent pas. Encore une fois, on ne parle pas de s'enrichir, on parle d'augmenter son pouvoir d'achat (ce qui peut vouloir dire s'enrichir plus vite, si tu achètes des produits financiers, si tu épargnes, ou si tu investis, ou simplement vivre plus confortablement si tu achètes des services ou des biens éphémères, encore une fois, on s'en fout, c'est ta vie).
En absence de croissance (avec un PIB constant), ton pouvoir d'achat diminuerait tous les ans (parce qu'on est de plus en plus nombreux). Avec un PIB constant par habitant (donc on parle bien d'une croissance d'environ 0.5%), le niveau de vie stagne. Impossible d'augmenter ses dépenses de nourriture (donc exit le bio, les filières locales…), impossible d'augmenter ses dépenses de santé, impossible d'améliorer l'éducation, la recherche, la qualité des bâtiments neufs, les énergies renouvelables… Et ça n'est pas ça le problème. Avec l'augmentation de la productivité, le chômage augmente de 0.5% par an—bah oui, on produit autant, avec moins de gens. Tu as intérêt à prévoir le coup, à revoir complètement le système de redistribution, et à faire de la pédagogie pour expliquer ton projet de réduction du temps de travail avec baisse de salaire.
Alors oui, l'économie, c'est une chute permanente qu'on rattrappe en permanence avec de la croissance. Tant qu'on voudra que la situation s'améliore, il faudra de la croissance, parce que dès que la croissance s'arrête, tout stagne ; il y a intérêt à ce que tout le monde soit d'accord pour s'arrêter là. Et quand on dit tout le monde, c'est aussi nos petits copains européens, parce qu'on est liés par le même système économique. Le PIB n'est pas forcément un super indicateur économique, mais on sait le mesurer et on sait ce qu'il veut dire.
Mais bon, de toutes manières, la croissance n'est pas un objectif politique. C'est un indicateur, un moyen intermédiaire pour remplir des objectifs plus ambitieux (diminuer le chômage, améliorer le niveau de vie). C'est pas très excitant comme objectif, mais quand on voit ce qui se passe quand il n'y a pas de croissance, ça ne donne pas envie.
Faut pas tout mélanger, la croissance, c’est pas l’économie c’est un objectif politique.
Ouais, enfin, la croissance, c'est une observation, un indicateur, un nombre qui est mesuré, et qui a une signification.
L'objectif politique, ça serait d'augmenter ou de maintenir la croissance.
Il existe toute une littérature pour dire que la croissance, c'est bien, c'est mal, etc., et une foule encore plus grande de gens (y compris des politiques) qui racontent n'importe quoi et qui ne comprennent même pas la base de ce qu'est la croissance.
En tout état de cause, ce qu'on sait, c'est que dans notre modèle économique actuel, la population augmente (légèrement), la productivité augmente (substantiellement), et que si l'objectif est de maintenir le pouvoir d'achat moyen par habitant, il faut une croissance au moins égale aux augmentations de population et de productivité, d'où les objectifs de croissance > 1.5%.
En général, il n'y a pas foule pour défendre des programmes politiques impliquant une baisse du pouvoir d'achat, donc la situation est quand même un peu bloquée. Taper sur le modèle n'est qu'une manière d'exprimer sa frustration, ça n'apporte pas grand chose, parce que tout simplificateur qu'il soit, on ne peut pas décréter qu'un modèle est faux parce qu'on n'aime pas ce qu'il implique.
Euh, non, mais c'est évident que les retards ne sont jamais dûs aux algos de trafic en eux-mêmes ; à moins d'être complètement demeurés, j'imagine que les ingénieurs de la SNCF font en sorte qu'en absence d'incident, les trains seraient à l'heure. Justement, ce qui est problématique, c'est que dès qu'un train est en retard, ça entraine des retards en chaîne sur l'ensemble du réseau. Et ça par contre, ça peut s'optimiser.
[^] # Re: jeu résolu
Posté par arnaudus . En réponse au journal Les échecs en échec. Évalué à 5.
Je ne suis pas sûr de te suivre. Par définition, le jeu est résolu quand tu as trouvé la stratégie optimale—ou plus exactement quand tu as prouvé que tu as trouvé la stratégie optimale. Ton problème, c'est que ta définition de "résolution" tient au seul fait que tu n'as pas encore trouvé de stratégie meilleure, ce qui est une défintion super faible (en gros, tu définis "mon programme résoud le jeu" par "mon programme est le meilleur", ce qui n'a honnêtement pas grand chose à voir : à ce compte-là, DeepBlue avait déja résolu le jeu, ainsi que toute la série des meilleurs joueurs du monde avant lui). Bon, je te l'accorde, la force de AlphaZero c'est de n'avoir jamais perdu, ce qui n'exclut pas qu'AlphaZero ait peut-être résolu le jeu d'échecs (ce qui voudrait dire que la partie optimale est nulle). Une seule défaite, et tu prouves qu'AlphaZero n'a pas résolu le jeu (à moins que même en jouant parfaitement les blancs perdent, ce qui serait douteux).
Bref, en résumé, non, je ne pense pas qu'on puisse conclure quoi que ce soit sur la résolution du jeu d'échecs. AlphaZero est un algo qui est très très fort, et visiblement plus fort que n'importe quel autre algo. Il est possible qu'AlphaZero ait résolu le jeu, mais c'est très peu probable. Il est certain que le jeu d'échecs a une solution, mais il n'est pas certain que cette solution soit un jour trouvée, et il n'est pas du tout garanti qu'un mécanisme informatique soit un jour en mesure de stocker cette solution pour l'utiliser pour gagner.
# jeu résolu
Posté par arnaudus . En réponse au journal Les échecs en échec. Évalué à 10.
Un programme invincible ne te dit pas du tout que le jeu est résolu (tant que tu ne peux pas reproduire toi-même la stratégie gagnante, le jeu n'est pas résolu). Le jeu d'échec est loin d'être résolu, puisque d'après l'article AlphaZero utilise toute une variété d'ouvertures, et donc ne reproduit pas une stratégie unique : il sait gagner en jouant des parties diversifiées. Du coup, il n'a pas résolu le jeu, il est juste super-bon.
Formellement, il y a plusieurs niveaux dans la résolution du jeu. Tu dois d'abord prouver que le jeu peut être résolu, ce qui n'est pas encore fait aux échecs (on ne sait pas si la meilleure stratégie blanche mène à la victoire ou à une partie nulle, on pense que ça mène au match nul mais ça n'est pas prouvé—formellement, on pourrait aussi aller à la victoire des noirs, mais ça surprendrait vraiment tout le monde. La raison pour laquelle on penche vers la nulle est qu'un joueur qui joue les noirs et qui n'a qu'à annuller la dernière partie pour gagner un match y arrive assez facilement ; il suffit d'échanger les pièces jusqu'à la nulle par manque de matériel.
Si tu sais que ton jeu peut être résolu, il faut ensuite déterminer la meilleure stratégie (suite de coups qui mène à la victoire des blancs malgré la meilleure défense des noirs). Tu peux considérer à ce stade que le jeu est résolu. Sauf que si tu ne sais pas comment répondre à un coup sous-optimal des noirs, en pratique, tu ne vas pas gagner à tous les coups. Il te faut donc connaitre la stratégie qui mène à la victoire à partir de n'importe quelle réaction des noirs. Et là, tu as résolu ton jeu. Mais techniquement, il n'est pas dit que ça soit faisable pour les échecs. Même si tu contrôles les blancs (et donc, tu n'as pas à envisager tous les coups possibles des blancs), et qu'en moyenne les noirs ont 20 coups légaux, pour une partie qui s'achève en 40 coups, il te reste quand même 1052 parties à mémoriser… Si tu te concentres que sur 3 coups possibles (en partant du principe que les 17 autres coups sont tellement mauvais que tu serais capable de gagner sans l'algorithme optimal), tu restes à 1019 parties, ce qui semble difficilement faisaible avec le matériel informatique d'aujourd'hui… Bref, au delà des problèmes de calcul, stocker quelque part les suites de coups qui te permettent de gagner à tous les coups n'est peut-être même pas faisable.
Ceci dit, d'énormes progrès ont été faits sur les fins de parties, et je crois que toutes les fins à moins de 8 pièces sont résolues dans toutes les positions, par exemple. Honnêtement, rien qu'avec ça, tu bats n'importe quel joueur humain, à moins d'arriver en fin de partie avec un gros handicap. C'est vraiment le milieu de partie qui pose problème.
# mmmhhh
Posté par arnaudus . En réponse au journal Gufo: un langage de shell moderne!. Évalué à 10. Dernière modification le 07 décembre 2017 à 11:10.
Le paradigme habituel du logiciel libre, c'est de publier tôt et souvent ; tu ébauches un projet, tu partages ton code, et une communauté se forme autour du code si le projet est intéressant, pour l'amener à maturité. Pour la plupart des projets, le bénéfice du mainteneur du logiciel est assez faible, à part la reconnaissance de la communauté et le plaisir de disposer du logiciel que tu souhaites. Les bénéfices sont quand même indirects, je pense par exemple que de maintenir un beau logiciel libre reste une ligne très intéressante sur un CV, et qu'éventuellement ça peut aussi permettre d'en vivre plus directement (un logiciel populaire peut attirer des dons).
J'ai l'impression que ce que tu proposes, c'est un nouveau paradigme qui est apparu avec les campagnes de financement participatif. Est-ce qu'il y a des exemples qui ont vraiment fonctionné? Personnellement, je pourrais envisager de faire un don pontuel à un projet en développement que j'utilise régulièrement, par exemple. Par contre, je me vois mal donner de l'argent à un projet "futurement" libre pour lequel il n'existe qu'un cahier des charges.
Je comprends bien que le problème de fond, c'est le financement du logiciel libre. Jusqu'ici, les modèles économiques restent fragiles et réservés à des logiciels particuliers (par exemple, ceux avec lesquels ont peut vendre du service). Beaucoup de logiciels libres sont développés bénévolement, ou par des contributeurs salariés. L'idée de "vendre" le développement d'un logiciel libre paraît logique du point de vue du développeur, mais elle est illogique du point de vue de l'utilisateur, à qui tu demandes de payer pour un logiciel qui n'existe pas, alors qu'il a à disposition des logiciels (peut-etre imparfaits) qui existent déja et qui sont disponibles gratuitement.
Tu peux considérer que tout travail mérite salaire, ça n'en fait pas un mantrâ miraculeux qui va te rapporter des sous. Moi je considère que les professeurs méritent plus de respect, que les SDF devraient avoir un toît, que tous les enfants du monde devraient avoir à manger, etc. La question n'est pas de savoir ce qui devrait être, c'est d'arriver à trouver un système pour arriver à cet objectif. Et là, j'ai juste l'impression que tu ne te donnes pas les moyens d'atteindre cet objectif (ou, pour être plus précis, tu ne donnes pas aux autres les raisons rationnelles pour te permettre d'atteindre cet objectif).
PS: sur le fond, le projet reste intéressant. À mon avis, plus la compatibilité avec bash sera maintenue, plus la possibilité de faire une transition douce motiverait les utilisateurs à faire le changement.
[^] # Re: yacy
Posté par arnaudus . En réponse au message Quel moteur de recherche libre parmi ceux disponibles ?. Évalué à 3.
Parce que la loi de l'autorise pas? Ces articles sont assez imbittables, mais ils restent quand même clairs :
* opérateurs de communications électroniques et des personnes mentionnées à l'article L. 34-1 du code des postes et des communications électroniques = opérateurs télécom
* "Les personnes dont l'activité est d'offrir un accès à des services de communication au public en ligne" = FAI
* "Les personnes physiques ou morales qui assurent, même à titre gratuit, pour mise à disposition du public par des services de communication au public en ligne, le stockage de signaux, d'écrits, d'images, de sons ou de messages de toute nature fournis par des destinataires de ces services" = hébergeurs
Qwant n'est pas un opérateur télécom, ni un FAI, ni un hébergeur. Je ne vois pas comment on pourrait lui imposer la fameuse "boîte noire".
# Publicité
Posté par arnaudus . En réponse au journal Adieu Linux Journal. Évalué à 3.
Ça ne peut pas non plus être la seule raison. C'est avant tout un problème de nombre de lecteurs…
[^] # Re: yacy
Posté par arnaudus . En réponse au message Quel moteur de recherche libre parmi ceux disponibles ?. Évalué à 9.
En même temps, tu voudrais qu'ils te fournissent quoi pour te prouver qu'ils ne te traquent pas? Tu as déja l'élément "pas de cookie", c'est déja un début. Ils peuvent évidemment t'identifier via ton IP ou les métadonnées du navigateur, mais à part te donner un accès physique à la totalité de leurs serveurs, comment tu veux prouver qu'ils ne logguent pas ces données?
Même si le code était libre, ils ne pourraient pas prouver qu'ils exécutent le même code que ce qu'ils te fournissent. J'ai juste l'impression que tu demandes l'impossible. Reformule ta phrase avec quelque chose comme "il est impossible de savoir s'ils respectent leur promesse", et la seule alternative est donc l'auto-hébergement d'un moteur de recherche. Bon courage.
Mettre des mots qui font peur dans n'importe quel ordre sur n'importe quel sujet, sans aucune référence, sans aucune analyse, sans aucune distinction entre FIA et moteur de recherche… non, y'a pas à dire, c'est constructif. Tu vas convaincre des gens qui ne savent pas ce dont tu parles.
Les prisons sont pleines de gens qui ont consulté le mauvais site, dénoncés par un moteur de recherche. C'est une peur tout à fait rationnelle, c'est un argument constructif, mesuré, pertinent.
On aurait des gens qui raconteraient n'importe quoi (type fashosphère, etc) en exagérant des faits divers et en surinterprétant toute déclaration ou tout élément législatif, voire en inventant des peurs irrationnelles (grand remplacement…). Comme ils sont du mauvais côté, c'est des méchants, c'est inacceptable. Et puis d'un autre côté, on aurait des «gentils», les libristes, les gens qui veulent défendre les droits de l'Homme, l'environnement, les citoyens contre les multinationales et les gouvernements. Et ceux-là, ils n'ont pas besoin de peaufiner leur argumentaire, deux ou trois remarques un peu anxiogènes en mélangeant un peu tout, pas grave; comme ce sont des gentils, c'est légitime d'exagérer, de sortir du contexte, de «simplifier» à sa manière. Bah moi je n'y crois pas. Quand on pense avoir raison, on affute ses arguments. Autrement, c'est de la propagande, ça ne vaut rien, et ça dessert même l'argumentaire ; n'importe qui de normalement constitué qui ne connait pas le sujet va penser (à raison) qu'on se fout de lui.
# chacun son tour
Posté par arnaudus . En réponse au journal Votre rapport à l’anglais ?. Évalué à 5.
On ne s'entend pas trop mal. Écrit tous les jours, oral plus ou moins intensif en fonction de la période.
Bosser à l'étranger pendant 5 ans.
Le téléphone en français ne me met pas super à l'aise, donc en anglais c'est pareil.
Non. Je ne pourrais pas occupper le poste que j'occuppe de toutes manières.
C'est ridicule, si on déteste ça on ne fait pas ça.
Tu dirais quoi si un collègue te confiait qu'il doit coder en C, qu'il est payé pour ça, mais qu'il ne connait pas ce langage? C'est stressant pour lui, mais bon, qu'est-ce que tu veux répondre?
[^] # Re: Qwant
Posté par arnaudus . En réponse au message Quel moteur de recherche libre parmi ceux disponibles ?. Évalué à 3. Dernière modification le 04 décembre 2017 à 15:14.
Par curiosité, quel est l'intérêt d'auto-héberger un méta-moteur de recherche? En termes de confidentialité, c'est pourri, non? Chaque requête va être envoyée à plusieurs moteurs commerciaux, mais si tu es le seul à utiliser ton méta-moteur, l'historique de tes recherches va être associée à l'IP de ton serveur auto-hébergé, et c'est presque comme si tu avais envoyé plusieurs requêtes à partir de ton navigateur (sauf les cookies).
Pour Quant, je ne crois pas que ça soit libre ; tu as des infos là-dessus?
Même un poste de ninja polyvalent, d'après leur site web.
# Probablement aucun
Posté par arnaudus . En réponse au message Quel moteur de recherche libre parmi ceux disponibles ?. Évalué à 6.
Je ne suis pas sûr de comprendre le lien entre un moteur de rendu ou un moteur de recherche, mais d'expérience, seuls les "méta moteurs" de recherche alternatifs sont utilisables (du style Duck Duck Go). Ces moteurs interrogent les moteurs commerciaux et produisent une sortie qui fait la synthèse, tout en assurant ton anonymat (relatif) vis-à-vis des gros moteurs.
J'imagine que pour avoir un vrai moteur de recherche sans la collecte de données qui vient avec les moteurs traditionnels, il faudrait payer (assez cher, je pense). L'infrastructure et le développement logiciel qui vient derrière le moteur de Google est quelque chose d'impressionnant, que jamais le libre et l'associatif seraient en mesure de fournir.
Dans mon entourage, quelques personnes utilisent des moteurs de recherche différents de Google, mais ils ont tous le réflexe de repasser sur Google pour une recherche un peu complexe. Dans l'absolu, si tu souhaites simplement une sorte de raccourci dans la barre d'adresse (par exemple, taper "Wiki xxx" au lieu de "www.wikipedia.org", puis "rechercher", puis "xxx"), alors j'imagine qu'il est possible de trouver une solution. Si par contre tu souhaites effectuer une recherche complexe, technique, ou dont la réponse ne se situe que sur des sites confidentiels ou auto-hébergés, je ne vois pas comment tu peux te passer de la puissance des gros moteurs commerciaux…
[^] # Re: re
Posté par arnaudus . En réponse au message flash player. Évalué à 3.
Je pense qu'on est tous comme ça, sinon on ne répondrait pas ici.
On n'est pas là pour juger si c'est bine ou mal de jouer à la belotte sur Facebook. C'est sûr que ça ne motive pas les gens pour t'aider à trouver une solution à tout prix, parce que ça a l'air moins important que si tu étais chef d'entreprise et qu'un client exigait un logiciel particulier, mais a priori ça ne devrait pas rentrer en ligne de compte.
Le problème, c'est que tu as besoin d'un logiciel qui est dangereux pour ton système. Flash Player, c'est un logiciel obsolète, et il est dangereux même si tu es sous Windows ou sous n'importe quel système, ça n'a rien à voir avec Linux. La différence, peut-être, c'est qu'en effet les distributions Linux ne font aucun effort pour que tu puisses l'installer, et ça, c'est parce qu'elles ne veulent pas que tu puisses tout casser. Du coup, si tu veux l'installer, tu dois te débrouiller par d'autres moyens. C'est le même principe qu'un copain qui te confisque tes clefs de bagnole parce que tu as trop picolé. Selon le point de vue, c'est sympa ou c'est pas sympa, les deux se défendent.
Je me demande si tu ne parles pas de faire une mise à jour vers Ubuntu 17, qui a changé de bureau par défaut. Le problème, c'est que comme tu expliques mal, les gens ne comprennent pas ce que tu veux ; ça c'est de la faute de personne.
Jusqu'à Ubuntu 16, le bureau par défaut était Unity. Tu pouvais installer gnome aussi, mais ça demandait une manipulation. À partur d'Ubuntu 17, le bureau par défaut est Gnome. Tu comprends donc pouquoi ta demande n'est pas claire : est-ce que tu parles de passer d'une Ubuntu 16 à une Ubuntu 17 (et dans ce cas, tu dois faire une mise à jour), ou est-ce que tu veux passer de Unity à Gnome tout en restant sur une Ubuntu 16 (et dans ce cas, tu dois installer Gnome). On en peut pas savoir à ta place qce que tu veux faire.
Et au passage, ça n'a rien à voir avec Flash Player et la belotte sur Facebook. Si tu veux arriver à tes fins, il faut que tu arrives à découpler les problèmes et à les régler un par un, sinon ça va devenir pire.
[^] # Re: Combien d'usagers?
Posté par arnaudus . En réponse au journal part de marché Linux ?. Évalué à 10.
Je pense que ton truc classe une grande partie des Android dans Linux. Autrement, je ne vois pas.
[^] # Re: re
Posté par arnaudus . En réponse au message flash player. Évalué à 3.
Mouais, on n'est pas à ce point là, à mon avis. Cette personne sait à peine sous quel système elle est (hier c'était sous Fedora, et en fait non c'est une Ubuntu). Je pense que c'est une très mauvaise idée de lui faire installer un logiciel, FlashPlayer, qui est obsolète, bourré de trous de sécurité, et plus supporté par sa distribtuion. Non seulement les manips vont être chiantes à faire et ça va prendre des semaines de question-réponses (de type "ça marche pas, dites-moi comment faire autrement"), mais en plus il va complètement péter son système s'il commence à installer des versions 32 bits de logiciels majeurs de la distrib.
[^] # Re: Bof mouais pfff
Posté par arnaudus . En réponse au journal [liens] Mais juste un. Évalué à 2.
Bah oui, tu n'as pas tort, mais du coup, je ne comprends pas pourquoi ces usines à gaz annoncent des millions de lignes de code. C'est sûr que si tu as un truc pour lire un DVD, et que tu as derrière un Linux, un Firefox, et un truc en java, bah avant d'avoir la moindre ligne de code tu te tapes un système bloaté derrière… Mais est-ce vraiment de ça dont on parle? Quand on regarde le nombre de lignes de code derrière un logiciel métier, on ne parle pas du système.
Après, toujours pareil : 990 000 lignes de bibliothèques et 10 000 lignes de vrai code, ça n'est pas du tout pareil que 1M lignes de code pour le logiciel. D'un autre côté, des bugs peuvent se cacher dans les bibliothèques, les compilateurs, les surcouches, les frameworks…
Dans le fond, c'est plus un sentiment général qu'une méthode de développement. J'ai l'impression que si on voulait des systèmes moins buggés et plus compréhensibles, il faudrait beaucoup moins de code, de la factorisation de code via des bibliothèques, et des applications qui restent simples et qui ne font qu'une chose, mais bien. Or, on se dirige vers exactement le contraire : de plus en plus de surcouches, des méga-projets qui se battent sur la longueur du code, des trucs tellement complexes que personne ne comprend vraiment ce que ça fait, des bugs insolubles, des livraisons de binaires via des containers qui contiennent de multiples duplicats des mêmes bibliothèques jamais mises à jour, avec des versions différentes… On peut coller autant de tests unitaires ou d'assistants de preuve derrière, on ne fait que vérifier avec une machine qu'on n'a pas tout pété, mais on ne maitrise pas mieux pour autant ce qui tourne sur la bécane.
[^] # Re: Bof mouais pfff
Posté par arnaudus . En réponse au journal [liens] Mais juste un. Évalué à 4.
Je ne pense pas avoir dit ça. Pour avoir un avis réellement intéressant, il faudrait discuter avec des gens qui sont spécialistes de l'embarqué et des systèmes sécurisés ; le cas de la bagnole ou de l'avion de ligne sont particulièrement techniques (contraintes du temps réel, problèmes de sécurité, etc). Si on en revient à des applications traditionnelles sur un ordinateur, qui ne font rien de critique, alors je pense que l'hyper-inflation du code vient de l'utilisation de tout un tas de couches de frameworks, de générateurs de code, de compilateurs de compilateurs entre plusieurs langages, etc., donc typiquement de l'utilisation d'outils "modernes", censés faciliter la tâche du développeur, mais qui finissent par encapsuler le code dans des couches multiples de trucs lourds et inutiles. Au final, on a un oignon, alors que le code lui-même représente un tout petit truc au centre.
Un truc par exemple que je trouve hallucinant, c'est la taille des applications Android. Le moindre démineur pèse des dizaines de méga-octets, c'est totalement ridicule. Comment imaginer que ce genre de choses puisse tourner rapidement et efficacement?
Après, le problème ne vient pas forcément des programmeurs, mais plutôt de la gestion des projets, de la manière de calculer la productivité, d'encourager les pratiques vertueuses ou de décourager les mauvaises pratiques (copier-coller…).
[^] # Re: Bof mouais pfff
Posté par arnaudus . En réponse au journal [liens] Mais juste un. Évalué à 5.
Bah, on peut se battre à coups de généralités pendant longtemps, ça ne va pas faire avancer le Shmilblick.
Comme on n'a pas accès au code de ces trucs critiques, on ne peut pas savoir. Le seul truc qui, à ma connaissance, a fuité dans la presse, c'est l'histoire du logiciel de Toyota, pour lequel les experts n'étaient d'accord que sur le fait que le code était tellement imbittable qu'il était impossible de savoir s'il y avait des bugs ou non.
Le truc, c'est qu'il y a une telle inflation de la taille des logiciels sans pour autant que les fonctionnalités soient faramiseuse qu'il est plutôt sain de se poser des questions. Après, on peut aussi se mettre la tête dans le sable et se dire "boarf, il collent 20M lignes de code dans ma bagnole, mais ils doivent savoir ce qu'ils font". Mais on sait tous que ça n'est pas le cas ; il y a plus de lignes de code dans une bagnole que dans un avion de ligne, et ça, c'est louche, par exemple.
[^] # Re: Raisons techniques
Posté par arnaudus . En réponse au journal Munich revient sur Windows. Évalué à 5.
Il faut dire que ces histoires de partage de calendrier c'est peut-être l'exemple idéal d'une tâche relativement simple que personne n'a jamais été fichu de faire fonctionner correctement de manière portable (sous Linux ou ailleurs).
Nous on utilse Google calendar aussi ; finalement ça marche très bien.
[^] # Re: pas un mal
Posté par arnaudus . En réponse au journal Munich revient sur Windows. Évalué à 10.
Parce que tu imagines que Microsoft va te dédommager si MS Word plante et te fait perdre 2 mois de boulot?
De toutes manières tu peux évaluer ton coût total comme tu veux, tu vas trouver ce que tu souhaites trouver. Dans les deux cas il te faut une équipe de support pour aider l'utilisateur qui a débranché sa souris par inadvertance. Dans les deux cas tu auras des bugs bizarres et des problèmes de compatibilité. Dans les deux cas tu auras besoin de faire des mises à jour, de former les utilisateurs, de faire de la veille technologique. Il ne faut pas non plus perdre de vue qu'au final, l'objectif est principalement de fournir des logiciels de base à des secrétaires! C'est l'incompétence du staff qui fournit tes "applications métier" (interfaces graphiques moisies, choix technologiques foireux…) qui va te pourrir la vie. Je trouve ça inimaginable les budgets qui sont mis dans des "applications métier" qui pourraient consister en 3 lignes de script. Tu veux économiser de l'argent dans une administration? Tu payes un mec qui se plante derrière les secrétaires et les regarde bosser une journée. Il suffit la plupart tu temps des 4 autres jours de la semaine pour augmenter la productivité par 2 ou 3, simplement en expliquant où cliquer pour faire une tâche triviale que des générations d'incompétents ont savamment obfusquée par une série de 12 clics dans des menus dont même les devs avaient oublié l'existence.
À mon avis, l'avantage majeur du LL dans ce type de structure est de t'inciter à travailler correctement : du fait de l'hétérogénéité des postes, des besoins, des formations des utilisateurs, plus ton ta solution technique est propre et simple et plus ça risque de marcher.
# Raisons techniques
Posté par arnaudus . En réponse au journal Munich revient sur Windows. Évalué à 10. Dernière modification le 27 novembre 2017 à 16:57.
Ce qui m'embête le plus, c'est qu'on n'est pas loin du zéro absolu en termes d'arguments techniques. On a d'un côté un gloubiboulga de considérations archi-connues sur les besoins d'interopérabilité avec des fournisseurs, des clients, ou des "tiers" mal identifiés ; on a aussi apparemment tout un tas d'outils ("applications métier") dont on ne sait absolument rien, et qui sont peut-être des saloperies de tableaux sous Excel qui font des moyennes de colonnes. D'un autre côté, on a des accusations de corruption ou de conflits d'intérêt, mais au final, on n'a que dalle.
À ce genre d'échelle, c'est peut-être la totalité de l'écoystème qui est à revoir. Comment autant de postes peuvent avoir besoin d'applications métier sous Windows après 10 ans de Linux? Quels sont encore ces p*** de problèmes d'interopérabilité? Ils communiquent avec leurs fournisseurs avec des tableaux Excel? J'ai un peu l'impression qu'ils ont hérité d'une situation où tout marchait avec des bouts de ficelle et des machins conçus par des gens incompétents qui sont partis à la retraite depuis. Les histoires de drivers d'imprimante, par exemple, ça n'a pas de sens : ça fait 10 ans qu'ils sont sous Linux; toutes les imprimantes qu'ils ont achetées depuis l'ont été sous la contrainte d'être compatibles (ça devait même faire partie du marché, j'imagine), comment est-ce possible que ça ne fonctionne pas?
On se demande finalement si le monde ne tournerait pas mieux si on arrêtait de confier des ordinateurs à des gens qui ne savent pas se servir d'ordinateurs, et si on arrêtait de laisser décider des gens qui n'ont pas les bases techniques pour faire ces choix. Y compris une migration sous Linux si on a un cahier des charges complètement stupide (par exemple de garder 1/3 du parc sous Windows parce qu'on a besoin d'y faire tourner des trucs).
[^] # Re: Et si...
Posté par arnaudus . En réponse au journal Munich revient sur Windows. Évalué à 10.
Linux va t'expliquer comment te passer des fonctionnalités de tes périphériques! Un argument comme ça, c'est 50 heures de lobbying perdues. Avec des amis comme ça, pas besoin d'ennemis…
[^] # Re: Bof mouais pfff
Posté par arnaudus . En réponse au journal [liens] Mais juste un. Évalué à 2. Dernière modification le 27 novembre 2017 à 13:42.
Ce n'est pas vraiment ce que j'ai compris. Pour moi, l'auteur parlait des problèmes de la conception des logiciels. Typiquement, ça parle de code spagghetti, de variables qui sont accédées d'un peu partout, du fait qu'on n'arrive pas forcément à comprendre les implications du code qu'on a sous les yeux. Je n'ai peut-être pas vraiment compris, du coup, parce que pour moi, c'est avant tout un problème de conception du logiciel, de gestion de projet, et de compétence (voire de capacités) des programmeurs. C'est vrai que pour écrire du code, il faut parfois être très très concentré, ça peut demander un niveau d'abstraction assez profond, mais finalement pas beaucoup plus que pour écrire un roman avec beaucoup de personnages, ou de concevoir un objet industriel complexe. Et justement, la plupart des langages de programmation et de méthodes de programmation efficaces offrent des outils pour réduire cette complexité, de manière à ne travailler qu'avec des sous-parties indépendantes du logiciel. Ce n'est pas parce qu'un logiciel a 10M lignes qu'à chaque ligne de code on est susceptible de savoir ce qui se fait à l'intérieur de n'importe quel autre module. La programmation fonctionnelle, la programmation objet, ou simplement les bons comportements (encapsulation, pas de magic values, pas de variables globales, passage par valeur, pas de pointeurs nus…) permettent de grandement réduire la taille des sous-problèmes qu'on doit régler quand on code.
Après, je n'ai jamais participé à des projets gigantesques où la quantité de code était telle qu'il était humainement impossible d'avoir en permanence une représentation mentale de l'organisation complète du logiciel. J'ai toujours trouvé hallucinant la taille de certains logiciels, en me demandant s'il y avait en effet besoin d'autant de code pour effectuer des tâches qui n'apparaissaient pas comme si complexes que ça. 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. Comme ça a été dit plus haut, si tu as besoin de plusieurs centaines de lignes pour piloter un ascenseur, c'est que tu as un sérieux problème de design.
# Bof mouais pfff
Posté par arnaudus . En réponse au journal [liens] Mais juste un. Évalué à 4.
Mouais, construire une usine à air compressé en aval de l'usine à gaz pour éviter les bugs…
Le problème des logiciels à plusieurs millions de lignes de code, ce n'est pas forcément les millions de lignes de code. Si le moindre composant contient un noyau Linux, ça en fait des lignes de code, mais ça n'implique pas forcément une complexité délirante.
Comme l'article mélange un peu tout (mauvaises pratiques de programmation, mauvais choix industriels, problèmes de formation, …), pas facile de retrouver ses petits. Mais je ne vois rien sur la métaprogrammation.
Dans l'ensemble, je doute que l'amélioration de la situation vienne des outils (outils de preuve, programmation "visuelle", déboggueurs, nouveaux langages de programmation, etc). J'ai l'impression que les améliorations viendront d'une amélioration des pratiques (ce qui vient parfois avec l'utilisation d'outils, mais pas forcément).
[^] # Re: La gouvernance par les nombres
Posté par arnaudus . En réponse au journal ils l'ont voulu, ils l'ont obtenu, et ils l'ont dans le baba.... Évalué à 6.
Euh non, le PIB n'est pas le niveau de richesse, le PIB c'est le revenu par an. Une partie du PIB est flambée tout de suite (quand tu vas chez le coiffeur, tu ne conserves pas ta coupe de cheveux sur l'année qui suit), une autre partie du PIB rentre dans le patrimoine des ménages et de l'État (infrastructures, baraques, voitures…), qui va s'amortir dans le temps.
Le problème, c'est que le niveau de richesse, il est quasiment impossible à évaluer. Déja que le PIB c'est coton, alors évaluer la richesse correspondant à un rond-point de 10 ans ou à l'éducation des bacheliers du Puy-de-Dôme… Le PIB, tu le quantifies par le flux d'argent, tu as un indicateur.
Du coup, le PIB n'indique pas la richesse d'un pays, il indique à quelle vitesse le pays crée des ressources, quitte à les détruire immédiatement (nourriture, services…). Tu divises le PIB par le nombre d'habitants, et paf, tu as le pouvoir d'achat moyen.
L'objectif d'à peu près tout le monde, c'est de vivre mieux. Une manière de vivre mieux, c'est de pouvoir plus facilement assouvir ses besoins, que ce soit des besoins fondamentaux (manger, se loger), des besoins de confort (manger bio, se loger dans un endroit sympa avec une chambre par gamin), ou des trucs débiles (se payer le nouvel iPhone)—on s'en fout, les gens font ce qu'ils veulent. Or, comme la population grandit et que la productivité s'améliore, maintenir le pouvoir d'achat nécessite de la croissance. Si toi tu souhaites diminuer ton pouvoir d'achat, grand bien te fasse, mais tes concitoyens ne le veulent pas. Encore une fois, on ne parle pas de s'enrichir, on parle d'augmenter son pouvoir d'achat (ce qui peut vouloir dire s'enrichir plus vite, si tu achètes des produits financiers, si tu épargnes, ou si tu investis, ou simplement vivre plus confortablement si tu achètes des services ou des biens éphémères, encore une fois, on s'en fout, c'est ta vie).
En absence de croissance (avec un PIB constant), ton pouvoir d'achat diminuerait tous les ans (parce qu'on est de plus en plus nombreux). Avec un PIB constant par habitant (donc on parle bien d'une croissance d'environ 0.5%), le niveau de vie stagne. Impossible d'augmenter ses dépenses de nourriture (donc exit le bio, les filières locales…), impossible d'augmenter ses dépenses de santé, impossible d'améliorer l'éducation, la recherche, la qualité des bâtiments neufs, les énergies renouvelables… Et ça n'est pas ça le problème. Avec l'augmentation de la productivité, le chômage augmente de 0.5% par an—bah oui, on produit autant, avec moins de gens. Tu as intérêt à prévoir le coup, à revoir complètement le système de redistribution, et à faire de la pédagogie pour expliquer ton projet de réduction du temps de travail avec baisse de salaire.
Alors oui, l'économie, c'est une chute permanente qu'on rattrappe en permanence avec de la croissance. Tant qu'on voudra que la situation s'améliore, il faudra de la croissance, parce que dès que la croissance s'arrête, tout stagne ; il y a intérêt à ce que tout le monde soit d'accord pour s'arrêter là. Et quand on dit tout le monde, c'est aussi nos petits copains européens, parce qu'on est liés par le même système économique. Le PIB n'est pas forcément un super indicateur économique, mais on sait le mesurer et on sait ce qu'il veut dire.
Mais bon, de toutes manières, la croissance n'est pas un objectif politique. C'est un indicateur, un moyen intermédiaire pour remplir des objectifs plus ambitieux (diminuer le chômage, améliorer le niveau de vie). C'est pas très excitant comme objectif, mais quand on voit ce qui se passe quand il n'y a pas de croissance, ça ne donne pas envie.
[^] # Re: La gouvernance par les nombres
Posté par arnaudus . En réponse au journal ils l'ont voulu, ils l'ont obtenu, et ils l'ont dans le baba.... Évalué à 2.
Ouais, enfin, la croissance, c'est une observation, un indicateur, un nombre qui est mesuré, et qui a une signification.
L'objectif politique, ça serait d'augmenter ou de maintenir la croissance.
Il existe toute une littérature pour dire que la croissance, c'est bien, c'est mal, etc., et une foule encore plus grande de gens (y compris des politiques) qui racontent n'importe quoi et qui ne comprennent même pas la base de ce qu'est la croissance.
En tout état de cause, ce qu'on sait, c'est que dans notre modèle économique actuel, la population augmente (légèrement), la productivité augmente (substantiellement), et que si l'objectif est de maintenir le pouvoir d'achat moyen par habitant, il faut une croissance au moins égale aux augmentations de population et de productivité, d'où les objectifs de croissance > 1.5%.
En général, il n'y a pas foule pour défendre des programmes politiques impliquant une baisse du pouvoir d'achat, donc la situation est quand même un peu bloquée. Taper sur le modèle n'est qu'une manière d'exprimer sa frustration, ça n'apporte pas grand chose, parce que tout simplificateur qu'il soit, on ne peut pas décréter qu'un modèle est faux parce qu'on n'aime pas ce qu'il implique.
[^] # Re: sur secteur
Posté par arnaudus . En réponse au message écran noir. Évalué à 3.
Pas possible, vu qu'il y en a deux par mot, il faudrait taper un mot toutes les 26 secondes pour que ça soit crédible…
[^] # Re: Aigreur, quand tu nous tiens
Posté par arnaudus . En réponse au journal ils l'ont voulu, ils l'ont obtenu, et ils l'ont dans le baba.... Évalué à 2.
Euh, non, mais c'est évident que les retards ne sont jamais dûs aux algos de trafic en eux-mêmes ; à moins d'être complètement demeurés, j'imagine que les ingénieurs de la SNCF font en sorte qu'en absence d'incident, les trains seraient à l'heure. Justement, ce qui est problématique, c'est que dès qu'un train est en retard, ça entraine des retards en chaîne sur l'ensemble du réseau. Et ça par contre, ça peut s'optimiser.