barmic 🦦 a écrit 5946 commentaires

  • [^] # 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

  • [^] # 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. Dernière modification le 08 août 2022 à 00:40.

    Du coup pour un max dans une collection, puisque la solution du max_element est exclue, je mets en précondition que la collection ne soit pas vide. C'est l'appelant qui doit gérer sous peine de comportement indéfini, et comme je suis cool je mets quand même un assert en debug :)

    Je ne sais pas si c'est la meilleure façon de faire ou pas en C++, mais avoir une UB pour un fonctionnement aussi basique je trouve ça fou.

    On ne sait pas faire une recherche dans une collection de manière totalement safe ?

    C'est bien sûr une question de subjectivité, mais je préfère largement que ce soit fiable par défaut plutôt que piégeux quitte à ce que celui que ça gène d'avoir cette sécurité se pose des questions.

    Après réflexion j'imagine que de toute manière la recherche par itérateur produit de toute manière une UB si les 2 itérateurs ne sont pas mis dans le bon ordre ou s'ils ne concernent pas la même collection. Je ne suis clairement plus dans le mood pour le C++ :)

    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.

    L'approche de ksh n'est pas au niveau de la manipulation explicite de la variable (c'est ce que j'entendais par le fait qu'il faudra toujours refaire la manip

    Et cette approche fonctionne dans bash4. Tu peux utiliser typeset pour définir une variable lower case.

    Je vois pas quand c'est une bonne idée, mais tu peux.

    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.

    tout le cours devrait pouvoir se dérouler avec bash 2 je pense, mais bash 3 pour sûr

    Pourquoi devrait ? Il fait son cours comme il veut et décrit que c'est prévu pour bash 5.1. Et la dépêche dit "Bash 5 : une introduction"

    Où est-ce qu'on trouve encore bash 2 et 3 ? Bash 3 sur les bsd qui fuient la GPLv3 pour le base system ? Ils n'ont pas switché sur dash ou zsh ?

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

  • [^] # Re: De bonnes raisons ?

    Posté par  . En réponse au lien Windows prohibé chez Gitlab !!!. Évalué à 3.

    Les grandes boites du net (style Google, facebook) ont repris l'idée de l'administration systéme mais en rajoutant "fait par des devs" sous le terme "devops", comme si les adminsys n'avaient jamais rien codé avant.

    Que dans les boîtes qui n'ont pas compris ce qu'est le devops. Le devops est une organisation pour supprimer

    la profession donne l'image de râleurs qui vont dire "non" (voir directement de connards, et il faut dire la vérité, c'est parfois non usurpé)

    Tu t'organise pour que les devs et les admins ne travaillent pas comme client l'un de l'autre mais collaborent pour fournir le service et ça peut impliquer de fusionner les équipes.

    Le fait de produire quelque chose de différent avec ce type d'organisation qu'avant n'est qu'un effet de bord et pas un objectif.

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

  • [^] # Re: Pas de fumĂ©e sans feu

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

    Mais il faut quand même passer le booléen, donc à moins d'inliner, il y a un coût.

    J'avais compris que ça se basait justement sur l'inlining.

    En regardant vite fait je suis tombé sur cette vidéo qui semble aller dans ton sens (mais je l'ai pas encore regardé) : CppCon 2019: Chandler Carruth “There Are No Zero-cost Abstractions” (sur youtube) l'abstract sur isocpp.org.

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

  • # Lien

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

    Le lien dans « Aller plus loin » ne fonctionne pas chez moi. La redirection https → http ne semble pas autorisé par mon navigateur. Je ne sais pas si c'est une configuration chez moi ou si c'est classique.

    Après nouveau test ça fonctionne. Peut être que c'était juste un problème transitoire.

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

  • [^] # Re: Qui a demandĂ© ce projet ?

    Posté par  . En réponse au lien Les CNIL européennes se disent très inquiètes du projet antipédopornographie européen. Évalué à 2.

    « pour une démocratie de qualitay, les citoyens doivent nécessairement élever leurs préoccupations pour les centrer sur la collectivité (comme dirait Aristote), avec un intérêt tout particulier pour les groupes inférieurs (ça c'est bien plus
    moderne). »

    Je ne crois pas du tout que ce soit possible et je ne suis pas sûr du tout que ce soit souhaitable.

    Je ne crois pas que ce soit possible parce que ça demande un niveau d'implication et de formation de l'électorat qui est très élevé.

    Et je ne crois pas que ce soit souhaitable parce qu'affirmer comment les gens devraient voter ou pas ne me semble pas très sain pour une démocratie. On demande l'avis au peuple, c'est pas pour lui dire comment il doit voter. Sans chercher à te faire de procès, je trouve que le pas pour aller vers le « si tu n'es pas formé, tu n'a pas à voter » n'est pas très grand et que c'est un grand coup porté au suffrage universel.

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

  • [^] # Re: Pas de fumĂ©e sans feu

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

    sans compter l'impact sur les perfs

    Il me semblait que le c++ pouvait faire des optional/either en zero cost abstraction ?

    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é à 6.

    je m'excuse de trouver ça fascinant.

    C'était une question, je ne me suis jamais penché sur csh/ksh/tcsh et je comprends pour l'autocomplétion effectivement.

    je ne pratique pas assez pour me souvenir de la façon élégante et concise de le faire.

    Depuis la version 4, tu peux soit utiliser la même méthode soit :

    $ site=linuxfr
    $ printf "%s\n" ${site} ${site^} ${site^^} ${site^^[iu]}
    linuxfr
    Linuxfr
    LINUXFR
    lInUxfr

    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é à 3.

    Ksh est vraiment fascinent pour l'époque.

    Pourquoi ?

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

  • [^] # Re: Qui a demandĂ© ce projet ?

    Posté par  . En réponse au lien Les CNIL européennes se disent très inquiètes du projet antipédopornographie européen. Évalué à 2.

    Et c'est pas intéressant que des gens qui réfléchissent à faire société n'arrivent pas à parler entre eux ? Comment organiser 70 millions de personnes personnes si on arrive pas déjà à échanger ?

    Ils sont originaux dans le sens où ils n'ont jamais même tenté d'être mis en place nulle part. J'aurais probablement dû écrire intéressant à la place. Le découpage de pouvoir législatif, exécutif et judiciaire, n'est pas l'unique façon de s'organiser par exemple.

    M'enfin tu t'arrête sur un mot, je ne suis pas certaint que tu ai très envie de continuer.

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

  • [^] # Re: gâchis Ă  tous les niveaux

    Posté par  . En réponse au journal Une idée pour économiser 2.21 gigowatts sur la bande passante de Youtube. Évalué à 2.

    Ce n'est pas le même flux. Déjà pour une vidéo il faudrait une lecture synchronisée, mais surtout le flux est chiffré donc les 2 sont vu comme différents quoi qu'il arrive.

    Bon après il faut que plusieurs personnes veuillent télécharger la même chose au même moment dans la portée de l'antenne.

    Si pour de la FM/TNT où les antennes ont de très grandes portées et ne diffusent qu'un nombre réduit de flux audio/vidéo simultanément, c'est logique ça n'est pas du tout évident pour de l'internet.

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