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.
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.
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.
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 :
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.
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.
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".
[^] # Re: Ça me travaille maintenant
Posté par barmic 🦦 . En réponse au lien Software is in Decline - Jonathan Blow. Évalué à  6.
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 barmic 🦦 . 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 barmic 🦦 . 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 barmic 🦦 . 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 barmic 🦦 . 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 :
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Moinssez moi
Posté par barmic 🦦 . En réponse au journal Petites blagounettes de tout poil. Évalué à  3.
Je pense que ça vient d'une différence entre :
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Paradoxal
Posté par barmic 🦦 . 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 :
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.
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 barmic 🦦 . En réponse au lien La ville de Paris sanctionne les commerces climatisés gardant la porte ouverte - lalibre.be. Évalué à  4.
Ç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 barmic 🦦 . 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 barmic 🦦 . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à  2.
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 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 barmic 🦦 . En réponse au lien Java est toujours un champion. Évalué à  4.
Ç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 barmic 🦦 . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à  3.
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 barmic 🦦 . En réponse au lien Java est toujours un champion. Évalué à  4. Dernière modification le 11 août 2022 à 13:22.
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 barmic 🦦 . En réponse au lien Java est toujours un champion. Évalué à  3. Dernière modification le 11 août 2022 à 13:18.
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 barmic 🦦 . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à  0.
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.
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.
Non parce que tu la gère cette erreur. Tu la gère après et pas avant.
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 barmic 🦦 . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à  3.
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 :
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.
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 barmic 🦦 . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à  4.
Quand on parle d'argument d'autorité on pense à  :
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.
Alors l'annonce de google de 2009 donc pour annoncer la première version publique de go avant la version 1 et indique :
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 barmic 🦦 . 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.
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 barmic 🦦 . 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 barmic 🦦 . 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 barmic 🦦 . 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 barmic 🦦 . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à  3.
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é.
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.
On appel ça le cargo cult.
Ils n'ont pas le mĂŞme objectif. Ils ne jouent pas dans le mĂŞme bac Ă sable.
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 barmic 🦦 . En réponse au lien Pour le développement côté serveur, Meta recommande hack(php) c++ rust et python . Évalué à  2.
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 barmic 🦦 . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à  2.
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 barmic 🦦 . En réponse au journal De l'influence néfaste de Google sur les développeurs C++. Évalué à  3.
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