barmic 🦦 a écrit 5783 commentaires

  • [^] # Re: Ça me travaille maintenant

    Posté par  . En réponse au lien Software is in Decline - Jonathan Blow. Évalué à 6.

    Si on en reste au 1er degré, le message sous-jacent est que les évolutions software doivent tout au HW, et peu de choses au software en lui même.

    C'est vraiment une question à la con. Bien sûr que le hard apporte au logiciel. Mais le hardware n'aurait pas tant avancé s'il n'y avait pas du logiciel pour lui donner de la valeur ajouter. Peu de gens achèterais des centaines d'euros de matériels si ce n'était pas pour faire tourner du logiciel dessus. Et on ne saurait même pas produire ce matériel sans un ensemble de logiciels d'ailleurs.

    Le besoin de toujours tout mettre en concurrence ne me semble pas très sain. C'est une interdépendance pas une compétition.

    Prends internet (la plus grande avancée technologique de la seconde moitié du XXème qui ce n'est plus), tu l'attribue aux câbles et routers (monstre de technologies, faire des câbles intercontinentaux c'est pharaonique) ou à IP, TCP, HTTP ? Moi je saurais pas, parce que c'est la conjonction des 2 qui a de la valeur.

    Et ça ne cache pas que les 2 ont de gros soucis, ce n'est pas une façon de noyer le poisson.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Mes p'tites blagues leur ont pas plu...

    Posté par  . En réponse au journal Petites blagounettes de tout poil. Évalué à 5.

    wiktionary

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Merci Ă  Monsieur Sanchis

    Posté par  . En réponse à la dépêche Bash 5 : une introduction . Évalué à 2. Dernière modification le 17 août 2022 à 08:25.

    Comme je disais c'est arrivé avec la version 4.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Moinssez moi

    Posté par  . En réponse au journal Petites blagounettes de tout poil. Évalué à 3. Dernière modification le 17 août 2022 à 00:13.

    Tu parle, mais il semble que l'époque où tu trouvais drôle de finir tes journaux par une nimage est finie (parce qu'il paraît que c'est drôle de conclure tous les journaux par des photos de filles plus ou moins sexy)

    D'ailleurs où est nanim dont le nom y faisait référence ? Tous les liens ont l'air morts.

    Il semble bien qu'en même pas 10 ans ce qui était une "blague beauf assumée onpeutplusriendire" ne rencontres plus vraiment d'enthousiasme.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Merci Ă  Monsieur Sanchis

    Posté par  . En réponse à la dépêche Bash 5 : une introduction . Évalué à 2.

    Je sais pas sur quelle version tu as essayé sur 4.1 :

    root@Workstation:/# bash --version
    GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu)
    Copyright (C) 2009 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    
    This is free software; you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    root@Workstation:/# help typeset
    typeset: typeset [-aAfFilrtux] [-p] name[=value] ...
        Set variable values and attributes.
    
        Obsolete.  See `help declare'.
    root@Workstation:/# help declare
    declare: declare [-aAfFilrtux] [-p] [name[=value] ...]
        Set variable values and attributes.
    
        Declare variables and give them attributes.  If no NAMEs are given,
        display the attributes and values of all variables.
    
        Options:
          -f    restrict action or display to function names and definitions
          -F    restrict display to function names only (plus line number and
            source file when debugging)
          -p    display the attributes and value of each NAME
    
        Options which set attributes:
          -a    to make NAMEs indexed arrays (if supported)
          -A    to make NAMEs associative arrays (if supported)
          -i    to make NAMEs have the `integer' attribute
          -l    to convert NAMEs to lower case on assignment
          -r    to make NAMEs readonly
          -t    to make NAMEs have the `trace' attribute
          -u    to convert NAMEs to upper case on assignment
          -x    to make NAMEs export
    
        Using `+' instead of `-' turns off the given attribute.
    
        Variables with the integer attribute have arithmetic evaluation (see
        the `let' command) performed when the variable is assigned a value.
    
        When used in a function, `declare' makes NAMEs local, as with the `local'
        command.
    
        Exit Status:
        Returns success unless an invalid option is supplied or an error occurs.
    

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Moinssez moi

    Posté par  . En réponse au journal Petites blagounettes de tout poil. Évalué à 3.

    Je pense que ça vient d'une différence entre :

    • il faut que d'autoritĂ© ces blagues n'existent plus : comme faire une blague sur le roi du Maroc au Maroc
    • il faut que la sociĂ©tĂ© arrĂŞte de faire ces blagues : on passe notre temps Ă  arrĂŞter de faire des blagues. Tu as pleins de blagues sur les juifs, les arabes, les italiens,… qu'on ne se permet plus de faire et dont personne ne s'en indigne ("on ne peut plus rien dire" tout ça tout ça). Personne ne sortirait la zoubida aujourd'hui. Est-ce que pour autant on y voit une fascisation de la sociĂ©tĂ© ou quelque chose qui serait pire que le mal en question ?

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paradoxal

    Posté par  . En réponse au lien La ville de Paris sanctionne les commerces climatisés gardant la porte ouverte - lalibre.be. Évalué à 5.

    De 2 choses l'une :

    • la ville de Paris met en place des règles qui concernent que quelques magasins
    • il y a beaucoup de portes cassĂ©es Ă  Paris

    Ou alors tu décris quelque chose de mineur qui ne suffit pas à expliquer le phénomène.

    En vrai je ne suis pas aller à Paris depuis des années et je n'en sais rien.

    Ce sont des petites entreprises qui n'ont pas forcément de grands moyens (je connais assez bien et personnellement les problèmes des petits commerces).

    Ils n'ont pas les moyens de réparer leur porte ou c'est pas une priorité ?

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paradoxal

    Posté par  . En réponse au lien La ville de Paris sanctionne les commerces climatisés gardant la porte ouverte - lalibre.be. Évalué à 4.

    Les portes tournantes sont un excellent limitateur de gaspillage, on en trouve partout

    Ça demande une certaine place comme les sas par exemple.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Commentaire de jeudredi

    Posté par  . En réponse au lien Java est toujours un champion. Évalué à 5.

    Il est pas loin derrière C++.

    Après Elixir en 2ème, Clojure en 3ème, Delphi en 7ème, SQL en 9ème, solidity en 15ème (un langage pour ethereum),… Le survey me semble donner avantage à certains langages de relativement de niche. Par contre si on va dans la partie "want" java est 10ème.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Juste mon point de vue

    Posté par  . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 2.

    Que je sache il n'y a pas de tel benchmark, simplement parce qu'on parle d'un coût faible qui ne ressort que lorsqu'on regarde une appli dans son ensemble. Le profiler ne pointera jamais tous les ifs éparpillés dans l'app, mais ça ne veut pas dire que leur coût est négligeable.

    La majorité des bench ne passent pas par des profilers, mais donnent un temps d’exécution global. Ça doit pouvoir se tester.

    Pour moi il y a deux mondes

    Pour moi aussi : il y a ceux qui continue à créer des CVE liées à la mémoire par exemple et ceux qui tentent de supprimer les bugs dès les API (oui on peut être caricatural).

    Quoi qu'il arrive je pense qu'on tourne en rond. Je ne suis clairement pas câblé retourner vers du C++ et vous me le confirmer. À titre tout à fait personnel ça me donne envi de privilégier rust partout où c'est possible, je sais que ça irrite les développeurs C++, mais si rust c'est des perfs sans pour autant sacrifier à la fiabilité, ça conviendra plus à mes aspirations.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Nope

    Posté par  . En réponse au lien Java est toujours un champion. Évalué à 4.

    L'intérêt de Java et de la JVM c'est pas write once, run everywhere ?

    Ça n'a jamais voulu dire que ça doit s'exécuter partout avec la même performance. Par contre il me semble que java ne s'exécute pas sans utiliser une virtualisation en plus sur M1, sur risc-v et sur ios. Et il ne s'exécute plus sur navigateur non plus.

    Ça doit être pour ça que le slogan est mort avec son créateur : sun microsystems. C'est un peu comme utiliser le premier non de c++ pour en parler "c with classes".

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Juste mon point de vue

    Posté par  . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 3.

    Rappelons qu'on parle d'un cas oĂą la demande Ă  l'algo n'a aucun sens.

    Bien sûr que ça a du sens. Ce n'est pas parce que c'est vide que ça n'a pas de sens, c'est un cas particulier triviale mais ça a tout à fait un sens. Ça a du sens de faire un select sur une table vide, un find dans un dossier vide, un grep sur un fichier vide,… Tu ne cherche jamais quelque chose dans un tiroir ou une boîte vide ?

    C'est la façon dont on a envi de faire l'api qui le rend embêtant.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Nope

    Posté par  . En réponse au lien Java est toujours un champion. Évalué à 4. Dernière modification le 11 août 2022 à 13:22.

    Lenteur excessive. Les langages interpretés c'était bien avant (#boomer). On a des boites à outils pour faire du natif sans se casser la tête (merci LLVM). “Java, write once, run away”.

    Graalvm permets de compiler une application native. Sur un petit web service migré récemment, j'ai divisé le démarrage par 5 (de 10 à 2 secondes) et la consommation mémoire par 30 (de 300mo à 10mo).

    Java est généralement compilé en natif même sans graalvm. Pour le temps de démarrage c'est logique (il y a un travail en cours à OpenJDK pour ça par contre la mémoire c'est surprenant. Graalvm ne fait pas grand chose pour ça, il permet au gc d'être plus rapide mais c'est à peu près tout. C'est pas que la jvm n'était pas tunnée ?

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Nope

    Posté par  . En réponse au lien Java est toujours un champion. Évalué à 3. Dernière modification le 11 août 2022 à 13:18.

    Le simple démarrage de l'application met déjà plus de 3 secondes avant même d'arriver dans nos premières fonctions.

    Moi c'est libreoffice qui est lent comme ça sur mon pi. Dire que C++ est un langage performant est de la pure mauvaise fois.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Juste mon point de vue

    Posté par  . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 0.

    Avec de la doc.

    C'est un choix qui est discutable (si tout se passait aussi bien que tu le dis ce ne serait pas un sujet) et pas généralisable.

    Sans que std::find_if n'ait besoin de vérifier a chaque fois que le vector est bien peuplé.

    Je veux bien voir un bench réaliste qui montrerais l'impact réel de ce genre de trucs. L'assomption "on s'en fout de la sécurité, on veut de la perf à tout prix" me semble des fois être plus de l'ordre du dogme que d'un choix rationnel. Qu'une méthode en O(n) s'inquiète pour des raisons de performance d'un traitement en temps constant qui consiste à tester la valeur d'un entier, ça me paraît pas cohérent.

    d'autant que ça peut vite partir en cascade.

    Non parce que tu la gère cette erreur. Tu la gère après et pas avant.

    Et le C++ n'a jamais fait de mystère qu'un de ses objectifs principaux, c'est la performance. Faire un truc rapide sans avoir de compréhension de la lib standard, peut importe le langage, ça me semble très… disons difficile.

    Donc pour toi tous les pièges qu'on peut trouver dans une bibliothèque standard ou mieux dans le langage lui même ne sont jamais un problème : les utilisateurs doivent à minima avoir une compréhension du langage pour s'en servir.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Argument d'autoritĂ©

    Posté par  . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 3.

    Dire "c'est un argument d'autorité donc c'est négatif" (sous-entendu du premier commentaire du thread) n'est pas un argument.

    Si c'est ce qui est compris par le premier commentaire, il est explicite dans mon dernier que je dis simplement que l'argument est faible. Je discute les arguments, je n'ai dis ni sous entendu nul part ce qu'il faut faire ou pas. Mais je trouve surprenant qu'en disant ça :

    C'est rarement une question de vérité ou d'erreur, mais des choix. Google dans leur contexte font des choix, tu n'a probablement pas le même contexte peut-être que tu pourrais faire d'autres choix.

    Tu me vois affirmer ce qui est bon ou pas.

    Je présume que tu considère qu'affirmer qu'un argument est d'autorité serait une disqualification alors que pas du tout.

    Alors avant de faire son "anti" juste par plaisir, il faut comprendre qu'il faut amener un bon argument devant les gens pour dire que Google se trompe et/ou que ce n'est pas adapté à celui qui te lit.

    Première chose je n'ai jamais dis que Google se trompait, mais que s'ils ont fait ces choix d'autres sont possibles et je ne l'ai dit qu'une seule fois.

    Secondement il s'agit juste de comprendre nos choix et pourquoi on les fait. Il y a pleins de situations où nous utilisons nos biais, des simplifications et des arguments plus ou moins solides, c'est normal. Mais ça me parait utile d'en être conscient quand il s'agit de ton métier.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Argument d'autoritĂ©

    Posté par  . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 4.

    Ce n'est pas une autorité que je leur reconnais.

    Quand on parle d'argument d'autorité on pense à :

    Personne qui jouit d'une grande considération, dont on invoque l'exemple à l'appui d'une thèse

    CNRTL : Autorité B > 1 > a

    Tu peux trouver une description plus poussée (bien qu'un peu complexe à lire) dans le 30ème stratagème de l'art d'avoir toujours raison.

    Et oui ce sont 2 arguments d'autorité.

    Mais il ne faut pas se focaliser sur le mot autorité le fait que tu reconnaisse ou pas cette définition ne change pas le fond.

    On parle de singer une entreprise parce que cette entreprise semble avoir du succès (tout chez google ne rencontre pas de succès, coucou google cloud et ces 3 milliards de déficit l'an dernier). En quoi est-ce que tu relis le succès de google à leur utilisation de C++ (bon ils utilisent aussi js, python, go, dart, java, kotlin, typescript, PHP, groovy,…) plutôt qu'au fait qu'ils soient installés à Mountain View ou qu'ils utilisent un dépôt de code unique ou qu'ils ont un nom en 6 lettres ? Facebook et Alibaba se portent bien et utilisent principalement PHP pourquoi choisir google ? Microsoft lui utilise C# c'est que ça doit être bien aussi ?…

    Tu peux choisir le langage que tu veux et choisir par rapport à ça l'entreprise iconique qui va te permettre de dire que ton choix et vachement bien. Ça montre la faiblesse de l'argument à mon avis.

    Ça ne dit pas que ton choix est mauvais. On fait tous des choix par argument d'autorité, mais pour autant c'est utile d'en avoir conscience.

    Aujourd'hui ils n'ont pas les même objectifs, mais a l'origine si : remplacer le C, faire un langage performant utilisable pour écrire des OS. Rust à réussi son objectif. Go l'a manqué mais s'est réorienté vers un objectif un peu différent qui est la productivité pour des performances élevé (sans équivaloir C). Cela conviens à Google et à bien d'autres.

    Alors l'annonce de google de 2009 donc pour annoncer la première version publique de go avant la version 1 et indique :

    Go combines the development speed of working in a dynamic language like Python with the performance and safety of a compiled language like C or C++.

    Donc ce n'est pas un mouvement après coup c'était l'objectif initial. Il est question de programmation système et le simple succès que go a dans l'environnement docker/podman/kubernetes/helm/gvisor montre que ça fonctionne (et ça n'est pas une erreur : podman a démarré en 2018 donc après l'arrivée de rust et helm a était réécrit il y a 2 ans).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: pas de javascript donc

    Posté par  . En réponse au lien Pour le développement côté serveur, Meta recommande hack(php) c++ rust et python . Évalué à 2.

    Oh c'est intéressant. Ils ont l'air de vouloir converger vers cpython sans pour autant être actif. Je sais pas comment ils vont gérer l'évolution de python. Pour le moment ils sont sur 3.8 et je n'ai pas vu quel était le plan : y rester, rappliquer leurs changements sur une version intéressante ou merger avec cpython.

    Ce qui est intéressant, c'est qu'il y a sans doute plus de gens payé à temps plein sur le fork qu'upstream.

    Et ils ne s'intéressent qu'à la performance et ont l'air de dire qu'ils ajoutent peut-être des bugs. Plus loin ils disent qu'ils redémarrent assez souvent leurs appli pour que les fuites mémoires ne soient pas un problème. Je sais pas s'ils parle du code instagram ou de cinder lui même.

    Ça me donne un peu l'impression d'un besoin de vitesse très pressant et d'un projet assez précipité (on fait de la perf' pour nous, ce serait bien que ce soit mergé mais on le fera pas, on ne fera pas de support et attention on ne corrigera rien si on n'a pas le problème sur notre prod). C'est assez loin de dans la démarche de hhvm ou hack.

    On verra comment ça évolue.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: AgilitĂ© cryptographique

    Posté par  . En réponse au lien Bruce Schneier: NIST’s Post-Quantum Cryptography Standards. Évalué à 2.

    Je vois pas en quoi ça change fondamentalement les choses, tu aura une négociation pour la version du protocole plutôt que pour les algo. C'est peut être un peu plus simple pour l'utilisateur car c'est plus simple de dire on passe en TLS 1.2 minimum, mais fondamentalement c'est le même problème, non ?

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Juste mon point de vue

    Posté par  . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 3.

    J'ai une idée qui va mettre tout le monde d'accord j'en suis sûr.

    La fonction devrait renvoyer une collection contenant une copie de tous les éléments les plus grands ce qui lui permet de renvoyer zéro, un ou plusieurs éléments.

    Ben quoi ? 🙄
    (je suis sorti)

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Inutile

    Posté par  . En réponse au lien Dans la tourmente, DuckDuckGo bloque désormais les trackers de Microsoft - numerama. Évalué à 5.

    Je me suis demandé si Privacy badger avait encore un intérêt par rapport au mode strict de Firefox et j'ai trouvé une réponse ici

    https://blog.mozilla.org/en/products/firefox/firefox-extension-privacy-badger/#:~:text=While%20Privacy%20Badger%20isn't,them%20together%20as%20complementary%20safeguards.

    Firefox se base sur une liste de tracker a bloquer
    Privacy badger se base sur le comportement

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Argument d'autoritĂ©

    Posté par  . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 3.

    C'est plus un argument de "Google à les meilleurs ingénieurs, ils sortent des super-trucs alors tout ce qu'ils font est super.".

    Donc tu reconnais à ces ingénieurs autorité en la matière sous le seul prétexte qu'ils sont employés google. C'est bien un argument d'autorité.

    En fait il est difficile de remettre en question quelqu'un qui a souvent raison…

    C'est rarement une question de vérité ou d'erreur, mais des choix. Google dans leur contexte font des choix, tu n'a probablement pas le même contexte peut-être que tu pourrais faire d'autres choix.

    et quand il se plante (pour des raisons bête souvent), tout le monde le suit par méconnaissance (manque de raisonnement).

    On appel ça le cargo cult.

    Pour autant Rust à bien plus réussi le but du langage Go (Go a trouvé un autre intérêt mais ce n'est pas pour ça qu'il à été conçu).

    Ils n'ont pas le mĂŞme objectif. Ils ne jouent pas dans le mĂŞme bac Ă  sable.

    C'est peut-être la le secret de Google, on lance plein de truc, et par sélection naturel, on regarde ce que ça donne et on garde ou pas suivant le résultat… Mais parfois…

    Oui et non la sélection naturelle en question n'est que partiellement lié à la qualité intrinsèque du sujet. Le fait d'avoir réussi à le populariser ou à le vendre joue beaucoup, le fait que le gars qui est à la tête sache plus ou moins jouer des coudes aussi… Il y a bien sûr une part non négligeable d' aléatoire.
    Ensuite il ne faut pas voir une grande entreprise comme google comme un monolithe dont tous les employés seraient aussi compétents les uns que les autres.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: pas de javascript donc

    Posté par  . En réponse au lien Pour le développement côté serveur, Meta recommande hack(php) c++ rust et python . Évalué à 2.

    Je suppose que comme Google en son temps (le projet Unladen Swallow), Meta/Instagram a son propre fork de Python.

    C'est ce qu'ils ont fait pour PHP et ils avaient vachement communiqué dessus. J'ai pas retrouvé l'info, mais il me semble qu'ils utilisent pythran par exemple.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Juste mon point de vue

    Posté par  . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 2.

    Dans tous les cas ton code appelant doit gérer ce cas, une lib ne peut pas savoir ce que tu voudrais faire de ça si ça arrive…

    C'est tout le sujet de tous les commentaires du journal comment une bibliothèque fait pour dire à son utilisateur "là il y a un cas que je ne sais pas traiter".

    Traiter cela avant l'appel peut être complexe car tu n'a pas de moyen de t'assurer de toutes les préconditions. Et il y a des cas où c'est simplement impossible de faire les vérifications avant.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Juste mon point de vue

    Posté par  . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à 3.

    Surtout dans un programme à forte performance comme un jeu vidéo.

    Il a bon dos le jeux vidéos. Les plus gros jeux vidéos font un tas de choses bien plus lourdes et contraignantes pour l'expérience du joueur comme avec les anticheat. Prendre en compte qu'une collection est vide ou non ne représente probablement pas un si gros problème et si on a besoin de vérifier 24 fois par seconde qu'une même collection contiens ou non quelque chose il faut peu être revoir quelque chose et se demander si utiliser un algo linéaire est une bonne idée. Note aussi que les jeux vidéos sont bien chargés en bug, il serait peut-être intéressant d'arrêter de sacrifier la fiabilité sur l'autel des performances.

    Mais il y a évidemment des cas de jeux qui regardent tout un peu comme sur la scène demo. Mais je ne crois pas qu'une api qui se veut généraliste doivent être par défaut prévu pour un cas d'usage relativement confidentiel quand celui là a une incidence sur tous les usages.

    En plus pour moi la gestion du fait qu'il s'agisse d'une liste vide ou pas devrait être à la charge de cette méthode. Si on imagine une méthode indiquant l'index d'un élément dans une collection et qui renvoie -1 s'il ne trouve pas, on trouverait logique que lui donner une liste vide devrait renvoyer -1. Ce n'est que parce que l'API via itérateur pose des questions qu'on a envi de faire gérer cette situation par l'appelant

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll