Tout dépend je pense depuis quand la faille a été clairement identifié par chaque fondeur, de l'importance du changement à faire (à priori cela ne devrait pas être si délicat) et des éventuels effets de bords.
Car n'oublions pas, peut être que le problème identifié est présent dans d'autres parties du CPU (ou GPU) qui n'ont pas été encore révélées. Il faudra sans doute de longs audits internes pour colmater l'ensemble.
Comme concevoir un processeur prend du temps (plus d'un an pour une nouvelle génération) et qu'un grand nombre de tests sera nécessaire pour s'assurer qu'il n'y aura pas de grands effets de bords pour les applications actuelles. Il me semble peu probable que quelque chose sorte en 2018 des usines. Faut compter je pense sur 2019 / 2020 pour avoir une généralisation des différentes corrections au sein de tous les produits de tous les fondeurs impactés.
Le téléphone, oui. Le logiciel qui le fait tourner bof, comme tu le soulignes.
Question de définition.
La notion de garantie, dans le droit, n'implique pas que le logiciel doit évoluer au cours du temps pour corriger tous les défauts logiciels que l'on peut identifier.
Par exemple le réseau 2G et 3G sont d'un point de vue sécurité des horreurs. Mais ils sont conservés pour des raisons d’interopérabilité. On doit faire quoi, attaquer les opérateurs et les constructeurs de les maintenir ? Un tel geste pourtant serait qualifié d'obsolescence programmée (ce qui serait ridicule mais passons).
Globalement ce débat c'est la quadrature du cercle, nous voulons un système fiable, à jour, pas cher, qui dure dans le temps et puisse faire un maximum de choses dont des trucs non existants à l'époque de la sortie du téléphone. Le tout sans faille de sécurités et de bogues avec un maximum de garanties X années après la sortie du périphérique. Ce n'est pas possible, soit tu auras un produit cher (globalement Samsung, Apple et Google ont un bon suivi durant la période des 2 ans de leur produit, mais sont souvent chers), ou alors tu vas devoir concéder un peu sur le reste. Et pas tout le monde est d'accord sur la question, beaucoup de gens préfèreront un téléphone troué mais pas cher. Suffit d'en parler dans son entourage non technicien pour comprendre que les mises à jour ne sont clairement pas une priorité.
Ton téléphone, si tu ne le mets pas à jour pendant les 5 ans, il tournera comme au premier jour ou presque. C'est ça que la garantie légale t'offre et dans l'ensemble c'est assez respecté. Toi tu veux plus, tu veux une maintenance dans le temps ce qui va au delà de la notion de garantie.
Personnellement les produits habituels que j'achète dans le commerce, je dois payer pour le faire évoluer ou le maintenir à niveau sauf défaut rendant mon produit inopérant. Mais en général, si je n'applique pas la mise à jour du constructeur, le produit fonctionne très bien, je m'expose à des fuites de données ou à certaines attaques mais le produit restera fonctionnel comme lors de l'achat. Et en général les constructeurs (automobiles par exemple) ne font des rappels sur les produits que pour les problèmes mettant en dangers la vie humaine ou ayant un impact très important. Pour un téléphone, c'est délicat à utiliser cet argument.
Avoir des backports des problèmes de sécurité serait quand même une bonne idée.
Facile à dire.
Un OS complet, ce sont des tonnes de composants que tu dois faire interagir. Toutes ces briques ne sont pas maintenues dans le temps par leur développeurs originaux, et parfois passer à la version suivante n'est pas possible (besoin de changer de versions pour d'autres produits, pertes fonctionnelles, etc.). Tu peux te retrouver à tout maintenir toi même et à tout backporter. Ce travail est énorme et n'est pas gratuit.
Honnêtement, maintenir l'OS complet d'un téléphone sérieusement (donc gens compétents et matériels à la hauteur et qui font un travail de qualité), cela peut vite revenir à plusieurs millions d'euros par an et par modèle. Pour des téléphones bas / milieu de gammes, c'est impossible à tenir sans une hausse de prix significative.
Je n'ai rien contre cela, je pense même qu'on va se diriger à terme vers une maintenance des produits via un système d'abonnement pour régler la question. Mais ce que tu souhaites ne ferait pas le bonheur de tous les clients, loin de là.
D'autant qu'on parle d'un domaine où les gens changent de produit spontanément régulièrement, beaucoup changer d'iPhone ou autre téléphone haut de gamme chaque année voire tous les deux ans pour avoir le dernier même si l'ancien fonctionne très bien pour eux. Maintenir en vie l'OS sur une longue durée, cela n'intéresse donc pas tout le monde. Et je pense que ceux que cela intéresse (à juste titre) devront le payer d'une façon ou d'une autre (appareil plus cher à l'achat, ou par abonnement).
Une solution existe : faire moins de modèles avec moins de combinaisons de matériels possibles et c'est tout de suite plus facile de les supporter plus longtemps. Eviter les surcouches d'interfaces spécifiques qui ne seront pas maintenues…
C'est une solution. Je pense que beaucoup de constructeurs pourraient avantageusement simplifier leur gamme.
Mais bon, tu oublies que les réglementations ne sont pas mondiales, par exemple sur les fréquences radio. Du coup il te faut souvent des firmware différents voire des composants différents suivant le continent. Cela fragmente forcément le développement et la maintenance pour seulement produire un modèle.
Tu oublies aussi des raisons commerciales. Les constructeurs doivent se démarquer les uns des autres. Du coup forcément il faut produire différents modèles, et développer sa couche logicielle propre pour ne pas trop ressembler aux voisins. Et c'est bénéfique pour les consommateurs aussi, j'en connais qui ne jurent que par l'interface Android de Samsung, d'autres par celle native de Google, etc. Tous les goûts sont dans la nature et l'interface Android native ne convient pas à tous, tout comme iOS n'a pas convaincu tout le monde non plus. Difficile de leur reprocher de vouloir faire ça, même si certains abusent sans doute de la situation.
Pour la question d'Android en tout cas, je dirais que les opérateurs ne devraient pas être dans la boucle. Ça ne sert à rien (ils n'installent que des applications, ils ne touchent pas à l'interface) et ce n'est pas leur boulot. Ça éliminerait un obstacle pour diffuser les mises à jour.
Après, le souci est quand même que les gens n'ont pas l'air de trop s'en plaindre. Je suppose que ça attendra la première grosse faille/gros virus pour que les gens s'en inquiètent.
C'est un soucis souvent oublié : le gros des clients s'en foutent et tant que cela sera le cas, la question ne bougera pas. Suffit de voir les réticences à quitter XP malgré les mises en garde de Microsoft lors de la fin de la maintenance. Beaucoup l'utilisent après encore. Personnellement, à part mon entourage informaticien, personne ne se préoccupe de la maintenance de l'OS de son téléphone. Les rares qui ont un avis dessus est même négatif (cela ralentit mon téléphone, ajoute des bogues, etc.). On est loin du client qui souhaite une mise à jour dans la durée. Et si c'était le cas, beaucoup de constructeurs feraient un effort là dessus.
Disons que ta réponse aurait du sens si les téléphones actuels avaient une chance de durer 5 ans. C'est loin d'être le cas.
Mis à part un changement de batterie qui est souvent indispensable dans les 5 ans, le reste fonctionne souvent très très bien au bout de 5 ans.
En fait le problème vient du fait que l'informatique reste un domaine un peu spécial. Tu achètes une machine avec des specs X, mais avec le temps les applications (par la loi de Worth) attendent des specs Y pour fonctionner correctement. Mais l'utilisateur lui veut toujours exploiter les derniers logiciels disponibles, à jour, avec plus de fonctions, etc.
Le constructeur, quand il vend son engin, il vend des specs matériels (voire logiciels) figés et peut difficilement faire autrement. Ton processeur ne va pas magiquement au bout de 2 ans être plus performant. Par contre au bout de 5 ans, à part la batterie qui est souvent fragile, le reste du matériel fonctionne souvent aussi bien que lors des premiers jours.
Mais tu ne le vois pas, car les applications se mettent à jour pour des raisons de sécurité mais aussi pour proposer plus aux utilisateurs (et exploiter des capacités des derniers téléphones). Mais comme ta machine n'évolue pas, forcément cela te paraîtra plus lourd, moins réactif, voire difficile de mettre à jour.
Le constructeur n'est pas responsable de ces évolutions. Il n'est pas responsable que le Bluetooth 2.1 ne permet pas de rapidement transférer des fichiers multimédias toujours plus lourds, qu'un processeur bas de gamme de 2011 puisse difficilement lire le fichier vidéo 4K que ton copain a fait depuis son dernier iPhone, ou naviguer de manière fluide sur des sites lourds actualisés comme Amazon ou Facebook. Il n'est pas responsable non plus si le dernier Candy Crush a besoin de plus de specs graphiques qu'à l'époque de l'achat.
Contractuellement, il t'a vendu un processeur de 2011, avec 1 Gio de RAM et c'est tout. Si le reste évolue de sorte à le rendre inopérant, est-ce de la faute du constructeur ? Non.
C'est en ça que l'informatique est un peu exceptionnel, on a du matériel qui va exécuter des logiciels très différents suivant les utilisateurs et des logiciels qui vont évoluer dans le temps. En général quand tu achètes un produit, son cas d'usage est limité dès l'achat et il n'y aura pas évolution de ce dernier. Ma machine à laver lave mon linge de la même manière que le jour de son achat. Il ne permet pas plus, ni moins et ne le pourra jamais sauf bien entendu lorsqu'il y aura panne. Ton téléphone exécute des logiciels qui n'existait pas le jour de son lancement. Et le fera encore dans les mois et années à venir, que ce soit par les mises à jour de ces applications ou par la création d'une nouvelle.
Le code de la consommation et la mentalité des consommateurs ne sont pas vraiment taillés pour cette nouvelle donne. C'est un changement important. Le code de la consommation stipule que ton téléphone doit fonctionner tel que vendu le jour de la vente pendant 2 ans. Et à part une panne d'un composant, c'est très souvent respecté pendant 2-5 ans. De plus, l'utilisateur s'attend à ce que le logiciel soit mise à jour durant ce laps de temps, mais tu connais un secteur où pendant X temps ton produit sera amélioré, corrigé de manière importante pendant la garantie ? À part changer des pièces défectueuses, personnellement je ne vois pas.
Le soucis est souvent extérieur, de part les mises à jour de sécurité ou fonctionnelles. Tu ne peux le reprocher aux constructeurs. Ils ne sont pas parfaits, mais ils ne sont pas responsables de tout les soucis qu'on rencontre actuellement. De plus, une partie des soucis pour les mises à jour viennent aussi de la difficulté de suivre et de pousser son travail dans le noyau par exemple faute d'API stable. Comment veux-tu contraindre légalement un fondeur comme Qualcomm de tout mettre dans le noyau officiel ? Ou comment contraindre légalement Linux d'être assez stable dans le temps en interne pour rendre ce genre de travaux plus simples et abordables économiquement ?
Ce sont vraiment des questions délicates, je bosse de l'embarqué, je suis confronté à ces questions régulièrement dans différents contextes, et il n'y a pas de solution universelle à ce jour à tout ceci pour que tout le monde soit content.
Ne pas oublier que la question de la sécurité est devenue centrale depuis très peu de temps, en fait depuis que n'importe quelle machine ou application (ou presque) ont accès à Internet. Avant cela la sécurité était une liste de bonnes pratiques mais on n'allait pas au fond du sujet, faute de compétences et d'intérêts. Aujourd'hui potentiellement toute faille fait l'objet d'une mise en garde sérieuse, c'était beaucoup moins vrai il y a 5 ou 10 ans.
Donc que des concepteurs d'une machine bas niveau, dont une bonne partie de sa conception date d'il y a longtemps (Intel ne change pas tout en profondeur à chaque génération) ait manqué ce genre de choses ne me paraît pas aberrant. Un processeur reste une puce très complexe, et il est probable que les équipes de sécurité de la boîte n'ait pas tout épluché en profondeur voire ne parvienne pas à le faire entièrement car comme c'est complexe, c'est difficile de tout déceler.
Par contre ce qui est certains, c'est que la prochaine génération devra corriger ce genre de bévues. Et peut être même corriger des soucis similaires mais jusque là inconnus. Dans le cas contraire ce serait très embêtant et ils pourraient difficilement utiliser cette ligne de défense.
Attention, je ne dis pas qu'une garantie légale plus longue est dénuée d'intérêt. Je comprends parfaitement que cela évite d'avoir des objets trop peu fiables.
Mais le corollaire, c'est que cela impose d'utiliser des composants plus durables (et donc souvent plus chers), d'avoir une meilleur conception (donc plus de temps et d'ingénieurs qui bossent dessus) et pour compenser les pertes liés aux défauts durant la garantie ils vont sans doute augmenter leur marge prévisionnel sur le produit. Sans compter pour le logiciel une équipe à payer plus longtemps pour suivre le produit et le maintenir (ce n'est pas gratuit).
Au total pour des produits peu chers (pensons globalement aux téléphones d'en dessous de 200€), la hausse peut être assez conséquente. C'est bon pour la planète et la durée de vie du produit, mais pour certains utilisateurs la hausse risque de faire mal au portefeuille (on peut penser à une hausse de prix de 10 à 30% du prix d'achat actuel).
C'est un exercice compliqué, d'autant qu'avec l'évolution des logiciels, des normes et des technologies, avoir un téléphone portable qui tient 10 ans n'est pas forcément très pertinent. Au delà de 5 ans déjà tu risques de faire de la surqualité (beaucoup d'utilisateurs changeront de téléphone avant même que le produit ne soit défectueux).
Je pense sincèrement qu'il faut établir des garanties sectorielles qui tienne compte de cela. Tant que l'informatique évoluera vite, imposer une longue garantie n'est pas forcément pertinent de part ces contraintes de coûts et du remplacement naturel avant défaut. Il semble évident que pour l'électroménager ou une voiture par exemple, ce soit différent car la longévité de ces produits es de fait plus longue.
Augmenter la durée de garantie est toujours possible mais ce n'est pas gratuit. Pour des produits assez bas de gammes, la hausse de prix peut-être non négligeable ce qui peut impacter de nombreux utilisateurs.
L'autre soucis c'est que l'environnement, les normes et autres évoluent aussi. Typiquement dans 10 ans, la 2G et la 3G vont probablement disparaître. La radio et la télévision analogiques aussi. Est-ce que garantir des appareils si dépendants d'infrastructure si longtemps est pertinent ?
En plus, un logiciel a toujours des bogues, plus ou moins importants. Comment évaluer quels bogues doivent être corrigés ou non et sur qu'elle durée ? Jusqu'ici c'est l'éditeur qui le décide mais si on souhaite des garanties plus fortes cela ne devrait pas être le cas. Et gérer cela n'est pas évident du tout.
Justement, ça ne l'est peut-être pas : dans chaque loi, il y a une partie explication, il faut avoir confiance que les parlementaires savent de quoi ils parlent, surtout quand il y a des accusation que les "gens en haut" ne pensent qu'aux riches sans comprendre les plus pauvres.
Déjà un parlementaire est rarement impliqué sur l'ensemble des sujets, ils se spécialisent souvent. Je ne connais pas cette parlementaire, mais si son sujet de prédilection c'est le numérique, la géopolitique, la justice ou le renseignement, cela n'a pas un grand intérêt qu'elle comprenne parfaitement la vie d'un pauvre.
Et la, il y a démonstration que les parlementaires sont hors sol, ne comprennent rien à ce qu'est d'être SMICard (le truc qu'ils refusent d'augmenter plus que l'inflation).
On a la démonstration qu'il y a une parlementaire qui a du mal avec cela. Cela ne signifie pas que tous les députés de ce parti sont comme ça. Et c'est une députée sur plusieurs centaines, je persiste donc en disant qu'il y a plus signifiant (un député qui viole la loi, les lois approuvées par le député en question).
Il y a pour moi une différence non insignifiante dans la crédibilité entre dire "je suis riche mais j'en suis conscient et je sais comment c'est avec moins" et dire "je suis riche mais je n'en suis pas conscient et je me compare aux plus pauvres avec des sous-entendus". Et la crédibilité, c'est important pour des représentants du peuple.
Nous n'avons pas la même interprétation de son propos, du coup forcément nos avis divergent sur sa crédibilité. Je pense qu'elle n'est pas tellement entachée, juste qu'elle ne sait pas gérer son blé ce qui est son problème personnel.
Après je le répète, tout le monde a des propos ou des comportements qui gênent. Tu regardes n'importe quel député ou candidats, tous auront un truc qui va gêner quelqu'un car nous avons des opinions très divergentes au sein de la société (nous sommes 60 millions tout de même) sur ce qui est acceptable ou pas et que toute attitude est donc sujet à remise en cause. Même Poutou, Artaud ou autres ont leur lots de critiques sur ce qu'ils ont dit ou fait dans leur vie.
Du coup, il est illusoire de croire qu'on aura un jour le politique parfait, sans une loi qui gêne quelqu'un, sans un propos qui scandalise un peu ou autres.
Je pense que donc essayer de collecter ce genre de choses pour accabler la majorité est une idiotie sans nom. Je pense sincèrement que cela fait perdre du temps pour débattre de sujets bien plus importants et significatifs.
Rappelons tout de même que les véhicules électriques à batterie consomment sensiblement plus d'énergie pour les déplacement quotidiens que leurs équivalents thermiques
Ça dépend, si c'est pour de la ville avec des arrêts réguliers et longs (ou des bouchons à gogo), l'électrique c'est intéressant (ça ne consomme rien à l'arrêt et la couple est meilleur ce qui est idéal dans ces conditions).
Mais en ville il y a des transports en commun en général, donc c'est mieux de faire ça à choisir.
Alors certes la pollution est déportée des quartiers riches (circulation des BMW et autres Tesla) vers les zones industrielles ou défavorisées (centrales électriques), mais la pollution sur le cycle de vie des engins est sensiblement supérieure.
Ça dépend de quelle pollution tu parles. Vis à vis du CO2 et des particules fines, en France, l'électrique est meilleur car l'électricité provient des centrales nucléaires ou de l'hydraulique majoritairement. Donc peu de pollutions atmosphériques. Ton commentaire serait plutôt valable en Chine, aux USA voire en Pologne et Allemagne.
Alors certes, il émet des particules fines (à la manière d'un moteur essence moderne — cherchez l'erreur), mais sur le long terme c'est sensiblement moins polluant que l'i3 précédente.
Pour un kilométrage moyen en France, un i3 pollue moins (CO2 et autres particules) qu'un thermique sur toute la durée de vie du produit.
Du fait de l'évolution des pénultième un moteur qui a 17 ans, bien entretenu pollue souvent bien moins qu'un moteur tout fraichement adapté aux futurs normes «anti»-pollution.
Je pense qu'il ne faut pas déconner non plus.
Je ne suis pas favorable à Hulot, je trouve ses possessions assez hypocrites sur le sujet (mais cela n'a rien de nouveau, et c'est fréquent avec les politiques écolos) mais il ne faut pas non plus inventer n'importe quoi. La voiture électrique n'est pas la solution (avant la voiture autonome partagée du moins) mais en France ça reste quelque chose d'encore efficace d'un point de vue environnemental. Mais cela ne concerne que les pays dont l'électricité est majoritairement nucléaire ou renouvelable soit pas beaucoup à l'échelle du globe.
N'oublie pas que je suis entièrement d'accord qu'avec ce niveau de revenu, pour en arriver là, l'argent devait être mal géré. Mais c'est courant comme situation (que ce soit avec des riches ou des pauvres là encore), et j'ai envie de dire, on s'en fou non ? C'est son problème.
Je ne trouve pas que cela fait un couac gouvernemental ou de la majorité. Si on s'attend à des députés parfaits sur tous les points, on ne les aura effectivement jamais. Il y aura toujours une phrase ou une situation qui gênera quelqu'un.
Du coup les gens ici préfèrent critiquer la majorité sur ce genre de détails assez insignifiants plutôt que de s'attaquer aux vrais sujets : les lois qu'ils pondent et également les vrais problèmes concernant les personnalité (je mets une différence entre cette déclaration sans grande signification selon moi et un Cahuzac par exemple).
Mais non ce n'est pas délirant avec une telle baisse de revenue. Si la personne gère mal ses sous et n'a pas de marge, la moindre baisse et tu dois t'adapter rapidement. Elle parle d'arrêter des dépenses inutiles, de déménager et de manger des plats de base en conséquence de ce changement. Nul doute qu'une fois qu'elle paiera un loyer plus abordable à son nouveau revenu et que certains frais dispendieux se calment, elle mangera autre chose que des pâtes avec ses 5000€.
Sa phrase ne signifie pas qu'avec 5000€ tu as du mal à vivre et que tu ne peux pas manger autre chose que des pâtes. Juste que quand tu perds un gros tiers de ton salaire, ton rythme de vie doit changer rapidement.
Tout à fait, en vérité le prix du vol en tenant compte de cela et des mesures de sécurités nécessaires ne sont pas très élevés (c'est proche du prix d'un vol en première classe pour cette distance par tête).
Mais bon, des polémiques sur tout et n'importe quoi, ça arrive à chaque gouvernement, et aucun ne peut être parfait.
On enchaine par une député qui dit qu'avec 5000€ net par mois elle doit manger des pâtes et ressortir des fringues de la cave1, je rappel qu'elle a aussi a peu près le même montant Indemnité_représentative_de_frais_de_mandat
Bah quand on lit le lien en question, on voit qu'elle parle de cela car elle est passée de 8000€ à 5000€ net/mois. Si elle avait un train de vie très élevé, avec des crédits associés, en vivant dans un quartier cher, une telle chute de revenue même quand tu es aisé ce n'est pas indolore.
Après elle gère peut être mal son argent aussi hein, mais riche comme pauvre c'est souvent un soucis. Je ne trouve pas le propos délirant.
Pourquoi les langages simples n'utilisent pas l'implémentation de bc par défaut, quitte à activer l'IEEE quand on a besoin de perfos ?
Car par défaut la précision des flottants suffisent et que la dégradation en performance serait trop importante.
Tu oublies que les entiers sont aussi sensibles à des cas limites hein, dans ton esprit il faudrait aussi du coup utiliser des représentations natives au delà de 32 ou 64 bits. Tu te rends compte de la perte en perf par rapport au gain estimé ?
J'ai l'impression que tu n'as aucune idée de l'impact de l'usage de non-flottants en terme de consommation mémoire et nombre de cycles nécessaires pour ces opérations.
Autrement dit, par défaut, les neuneus se cognent une implémentation limitée mais ultra performante
C'est qui le noeudnoeud ? Pour moi celui qui utilise python n'en est pas un car il est formé un minimum pour s'en servir et doit savoir quoi faire si cela lui pose un soucis.
Dans le cas d'un logiciel destiné à un utilisateur final non informaticien de métier, oui l'implémentation devrait éviter cela nativement.
je pense que vu les perfos actuelles des CPUs, on peut changer, oui…
On parle quand même de plusieurs ordres de grandeurs plus lent, tu multiplies ça par la quasi-totalité des instructions de ta machine (car les entiers devraient logiquement être concernés). Bref, tu vas dégrader par un gros facteur X (probablement plus que 5-10) toute ta machine juste pour de la précision qui n'apporte rien ? Super !
A ce propos je ne sais pas s'il s'agit d'une légende urbaine mais j'ai maintes fois ouïe dire que les cadres sup' des GAFAM, faisaient très attention à placer leur rejeton dans des établissements à l'apprentissage traditionnel cahiers/crayon, bien loin du numérique.
Mouais, je suis presque sûr que c'est plus lié au fait que les cadre sup' de ces boîtes, surtout au Royaume-Uni et aux USA, essayent de placer leurs enfants dans les meilleures écoles possibles qui sont souvent de grandes institutions privées avec des méthodes traditionnelles. C'est rarement là bas que tu verras les expérimentations du numérique à tout va, et les résultats sont bons grâce à la sélection à l'entrée et à des profs très compétents et avec des moyens pour les avoir et entretenir l'infrastructure scolaire.
Quand bien même ce serait une volonté pour eux que leurs enfants évitent le numérique, cela ne rend pas la justification correcte.
Donc pour vous, du moment qu'on n'arrivera jamais à faire une précision illimitée, on accepte une erreur d'une soustraction à 1 chiffre après la virgule.
Tu te trompes, le résultat renvoyé par Python est précis à 10-16 près (ce qui est pas mal), on est loin d'une imprécision de 10-1 que tu sembles sous entendre.
D'autant que, si on veut être tatillon, comme l'a soulevé Zenitram, le calcul ici est au chiffre significatif 100, donc tout résultat dont la valeur entière est correcte est bonne. Même 0.9.
en général on se fout de la perfo (là l'exemple a été donné en Python interactif quand même, c'est pas rien !)
Je pense qu'il est préférable que Python ait un comportement cohérent entre sa forme interactive et sa forme dans un fichier texte. Cela évite les surprises quand tu passes de l'un à l'autre, cela évite du code pour gérer cela et qui peut être source de bogues.
La question est plutôt : qui utilise sérieusement son langage de programmation pour un calcul précis élémentaire ? Personnellement j'ai une calculette matérielle et une logicielle pour cela. Un langage de programmation n'est pas fait pour cela.
Et non la performance on ne s'en fout pas, je pense que tu pleurerais si tout était en multi-précision. D'autant que tu oublies que ta logique voudrait qu'on transpose cela aux entiers car il est inadmissible que la quasi totalité des langages empêches l'usage d'entier supérieurs à 32 ou 64 bits sans syntaxe spécifique. Et étant donné l'importance des entiers dans tout logiciel et l'impact en performances que cela aurait, je pense que tu es content que les langages se conforment plutôt à ce que le processeur propose malgré les imprécisions. Car ces imprécisions sont suffisantes quasiment tout le temps. Aux autres de s'adapter un peu quand ils ont vraiment besoin d'une grande précision (sur entier ou flottant).
on peut toujours, pour ceux qui cherchent la perfo (ce que je soutiens c'est que c'est une large minorité) rebasculer vers le bon vieux IEE-machin (option de compil, déclaration dans le script du langage interprété ou je ne sais quoi)
Non ce n'est pas une minorité. Les flottants et les entiers étant partout dans tes logiciels, je pense sincèrement que tu regretterais une dégradation significatif des performances pour un gain en précision assez négligeable.
Voilà, ça force le trait évidemment, mais c'est ça que j'observe : la justification de la représentation interne qui rend une erreur de calcul acceptable sous pretexte que ça va plus vite. Aujourd'hui, a-t-on encore besoin de ce "ça va plus vite" par défaut ?
Les calculs des réels ce n'est pas gratuit. Dans l'idéal si tu ne peux avoir que des entiers, c'est le mieux. Je pense que tu n'as pas la moindre idée de l'impact de tout passer en multi-précision (de même pour les entiers au delà de 32 ou 64 bits, car oui tu oublies que la plupart des langages ne permettent pas des entiers plus grand nativement).
Sinon ton histoire des 1000 vs 1024, c'est aberrant. Les flottants ne sont pas parfaits, mais la précision est quand même grande (assez pour être acceptable), là tu nous présentes une erreur de 2,5% sur des cas très courant, ce n'est pas la même chose !
Le même Python est passé par défaut en UTF8 en représentation interne. Il y a 10 ans, j'aurais dit "c'est quand même con de faire de l'ASCII par défaut, on a besoin couramment d'écrire autre chose que les 90 caractères de base", on me serait tombé dessus avec les même arguments (ça coute cher, c'est pas prévu pour etc. etc.) ?
Sauf que l'UTF-8, c'est utile à tout le monde par défaut. Car oui nos logiciels sont utilisés dans le monde entier, la contrainte linguistique est omniprésente aujourd'hui. L'ASCII n'est plus suffisant. On cherche encore en quoi le flottant est inadapté dans la majorité des cas (indice, ce n'est pas vrai).
Python est un bon exemple, c'est un langage de script
Il peut faire langage de script, c'est avant tout un langage de programmation. Il n'a pas été conçu pour remplacer ton shell.
D'ailleurs tu noteras que les langages de scripts sont rarement pratiques pour faire des calculs en soi, car ce n'est pas leur rôle. Le shell est particulièrement pénible dans cet exercice.
Non ? Vraiment pas ?
Ce que tu ne comprends pas c'est qu'on parle de quelque chose par défaut. Python, comme d'autres langages, offrent des solutions natives pour faire ce que tu veux mais avec une syntaxe adaptée. Ils ont fait ce choix par défaut, qui est justifié et selon moi raisonnable. Ce n'est pas un bogue ou une erreur fondamentale d'avoir fait un tel choix. Cela est compatible avec leurs objectifs.
Pour moi ta critique serait valable uniquement si Python se présente comme un langage de programmation destiné à découvrir la programmation (ce qui n'est pas le cas) ou si Python était une application destinée à des utilisateurs non formés (comme pourrait l'être ton tableur, ta calculatrice ou ton logiciel de comptabilité).
J'ai vraiment l'impression que tu fais semblant de ne pas comprendre.
Ta remarque est légitime pour quelque chose qui fait un calcul pour l'utilisateur. Car ce dit utilisateur n'a pas à se soucier des mécanismes de la machine, il n'a pas à savoir ce qu'est un flottant, le développeur n'a pas à présumer à sa place de la précision souhaitée.
Mais là tu parles d'un langage de programmation générique, qui ne met pas l'accent pour être utilisable par n'importe qui pour faire n'importe quoi. Pour des raisons de performances il utilise les flottants par défaut. Comme la quasi totalité des langages et processeurs à notre disposition utilisent les flottants, ce n'est pas quelque chose de surprenant. On peut dire aussi qu'un informaticien doit de toute façon connaître les bases des calculs de sa machine que ce soit les flottants mais aussi la représentation des entiers de base.
Tu n'as pas su démontrer le gain de passer au tout multi-précision par rapport aux flottants. Car en réalité, la réelle nécessité du multi-précision est rare la quasi totalité des applications en ayant besoin s’accommodent très bien des flottants ce qui permet des calculs rapides mais aussi peu gourmands en énergies car le processeur s'en occupe pour toi avec des circuits dédiés et pas très gros. C'est tout bénéfique.
Pourtant, on ne peut pas dire que la programmation n'évolue pas, typiquement l'UTF8 s'impose malgré ses contraintes par rapport à l'ASCII car le gain est évident. Et jusque là personne ne semble se soucier vraiment de la question des flottants car manifestement, il n'y a pas de besoin.
Si après tout c'est si révolutionnaire, pourquoi tu ne propose pas ton correctif à Python pour le faire par défaut ? Tout le monde te suivrait.
L'exemple de python comme calculatrice est présent dés le premier chapitre dans tout les tutoriels de débutants, le présentant comme une calculatrice puissante.
C'est juste pour tester la bête, pas pour en faire une véritable calculatrice. Nul part j'ai vu que Python était présenté comme une véritable calculatrice.
Car tu sais, dans la quasi-totalité des tutoriels, parmi les premiers TP tu as justement la fameuse calculette. Je ne connais aucun de ces langages qui gèrent nativement les nombres décimaux non flottants ou la gestion des overflow des entiers.
Bref, ce sont des exercices, des exemples, pas un usage normal du langage.
Python s'est d'ailleurs imposé comme le langage d'étude pour les débutants. Parfois dés le collège. Je ne sais pas où ils en sont dans les programmes mais il me semble que la gestion des entiers/virgule flottantes par les ordinateurs, les normes IEEE 754, l'architecture des ordinateurs et tutti aux 4eme/3eme ça arrive un peu après Pythagore.
Personnellement je ne suis pas favorable à l'apprentissage du code (du moins d'un langage réel) avant le supérieur voire le lycée. Je ne pense pas que cela soit le plus important pour appréhender le numérique (d'autant que la majorité d'entre eux ne coderont pas). Il y a des langages adaptés pour les enfants ou adolescents, car sinon tu dois aussi expliquer ce qu'est un overflow, la gestion des erreurs, etc. Tu peux aller très loin si tu souhaites éviter qu'ils aient des surprises.
Python est également utilisé par des non-informaticiens, beaucoup de chimistes/bio-chimistes, ou simplement des autodidactes (l’apprentissage est ouvert à tous faut pas être sectaire).
Personne n'est sectaire, mais il faut réaliser qu'un langage de programmation ça reste un outil puissant mais qui a besoin d'une certaine expérience ou formation pour l'utiliser convenablement.
Pour les scientifiques, je pense qu'un petit mot dans leur livre de formation indiquant que les nombres décimaux n'ont pas toujours une représentation exacte suffit et indiquer quoi faire s'ils veulent une précision infinie. C'est tout.
Tu sais, cela me fait penser aux sciences qu'on enseigne à l'école. À la base, une racine carrée d'un nombre négatif, on t'enseigne que tu ne peux pas le calculer. Puis peu à peu tu apprends que si, pas dans R évidemment mais que tu peux en tirer quelque chose avec les nombres complexes. C'est pareil en physique où il y a des tonnes de simplification pour les gamins (Newton universel) avant finalement d'étudier les cas limites et que les simplifications ne fonctionnent plus.
Je ne vois pas pourquoi en informatique il en serait autrement, c'est un outil, qui nécessite des compétences et beaucoup de formation. C'est bien de simplifier, de rendre le sujet plus accessible, mais ne pas oublier que nos processeurs ont de quoi calculer des flottants très vite pour peu d'énergie. C'est bon de l'exploiter. Tâche éventuellement à des langages plus orientés débutants (Python n'a pas ce but) de cacher ce genre de choses.
Tu n'as pas à sortir, c'est vrai. Les nombres significatifs sont importants. On ne peut pas créer ex-nihilo de la précision. Le résultat sera toujours lié à la précision de l'entrée la moins précise.
Parce qu'on a inventé les ordinateurs pour calculer à notre place, et que maintenant qu'on a les moyens techniques qu'il fassent une soustraction de fin de primaire, il serait temps qu'ils le fassent sans se tromper, ne serait-ce à une erreur de 10-17?
Pour quel coût ?
Bien sûr que nos machines en sont capables, mais si tu ralentis la plupart des applications pour un gain nul, l'intérêt est discutable. De la même façon que de nombreux calculs en entiers normaux sont sensibles à l'overflow et d'autres effets du style également et peu de langages offrent une protection native contre cela.
Mais dans la majorité des cas on s'en fout et le gain en performance est réel. Pour les quelques cas où la précision infinie (ou du moins très grande) est requise, le développeur a tout le loisir d'utiliser une bibliothèque (voire une extension du langage) pour que cela fonctionne.
Car oui, je te l'assure, une précision aussi grande est vraiment rarement nécessaire.
On voit des chats qui tombent des chaises en fullHD sur Youtube, mais on fait toujours pas une soustraction de nombre difficilement représentables en binaire.
Si, on sait faire, mais il faut utiliser les outils adaptés pour.
En tout cas il n'est pas déconnant qu'un langage de programmation use par défaut des nombres en virgule flottante. On s'adresse à des techniciens ou ingénieurs, pas à de simple utilisateurs qui eux en effet ne doivent pas voir ce genre de choses. C'est quand même différent.
L’ADN mitochondrial est soumis aux mêmes pressions de sélection que l’ADN classique. Et presque aux mêmes mécanismes de mutation. Qu’il soit dans la mitochondrie plutôt que dans le noyau ne change pas grand chose du point de vue de la sélection naturelle.
Sauf que la mitochondrie n'est pas apparu par le mécanisme de l'ADN. C'est ça que je voulais dire, de même que notre corps ne génère pas de lui même la flore intestinale. Cela provient d'autres choses qui font tout autant parti du processus évolutif.
La question n'était pas vraiment au sujet de l'évolution de la mitochondrie elle même mais de son apparition dans les cellules vivantes.
Regarde les mitochondries qui ne sont pas dans notre corps grâce à notre ADN, les bactéries dans notre tube digestif, l'influence de notre environnement sur notre raisonnement ou l'expression des gènes. Tout ceci évolue et fait parti du processus évolutif individuel et global. Pourtant, ces éléments ne sont pas dû uniquement à l'ADN mais viennent bien de l’extérieure ou par d'autres mécanismes.
Suffit de constater, deux jumeaux, avec le même ADN de départ, produiront des individus distincts, avec leur raisonnement propre, et des différences visibles physiquement aussi.
Juste avec un langage comprenant 4 symboles (ou 64, selon le point de vue).
Je pense que c'est plus compliqué que cela. L'ADN n'est pas la seule composante de nos organismes pour nous donner de l'intelligence. Et d'ailleurs, malgré le fait que tout les êtres vivants ont plus ou moins la même base en terme de codage et de chimie, seules quelques espèces ont une intelligence qu'une IA actuelle ne sait pas reproduire. Et encore le niveau est très variable parmi eux.
Il faut prendre nos organismes comme un ensemble, tu as la partie neuronale, l'ADN, les protéines, toute la chimie organique qui gravite autour avec ses différents composants. Et il n'est pas improbable qu'une partie du fonctionnement de notre cerveau (et donc de son fonctionnement au niveau cellulaire) nous échappe encore.
Après ça doit certainement être possible de reproduire tout cela un jour sans doute. Mais l'évolution est loin d'avoir pondu quelque chose de simple pour ce résultat.
Faut reconnaitre que sur un exemple comme ça, ça fait tout de même tâche. Ce serait pas mal d'activer une bibliothèque en précision infinie par défaut.
Pourquoi ?
Je veux dire, c'est un langage de programmation, tout programmeur un minimum compétent doit savoir cette histoire de flottant, du moins dans le langage qu'il utilise.
D'autant que la précision des flottants est suffisante pour la quasi totalité des usages.
Sinon Excel il fait comment ? C'est pas une blague : lui ne fait pas cette erreur, donc elle n'a rien d'évident ni de systématique cette erreur.
Excel est un logiciel, utilisé par des non informaticiens. Ils n'ont pas à se soucier de cette histoire de flottants. Python est un langage de programmation, ses utilisateurs doivent savoir ça car de toute façon cela se retrouve quasiment partout.
[^] # Re: Quid des nouveaux processeurs annoncés chez les uns ou les autres ?
Posté par Renault (site web personnel) . En réponse au journal Ça sent pas bon chez Intel ?. Évalué à 3.
Tout dépend je pense depuis quand la faille a été clairement identifié par chaque fondeur, de l'importance du changement à faire (à priori cela ne devrait pas être si délicat) et des éventuels effets de bords.
Car n'oublions pas, peut être que le problème identifié est présent dans d'autres parties du CPU (ou GPU) qui n'ont pas été encore révélées. Il faudra sans doute de longs audits internes pour colmater l'ensemble.
Comme concevoir un processeur prend du temps (plus d'un an pour une nouvelle génération) et qu'un grand nombre de tests sera nécessaire pour s'assurer qu'il n'y aura pas de grands effets de bords pour les applications actuelles. Il me semble peu probable que quelque chose sorte en 2018 des usines. Faut compter je pense sur 2019 / 2020 pour avoir une généralisation des différentes corrections au sein de tous les produits de tous les fondeurs impactés.
[^] # Re: Bordel ?
Posté par Renault (site web personnel) . En réponse au journal Ça sent pas bon chez Intel ?. Évalué à 6.
Question de définition.
La notion de garantie, dans le droit, n'implique pas que le logiciel doit évoluer au cours du temps pour corriger tous les défauts logiciels que l'on peut identifier.
Par exemple le réseau 2G et 3G sont d'un point de vue sécurité des horreurs. Mais ils sont conservés pour des raisons d’interopérabilité. On doit faire quoi, attaquer les opérateurs et les constructeurs de les maintenir ? Un tel geste pourtant serait qualifié d'obsolescence programmée (ce qui serait ridicule mais passons).
Globalement ce débat c'est la quadrature du cercle, nous voulons un système fiable, à jour, pas cher, qui dure dans le temps et puisse faire un maximum de choses dont des trucs non existants à l'époque de la sortie du téléphone. Le tout sans faille de sécurités et de bogues avec un maximum de garanties X années après la sortie du périphérique. Ce n'est pas possible, soit tu auras un produit cher (globalement Samsung, Apple et Google ont un bon suivi durant la période des 2 ans de leur produit, mais sont souvent chers), ou alors tu vas devoir concéder un peu sur le reste. Et pas tout le monde est d'accord sur la question, beaucoup de gens préfèreront un téléphone troué mais pas cher. Suffit d'en parler dans son entourage non technicien pour comprendre que les mises à jour ne sont clairement pas une priorité.
Ton téléphone, si tu ne le mets pas à jour pendant les 5 ans, il tournera comme au premier jour ou presque. C'est ça que la garantie légale t'offre et dans l'ensemble c'est assez respecté. Toi tu veux plus, tu veux une maintenance dans le temps ce qui va au delà de la notion de garantie.
Personnellement les produits habituels que j'achète dans le commerce, je dois payer pour le faire évoluer ou le maintenir à niveau sauf défaut rendant mon produit inopérant. Mais en général, si je n'applique pas la mise à jour du constructeur, le produit fonctionne très bien, je m'expose à des fuites de données ou à certaines attaques mais le produit restera fonctionnel comme lors de l'achat. Et en général les constructeurs (automobiles par exemple) ne font des rappels sur les produits que pour les problèmes mettant en dangers la vie humaine ou ayant un impact très important. Pour un téléphone, c'est délicat à utiliser cet argument.
Facile à dire.
Un OS complet, ce sont des tonnes de composants que tu dois faire interagir. Toutes ces briques ne sont pas maintenues dans le temps par leur développeurs originaux, et parfois passer à la version suivante n'est pas possible (besoin de changer de versions pour d'autres produits, pertes fonctionnelles, etc.). Tu peux te retrouver à tout maintenir toi même et à tout backporter. Ce travail est énorme et n'est pas gratuit.
Honnêtement, maintenir l'OS complet d'un téléphone sérieusement (donc gens compétents et matériels à la hauteur et qui font un travail de qualité), cela peut vite revenir à plusieurs millions d'euros par an et par modèle. Pour des téléphones bas / milieu de gammes, c'est impossible à tenir sans une hausse de prix significative.
Je n'ai rien contre cela, je pense même qu'on va se diriger à terme vers une maintenance des produits via un système d'abonnement pour régler la question. Mais ce que tu souhaites ne ferait pas le bonheur de tous les clients, loin de là.
D'autant qu'on parle d'un domaine où les gens changent de produit spontanément régulièrement, beaucoup changer d'iPhone ou autre téléphone haut de gamme chaque année voire tous les deux ans pour avoir le dernier même si l'ancien fonctionne très bien pour eux. Maintenir en vie l'OS sur une longue durée, cela n'intéresse donc pas tout le monde. Et je pense que ceux que cela intéresse (à juste titre) devront le payer d'une façon ou d'une autre (appareil plus cher à l'achat, ou par abonnement).
C'est une solution. Je pense que beaucoup de constructeurs pourraient avantageusement simplifier leur gamme.
Mais bon, tu oublies que les réglementations ne sont pas mondiales, par exemple sur les fréquences radio. Du coup il te faut souvent des firmware différents voire des composants différents suivant le continent. Cela fragmente forcément le développement et la maintenance pour seulement produire un modèle.
Tu oublies aussi des raisons commerciales. Les constructeurs doivent se démarquer les uns des autres. Du coup forcément il faut produire différents modèles, et développer sa couche logicielle propre pour ne pas trop ressembler aux voisins. Et c'est bénéfique pour les consommateurs aussi, j'en connais qui ne jurent que par l'interface Android de Samsung, d'autres par celle native de Google, etc. Tous les goûts sont dans la nature et l'interface Android native ne convient pas à tous, tout comme iOS n'a pas convaincu tout le monde non plus. Difficile de leur reprocher de vouloir faire ça, même si certains abusent sans doute de la situation.
Pour la question d'Android en tout cas, je dirais que les opérateurs ne devraient pas être dans la boucle. Ça ne sert à rien (ils n'installent que des applications, ils ne touchent pas à l'interface) et ce n'est pas leur boulot. Ça éliminerait un obstacle pour diffuser les mises à jour.
C'est un soucis souvent oublié : le gros des clients s'en foutent et tant que cela sera le cas, la question ne bougera pas. Suffit de voir les réticences à quitter XP malgré les mises en garde de Microsoft lors de la fin de la maintenance. Beaucoup l'utilisent après encore. Personnellement, à part mon entourage informaticien, personne ne se préoccupe de la maintenance de l'OS de son téléphone. Les rares qui ont un avis dessus est même négatif (cela ralentit mon téléphone, ajoute des bogues, etc.). On est loin du client qui souhaite une mise à jour dans la durée. Et si c'était le cas, beaucoup de constructeurs feraient un effort là dessus.
[^] # Re: Bordel ?
Posté par Renault (site web personnel) . En réponse au journal Ça sent pas bon chez Intel ?. Évalué à 6.
Mis à part un changement de batterie qui est souvent indispensable dans les 5 ans, le reste fonctionne souvent très très bien au bout de 5 ans.
En fait le problème vient du fait que l'informatique reste un domaine un peu spécial. Tu achètes une machine avec des specs X, mais avec le temps les applications (par la loi de Worth) attendent des specs Y pour fonctionner correctement. Mais l'utilisateur lui veut toujours exploiter les derniers logiciels disponibles, à jour, avec plus de fonctions, etc.
Le constructeur, quand il vend son engin, il vend des specs matériels (voire logiciels) figés et peut difficilement faire autrement. Ton processeur ne va pas magiquement au bout de 2 ans être plus performant. Par contre au bout de 5 ans, à part la batterie qui est souvent fragile, le reste du matériel fonctionne souvent aussi bien que lors des premiers jours.
Mais tu ne le vois pas, car les applications se mettent à jour pour des raisons de sécurité mais aussi pour proposer plus aux utilisateurs (et exploiter des capacités des derniers téléphones). Mais comme ta machine n'évolue pas, forcément cela te paraîtra plus lourd, moins réactif, voire difficile de mettre à jour.
Le constructeur n'est pas responsable de ces évolutions. Il n'est pas responsable que le Bluetooth 2.1 ne permet pas de rapidement transférer des fichiers multimédias toujours plus lourds, qu'un processeur bas de gamme de 2011 puisse difficilement lire le fichier vidéo 4K que ton copain a fait depuis son dernier iPhone, ou naviguer de manière fluide sur des sites lourds actualisés comme Amazon ou Facebook. Il n'est pas responsable non plus si le dernier Candy Crush a besoin de plus de specs graphiques qu'à l'époque de l'achat.
Contractuellement, il t'a vendu un processeur de 2011, avec 1 Gio de RAM et c'est tout. Si le reste évolue de sorte à le rendre inopérant, est-ce de la faute du constructeur ? Non.
C'est en ça que l'informatique est un peu exceptionnel, on a du matériel qui va exécuter des logiciels très différents suivant les utilisateurs et des logiciels qui vont évoluer dans le temps. En général quand tu achètes un produit, son cas d'usage est limité dès l'achat et il n'y aura pas évolution de ce dernier. Ma machine à laver lave mon linge de la même manière que le jour de son achat. Il ne permet pas plus, ni moins et ne le pourra jamais sauf bien entendu lorsqu'il y aura panne. Ton téléphone exécute des logiciels qui n'existait pas le jour de son lancement. Et le fera encore dans les mois et années à venir, que ce soit par les mises à jour de ces applications ou par la création d'une nouvelle.
Le code de la consommation et la mentalité des consommateurs ne sont pas vraiment taillés pour cette nouvelle donne. C'est un changement important. Le code de la consommation stipule que ton téléphone doit fonctionner tel que vendu le jour de la vente pendant 2 ans. Et à part une panne d'un composant, c'est très souvent respecté pendant 2-5 ans. De plus, l'utilisateur s'attend à ce que le logiciel soit mise à jour durant ce laps de temps, mais tu connais un secteur où pendant X temps ton produit sera amélioré, corrigé de manière importante pendant la garantie ? À part changer des pièces défectueuses, personnellement je ne vois pas.
Le soucis est souvent extérieur, de part les mises à jour de sécurité ou fonctionnelles. Tu ne peux le reprocher aux constructeurs. Ils ne sont pas parfaits, mais ils ne sont pas responsables de tout les soucis qu'on rencontre actuellement. De plus, une partie des soucis pour les mises à jour viennent aussi de la difficulté de suivre et de pousser son travail dans le noyau par exemple faute d'API stable. Comment veux-tu contraindre légalement un fondeur comme Qualcomm de tout mettre dans le noyau officiel ? Ou comment contraindre légalement Linux d'être assez stable dans le temps en interne pour rendre ce genre de travaux plus simples et abordables économiquement ?
Ce sont vraiment des questions délicates, je bosse de l'embarqué, je suis confronté à ces questions régulièrement dans différents contextes, et il n'y a pas de solution universelle à ce jour à tout ceci pour que tout le monde soit content.
[^] # Re: Bug (ou fonctionnalité ?)
Posté par Renault (site web personnel) . En réponse à la dépêche Deux failles critiques : Meltdown et Spectre. Évalué à 10.
Ne pas oublier que la question de la sécurité est devenue centrale depuis très peu de temps, en fait depuis que n'importe quelle machine ou application (ou presque) ont accès à Internet. Avant cela la sécurité était une liste de bonnes pratiques mais on n'allait pas au fond du sujet, faute de compétences et d'intérêts. Aujourd'hui potentiellement toute faille fait l'objet d'une mise en garde sérieuse, c'était beaucoup moins vrai il y a 5 ou 10 ans.
Donc que des concepteurs d'une machine bas niveau, dont une bonne partie de sa conception date d'il y a longtemps (Intel ne change pas tout en profondeur à chaque génération) ait manqué ce genre de choses ne me paraît pas aberrant. Un processeur reste une puce très complexe, et il est probable que les équipes de sécurité de la boîte n'ait pas tout épluché en profondeur voire ne parvienne pas à le faire entièrement car comme c'est complexe, c'est difficile de tout déceler.
Par contre ce qui est certains, c'est que la prochaine génération devra corriger ce genre de bévues. Et peut être même corriger des soucis similaires mais jusque là inconnus. Dans le cas contraire ce serait très embêtant et ils pourraient difficilement utiliser cette ligne de défense.
[^] # Re: Bordel ?
Posté par Renault (site web personnel) . En réponse au journal Ça sent pas bon chez Intel ?. Évalué à 2.
Attention, je ne dis pas qu'une garantie légale plus longue est dénuée d'intérêt. Je comprends parfaitement que cela évite d'avoir des objets trop peu fiables.
Mais le corollaire, c'est que cela impose d'utiliser des composants plus durables (et donc souvent plus chers), d'avoir une meilleur conception (donc plus de temps et d'ingénieurs qui bossent dessus) et pour compenser les pertes liés aux défauts durant la garantie ils vont sans doute augmenter leur marge prévisionnel sur le produit. Sans compter pour le logiciel une équipe à payer plus longtemps pour suivre le produit et le maintenir (ce n'est pas gratuit).
Au total pour des produits peu chers (pensons globalement aux téléphones d'en dessous de 200€), la hausse peut être assez conséquente. C'est bon pour la planète et la durée de vie du produit, mais pour certains utilisateurs la hausse risque de faire mal au portefeuille (on peut penser à une hausse de prix de 10 à 30% du prix d'achat actuel).
C'est un exercice compliqué, d'autant qu'avec l'évolution des logiciels, des normes et des technologies, avoir un téléphone portable qui tient 10 ans n'est pas forcément très pertinent. Au delà de 5 ans déjà tu risques de faire de la surqualité (beaucoup d'utilisateurs changeront de téléphone avant même que le produit ne soit défectueux).
Je pense sincèrement qu'il faut établir des garanties sectorielles qui tienne compte de cela. Tant que l'informatique évoluera vite, imposer une longue garantie n'est pas forcément pertinent de part ces contraintes de coûts et du remplacement naturel avant défaut. Il semble évident que pour l'électroménager ou une voiture par exemple, ce soit différent car la longévité de ces produits es de fait plus longue.
[^] # Re: Bordel ?
Posté par Renault (site web personnel) . En réponse au journal Ça sent pas bon chez Intel ?. Évalué à 3.
C'est une question complexe.
Augmenter la durée de garantie est toujours possible mais ce n'est pas gratuit. Pour des produits assez bas de gammes, la hausse de prix peut-être non négligeable ce qui peut impacter de nombreux utilisateurs.
L'autre soucis c'est que l'environnement, les normes et autres évoluent aussi. Typiquement dans 10 ans, la 2G et la 3G vont probablement disparaître. La radio et la télévision analogiques aussi. Est-ce que garantir des appareils si dépendants d'infrastructure si longtemps est pertinent ?
En plus, un logiciel a toujours des bogues, plus ou moins importants. Comment évaluer quels bogues doivent être corrigés ou non et sur qu'elle durée ? Jusqu'ici c'est l'éditeur qui le décide mais si on souhaite des garanties plus fortes cela ne devrait pas être le cas. Et gérer cela n'est pas évident du tout.
[^] # Re: chargeons la barque
Posté par Renault (site web personnel) . En réponse au journal Le changement c'est maintenant ;). Évalué à 6.
Rien que sur ce chiffre, tu te trompes énormément, nous sommes plutôt de l'ordre du 2-10% que de 50% de pertes en France sur cette question.
[^] # Re: Avion - délégation
Posté par Renault (site web personnel) . En réponse au journal Le changement c'est maintenant ;). Évalué à 1.
Déjà un parlementaire est rarement impliqué sur l'ensemble des sujets, ils se spécialisent souvent. Je ne connais pas cette parlementaire, mais si son sujet de prédilection c'est le numérique, la géopolitique, la justice ou le renseignement, cela n'a pas un grand intérêt qu'elle comprenne parfaitement la vie d'un pauvre.
On a la démonstration qu'il y a une parlementaire qui a du mal avec cela. Cela ne signifie pas que tous les députés de ce parti sont comme ça. Et c'est une députée sur plusieurs centaines, je persiste donc en disant qu'il y a plus signifiant (un député qui viole la loi, les lois approuvées par le député en question).
Nous n'avons pas la même interprétation de son propos, du coup forcément nos avis divergent sur sa crédibilité. Je pense qu'elle n'est pas tellement entachée, juste qu'elle ne sait pas gérer son blé ce qui est son problème personnel.
Après je le répète, tout le monde a des propos ou des comportements qui gênent. Tu regardes n'importe quel député ou candidats, tous auront un truc qui va gêner quelqu'un car nous avons des opinions très divergentes au sein de la société (nous sommes 60 millions tout de même) sur ce qui est acceptable ou pas et que toute attitude est donc sujet à remise en cause. Même Poutou, Artaud ou autres ont leur lots de critiques sur ce qu'ils ont dit ou fait dans leur vie.
Du coup, il est illusoire de croire qu'on aura un jour le politique parfait, sans une loi qui gêne quelqu'un, sans un propos qui scandalise un peu ou autres.
Je pense que donc essayer de collecter ce genre de choses pour accabler la majorité est une idiotie sans nom. Je pense sincèrement que cela fait perdre du temps pour débattre de sujets bien plus importants et significatifs.
[^] # Re: chargeons la barque
Posté par Renault (site web personnel) . En réponse au journal Le changement c'est maintenant ;). Évalué à 2.
Ça dépend, si c'est pour de la ville avec des arrêts réguliers et longs (ou des bouchons à gogo), l'électrique c'est intéressant (ça ne consomme rien à l'arrêt et la couple est meilleur ce qui est idéal dans ces conditions).
Mais en ville il y a des transports en commun en général, donc c'est mieux de faire ça à choisir.
Ça dépend de quelle pollution tu parles. Vis à vis du CO2 et des particules fines, en France, l'électrique est meilleur car l'électricité provient des centrales nucléaires ou de l'hydraulique majoritairement. Donc peu de pollutions atmosphériques. Ton commentaire serait plutôt valable en Chine, aux USA voire en Pologne et Allemagne.
Pour un kilométrage moyen en France, un i3 pollue moins (CO2 et autres particules) qu'un thermique sur toute la durée de vie du produit.
Je pense qu'il ne faut pas déconner non plus.
Je ne suis pas favorable à Hulot, je trouve ses possessions assez hypocrites sur le sujet (mais cela n'a rien de nouveau, et c'est fréquent avec les politiques écolos) mais il ne faut pas non plus inventer n'importe quoi. La voiture électrique n'est pas la solution (avant la voiture autonome partagée du moins) mais en France ça reste quelque chose d'encore efficace d'un point de vue environnemental. Mais cela ne concerne que les pays dont l'électricité est majoritairement nucléaire ou renouvelable soit pas beaucoup à l'échelle du globe.
[^] # Re: Avion - délégation
Posté par Renault (site web personnel) . En réponse au journal Le changement c'est maintenant ;). Évalué à 3.
N'oublie pas que je suis entièrement d'accord qu'avec ce niveau de revenu, pour en arriver là, l'argent devait être mal géré. Mais c'est courant comme situation (que ce soit avec des riches ou des pauvres là encore), et j'ai envie de dire, on s'en fou non ? C'est son problème.
Je ne trouve pas que cela fait un couac gouvernemental ou de la majorité. Si on s'attend à des députés parfaits sur tous les points, on ne les aura effectivement jamais. Il y aura toujours une phrase ou une situation qui gênera quelqu'un.
Du coup les gens ici préfèrent critiquer la majorité sur ce genre de détails assez insignifiants plutôt que de s'attaquer aux vrais sujets : les lois qu'ils pondent et également les vrais problèmes concernant les personnalité (je mets une différence entre cette déclaration sans grande signification selon moi et un Cahuzac par exemple).
[^] # Re: Avion - délégation
Posté par Renault (site web personnel) . En réponse au journal Le changement c'est maintenant ;). Évalué à -4.
Mais non ce n'est pas délirant avec une telle baisse de revenue. Si la personne gère mal ses sous et n'a pas de marge, la moindre baisse et tu dois t'adapter rapidement. Elle parle d'arrêter des dépenses inutiles, de déménager et de manger des plats de base en conséquence de ce changement. Nul doute qu'une fois qu'elle paiera un loyer plus abordable à son nouveau revenu et que certains frais dispendieux se calment, elle mangera autre chose que des pâtes avec ses 5000€.
Sa phrase ne signifie pas qu'avec 5000€ tu as du mal à vivre et que tu ne peux pas manger autre chose que des pâtes. Juste que quand tu perds un gros tiers de ton salaire, ton rythme de vie doit changer rapidement.
[^] # Re: Avion - délégation
Posté par Renault (site web personnel) . En réponse au journal Le changement c'est maintenant ;). Évalué à 4.
Tout à fait, en vérité le prix du vol en tenant compte de cela et des mesures de sécurités nécessaires ne sont pas très élevés (c'est proche du prix d'un vol en première classe pour cette distance par tête).
Mais bon, des polémiques sur tout et n'importe quoi, ça arrive à chaque gouvernement, et aucun ne peut être parfait.
Bah quand on lit le lien en question, on voit qu'elle parle de cela car elle est passée de 8000€ à 5000€ net/mois. Si elle avait un train de vie très élevé, avec des crédits associés, en vivant dans un quartier cher, une telle chute de revenue même quand tu es aisé ce n'est pas indolore.
Après elle gère peut être mal son argent aussi hein, mais riche comme pauvre c'est souvent un soucis. Je ne trouve pas le propos délirant.
[^] # Re: Rien de surprenant
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 6.
Car par défaut la précision des flottants suffisent et que la dégradation en performance serait trop importante.
Tu oublies que les entiers sont aussi sensibles à des cas limites hein, dans ton esprit il faudrait aussi du coup utiliser des représentations natives au delà de 32 ou 64 bits. Tu te rends compte de la perte en perf par rapport au gain estimé ?
J'ai l'impression que tu n'as aucune idée de l'impact de l'usage de non-flottants en terme de consommation mémoire et nombre de cycles nécessaires pour ces opérations.
C'est qui le noeudnoeud ? Pour moi celui qui utilise python n'en est pas un car il est formé un minimum pour s'en servir et doit savoir quoi faire si cela lui pose un soucis.
Dans le cas d'un logiciel destiné à un utilisateur final non informaticien de métier, oui l'implémentation devrait éviter cela nativement.
On parle quand même de plusieurs ordres de grandeurs plus lent, tu multiplies ça par la quasi-totalité des instructions de ta machine (car les entiers devraient logiquement être concernés). Bref, tu vas dégrader par un gros facteur X (probablement plus que 5-10) toute ta machine juste pour de la précision qui n'apporte rien ? Super !
[^] # Re: Rien de surprenant
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 4.
Mouais, je suis presque sûr que c'est plus lié au fait que les cadre sup' de ces boîtes, surtout au Royaume-Uni et aux USA, essayent de placer leurs enfants dans les meilleures écoles possibles qui sont souvent de grandes institutions privées avec des méthodes traditionnelles. C'est rarement là bas que tu verras les expérimentations du numérique à tout va, et les résultats sont bons grâce à la sélection à l'entrée et à des profs très compétents et avec des moyens pour les avoir et entretenir l'infrastructure scolaire.
Quand bien même ce serait une volonté pour eux que leurs enfants évitent le numérique, cela ne rend pas la justification correcte.
[^] # Re: Rien de surprenant
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 5.
Tu te trompes, le résultat renvoyé par Python est précis à 10-16 près (ce qui est pas mal), on est loin d'une imprécision de 10-1 que tu sembles sous entendre.
D'autant que, si on veut être tatillon, comme l'a soulevé Zenitram, le calcul ici est au chiffre significatif 100, donc tout résultat dont la valeur entière est correcte est bonne. Même 0.9.
Je pense qu'il est préférable que Python ait un comportement cohérent entre sa forme interactive et sa forme dans un fichier texte. Cela évite les surprises quand tu passes de l'un à l'autre, cela évite du code pour gérer cela et qui peut être source de bogues.
La question est plutôt : qui utilise sérieusement son langage de programmation pour un calcul précis élémentaire ? Personnellement j'ai une calculette matérielle et une logicielle pour cela. Un langage de programmation n'est pas fait pour cela.
Et non la performance on ne s'en fout pas, je pense que tu pleurerais si tout était en multi-précision. D'autant que tu oublies que ta logique voudrait qu'on transpose cela aux entiers car il est inadmissible que la quasi totalité des langages empêches l'usage d'entier supérieurs à 32 ou 64 bits sans syntaxe spécifique. Et étant donné l'importance des entiers dans tout logiciel et l'impact en performances que cela aurait, je pense que tu es content que les langages se conforment plutôt à ce que le processeur propose malgré les imprécisions. Car ces imprécisions sont suffisantes quasiment tout le temps. Aux autres de s'adapter un peu quand ils ont vraiment besoin d'une grande précision (sur entier ou flottant).
Non ce n'est pas une minorité. Les flottants et les entiers étant partout dans tes logiciels, je pense sincèrement que tu regretterais une dégradation significatif des performances pour un gain en précision assez négligeable.
[^] # Re: Rien de surprenant
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 7.
Les calculs des réels ce n'est pas gratuit. Dans l'idéal si tu ne peux avoir que des entiers, c'est le mieux. Je pense que tu n'as pas la moindre idée de l'impact de tout passer en multi-précision (de même pour les entiers au delà de 32 ou 64 bits, car oui tu oublies que la plupart des langages ne permettent pas des entiers plus grand nativement).
Sinon ton histoire des 1000 vs 1024, c'est aberrant. Les flottants ne sont pas parfaits, mais la précision est quand même grande (assez pour être acceptable), là tu nous présentes une erreur de 2,5% sur des cas très courant, ce n'est pas la même chose !
Sauf que l'UTF-8, c'est utile à tout le monde par défaut. Car oui nos logiciels sont utilisés dans le monde entier, la contrainte linguistique est omniprésente aujourd'hui. L'ASCII n'est plus suffisant. On cherche encore en quoi le flottant est inadapté dans la majorité des cas (indice, ce n'est pas vrai).
Il peut faire langage de script, c'est avant tout un langage de programmation. Il n'a pas été conçu pour remplacer ton shell.
D'ailleurs tu noteras que les langages de scripts sont rarement pratiques pour faire des calculs en soi, car ce n'est pas leur rôle. Le shell est particulièrement pénible dans cet exercice.
Ce que tu ne comprends pas c'est qu'on parle de quelque chose par défaut. Python, comme d'autres langages, offrent des solutions natives pour faire ce que tu veux mais avec une syntaxe adaptée. Ils ont fait ce choix par défaut, qui est justifié et selon moi raisonnable. Ce n'est pas un bogue ou une erreur fondamentale d'avoir fait un tel choix. Cela est compatible avec leurs objectifs.
Pour moi ta critique serait valable uniquement si Python se présente comme un langage de programmation destiné à découvrir la programmation (ce qui n'est pas le cas) ou si Python était une application destinée à des utilisateurs non formés (comme pourrait l'être ton tableur, ta calculatrice ou ton logiciel de comptabilité).
[^] # Re: Rien de surprenant
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 10.
J'ai vraiment l'impression que tu fais semblant de ne pas comprendre.
Ta remarque est légitime pour quelque chose qui fait un calcul pour l'utilisateur. Car ce dit utilisateur n'a pas à se soucier des mécanismes de la machine, il n'a pas à savoir ce qu'est un flottant, le développeur n'a pas à présumer à sa place de la précision souhaitée.
Mais là tu parles d'un langage de programmation générique, qui ne met pas l'accent pour être utilisable par n'importe qui pour faire n'importe quoi. Pour des raisons de performances il utilise les flottants par défaut. Comme la quasi totalité des langages et processeurs à notre disposition utilisent les flottants, ce n'est pas quelque chose de surprenant. On peut dire aussi qu'un informaticien doit de toute façon connaître les bases des calculs de sa machine que ce soit les flottants mais aussi la représentation des entiers de base.
Tu n'as pas su démontrer le gain de passer au tout multi-précision par rapport aux flottants. Car en réalité, la réelle nécessité du multi-précision est rare la quasi totalité des applications en ayant besoin s’accommodent très bien des flottants ce qui permet des calculs rapides mais aussi peu gourmands en énergies car le processeur s'en occupe pour toi avec des circuits dédiés et pas très gros. C'est tout bénéfique.
Pourtant, on ne peut pas dire que la programmation n'évolue pas, typiquement l'UTF8 s'impose malgré ses contraintes par rapport à l'ASCII car le gain est évident. Et jusque là personne ne semble se soucier vraiment de la question des flottants car manifestement, il n'y a pas de besoin.
Si après tout c'est si révolutionnaire, pourquoi tu ne propose pas ton correctif à Python pour le faire par défaut ? Tout le monde te suivrait.
[^] # Re: Rien de surprenant
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 8.
C'est juste pour tester la bête, pas pour en faire une véritable calculatrice. Nul part j'ai vu que Python était présenté comme une véritable calculatrice.
Car tu sais, dans la quasi-totalité des tutoriels, parmi les premiers TP tu as justement la fameuse calculette. Je ne connais aucun de ces langages qui gèrent nativement les nombres décimaux non flottants ou la gestion des overflow des entiers.
Bref, ce sont des exercices, des exemples, pas un usage normal du langage.
Personnellement je ne suis pas favorable à l'apprentissage du code (du moins d'un langage réel) avant le supérieur voire le lycée. Je ne pense pas que cela soit le plus important pour appréhender le numérique (d'autant que la majorité d'entre eux ne coderont pas). Il y a des langages adaptés pour les enfants ou adolescents, car sinon tu dois aussi expliquer ce qu'est un overflow, la gestion des erreurs, etc. Tu peux aller très loin si tu souhaites éviter qu'ils aient des surprises.
Personne n'est sectaire, mais il faut réaliser qu'un langage de programmation ça reste un outil puissant mais qui a besoin d'une certaine expérience ou formation pour l'utiliser convenablement.
Pour les scientifiques, je pense qu'un petit mot dans leur livre de formation indiquant que les nombres décimaux n'ont pas toujours une représentation exacte suffit et indiquer quoi faire s'ils veulent une précision infinie. C'est tout.
Tu sais, cela me fait penser aux sciences qu'on enseigne à l'école. À la base, une racine carrée d'un nombre négatif, on t'enseigne que tu ne peux pas le calculer. Puis peu à peu tu apprends que si, pas dans R évidemment mais que tu peux en tirer quelque chose avec les nombres complexes. C'est pareil en physique où il y a des tonnes de simplification pour les gamins (Newton universel) avant finalement d'étudier les cas limites et que les simplifications ne fonctionnent plus.
Je ne vois pas pourquoi en informatique il en serait autrement, c'est un outil, qui nécessite des compétences et beaucoup de formation. C'est bien de simplifier, de rendre le sujet plus accessible, mais ne pas oublier que nos processeurs ont de quoi calculer des flottants très vite pour peu d'énergie. C'est bon de l'exploiter. Tâche éventuellement à des langages plus orientés débutants (Python n'a pas ce but) de cacher ce genre de choses.
[^] # Re: Autre réalité
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 4.
Tu n'as pas à sortir, c'est vrai. Les nombres significatifs sont importants. On ne peut pas créer ex-nihilo de la précision. Le résultat sera toujours lié à la précision de l'entrée la moins précise.
[^] # Re: Rien de surprenant
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 9.
Pour quel coût ?
Bien sûr que nos machines en sont capables, mais si tu ralentis la plupart des applications pour un gain nul, l'intérêt est discutable. De la même façon que de nombreux calculs en entiers normaux sont sensibles à l'overflow et d'autres effets du style également et peu de langages offrent une protection native contre cela.
Mais dans la majorité des cas on s'en fout et le gain en performance est réel. Pour les quelques cas où la précision infinie (ou du moins très grande) est requise, le développeur a tout le loisir d'utiliser une bibliothèque (voire une extension du langage) pour que cela fonctionne.
Car oui, je te l'assure, une précision aussi grande est vraiment rarement nécessaire.
Si, on sait faire, mais il faut utiliser les outils adaptés pour.
En tout cas il n'est pas déconnant qu'un langage de programmation use par défaut des nombres en virgule flottante. On s'adresse à des techniciens ou ingénieurs, pas à de simple utilisateurs qui eux en effet ne doivent pas voir ce genre de choses. C'est quand même différent.
[^] # Re: "Intelligence artificielle"
Posté par Renault (site web personnel) . En réponse au journal Société de Cristal de Max Harms. Évalué à 4.
Sauf que la mitochondrie n'est pas apparu par le mécanisme de l'ADN. C'est ça que je voulais dire, de même que notre corps ne génère pas de lui même la flore intestinale. Cela provient d'autres choses qui font tout autant parti du processus évolutif.
La question n'était pas vraiment au sujet de l'évolution de la mitochondrie elle même mais de son apparition dans les cellules vivantes.
[^] # Re: "Intelligence artificielle"
Posté par Renault (site web personnel) . En réponse au journal Société de Cristal de Max Harms. Évalué à 4.
Bah, non.
Regarde les mitochondries qui ne sont pas dans notre corps grâce à notre ADN, les bactéries dans notre tube digestif, l'influence de notre environnement sur notre raisonnement ou l'expression des gènes. Tout ceci évolue et fait parti du processus évolutif individuel et global. Pourtant, ces éléments ne sont pas dû uniquement à l'ADN mais viennent bien de l’extérieure ou par d'autres mécanismes.
Suffit de constater, deux jumeaux, avec le même ADN de départ, produiront des individus distincts, avec leur raisonnement propre, et des différences visibles physiquement aussi.
[^] # Re: Y a qu'à utiliser un bon langage
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 4.
En réalité 0.9999999 (avec des 9 à l'infini) et 1 sont la même valeur d'un point de vue mathématique. C'est juste deux manière de l'exprimer.
Donc 1/3 * 3 = 0.9999999 (avec des 9 à l'infini) c'est exact.
[^] # Re: "Intelligence artificielle"
Posté par Renault (site web personnel) . En réponse au journal Société de Cristal de Max Harms. Évalué à 3.
Je pense que c'est plus compliqué que cela. L'ADN n'est pas la seule composante de nos organismes pour nous donner de l'intelligence. Et d'ailleurs, malgré le fait que tout les êtres vivants ont plus ou moins la même base en terme de codage et de chimie, seules quelques espèces ont une intelligence qu'une IA actuelle ne sait pas reproduire. Et encore le niveau est très variable parmi eux.
Il faut prendre nos organismes comme un ensemble, tu as la partie neuronale, l'ADN, les protéines, toute la chimie organique qui gravite autour avec ses différents composants. Et il n'est pas improbable qu'une partie du fonctionnement de notre cerveau (et donc de son fonctionnement au niveau cellulaire) nous échappe encore.
Après ça doit certainement être possible de reproduire tout cela un jour sans doute. Mais l'évolution est loin d'avoir pondu quelque chose de simple pour ce résultat.
[^] # Re: Rien de surprenant
Posté par Renault (site web personnel) . En réponse au journal [Humour] vers un monde différent. Évalué à 10.
Pourquoi ?
Je veux dire, c'est un langage de programmation, tout programmeur un minimum compétent doit savoir cette histoire de flottant, du moins dans le langage qu'il utilise.
D'autant que la précision des flottants est suffisante pour la quasi totalité des usages.
Excel est un logiciel, utilisé par des non informaticiens. Ils n'ont pas à se soucier de cette histoire de flottants. Python est un langage de programmation, ses utilisateurs doivent savoir ça car de toute façon cela se retrouve quasiment partout.