Alors d'abord, pour moi le principal challenge n'est jamais d'écrire le code, mais de le lire, ou de le faire lire par d'autres êtres humains, et de le rendre compréhensible le plus rapidement possible, sans ambiguité, pour faciliter sa maintenance/évolution.
Et le fait qu'une syntaxe difficile à lire soit disponible me pose un vrai problème car il y aura toujours quelqu'un pour l'utiliser, et quelqu'un pour mal l'interpréter, ou plein de personnes pour perdre du temps à tenter de comprendre le comment et le pourquoi de la chose.
Le développement logiciel, au-delà des concepts mathématiques, c'est une activité avant tout humaine, qui doit prendre en compte les biais humains et ne surtout pas les ignorer. Je ne suis pas un gros fan de Python, mais la philosophie générale du langage est bien dans cet esprit, et ça me plaît.
Reprenons l'exemple de add :: Int -> Int -> Int. C'est un théorème qui dit "Pour tout Int, pour tout autre Int, alors je peux associer un Int". Et la preuve est une preuve par construction avec la fonction + qui associe un Int à tout couple de deux Int.
…je ne vois toujours pas de relation hiérarchique (ou d'ordre) entre les deux premiers Int. Et donc, je continue à trouver cette syntaxe déroutante/inadaptée. Et j'ai tendance à penser que ce genre de choix, même si il peut trouver une justification dans les mathématiques classiques (que je ne vois pas pour le moment), est une bonne manière de tuer l'adoption d'un langage.
Par contre, pour moi ce n'est pas un détail de syntaxe. C'est plutôt un point d'implémentation qui vient impacter la syntaxe. Le point sous-jacent étant : est-ce que le développeur a besoin de savoir quelque chose à propos de la curryfication/décurryfication ?
Dis autrement : je suis une quiche totale en programmation fonctionnelle, mais j'ai quand même tendance à penser que pour un être humain normal, la conception se fait en disant "j'ai x et y, deux entiers, qui servent à calculer un produit", donc une seule fonction, et pas un enchaînement de deux fonctions.
Dis encore autrement : je vois que la curryfication permet d'avoir des fonctions pures (et je pense percevoir l'intérêt de celles-ci), mais je ne vois pas en quoi ça justifie de faire de la curryfication systématique, et encore moins de venir impacter la syntaxe avec cette notion. Le remède n'est-il pas pire que le mal ?
Quelqu'un pour donner plus de détails sur comment s'interprète la partie suivante ?
add::Int->Int->Int-- définit une fonction addaddxy=x+y
Je veux bien que haskell soit "super expressif", mais la première ligne ne me parle pas du tout. Pourquoi des flèches sont-elles utilisées pour typer les variables de la fonction ? Une flèche implique une relation de cause à effet, ou une sorte de hiérarchie ; or rien de tel entre x et y, non ?
A ce compte là, je préfère la version go (ou pratiquement n'importe quel autre langage) qui permet de savoir clairement quelle variable a quel type.
D'un côté (haveibeenpowned) on a une publication des mots de passe courants sans dire à qui ils appartiennent, de l'autre on a des mots de passe pas si courants que ça (même si certains sont bateaux) en donnant explicitement qui les utilisait.
Je vais faire une analogie qui va donc être foireuse. Je laisse mes clés sous mon paillasson. Comme beaucoup de monde. Oui, c'est débile, c'est une mauvaise pratique, et en plus je suis serrurier. Si quelqu'un s'amuse à annoncer à la terre entière que je mets mes clés sous mon paillasson, je pense quand même que c'est un gros abruti, tout en reconnaissant que c'est con de mettre mes clés sous mon paillasson.
Par contre, quelqu'un qui publie une étude qui montre que 43% des gens laissent les clés sous un paillasson, et 27% derrière le pot de fleur, ça ne me gêne pas. Ca m'encourage à changer d'endroit.
Je suis intrigué par la réaction de Rob Pike, qui grosso modo dit que ça reste une idée de merde de publier les mots de passe des gens.
S’en suit une discussion courte mais la question demeure : qu’est-ce qui autorisait un chercheur a publier sa trouvaille sans demander leur avis aux intéressés ? A quel point la valeur historique/culturelle de ces mots de passe justifie son action ?
Ce n'est qu'un exemple ; certes avec un peu (trop) d'extrapolation, mais ça montre quand même qu'on peut deviner ou tenter de deviner des choses à partir des meta-informations qui gravitent autour de nos requêtes http[s], dans ce cas autour du DNS.
Quand j'ai vu la news sur LinuxFR, j'ai cru qu'il avait été bronsonnisé. Ken Thompson et Jacques Chirac dans la même semaine, ça aurait quand même fait beaucoup. Cela dit, ça aurait fait pareil que Ken Thompson tout seul.
Heureusement, il n'en est rien, l'homme court toujours. Même si je préfère Rust par rapport à Go.
Ami lecteur, sauras-tu identifier tous les trolls subtilement cachés dans ce message ?
En fait, l'auteur du journal semble avoir été trop subtil pour une partie du public. Quand c'est trop gros, trop gras, on se fait basher, quand on fait trop subtil, on se fait basher.
Comme quoi, "le silence est d'or" reste une maxime d'actualité :-).
A ce propos, est-ce que quelqu'un a un lien qui donne la position de Apple, exprimée directement par Apple, à ce propos ?
Moi aussi je veux éviter de faire un procès d'intention, mais force est de reconnaître que c'est pas facilement (pas du tout ?) trouvable sur le grand ternet, au contraire des sites qui détaillent les limitations.
Problème : ça date de 2014. Par contre ce qui est expliqué fait froid dans le dos. Non seulement les autres fournisseurs de navigateur doivent utiliser le moteur webkit, mais en plus, au moins à l'époque, ils n'avaient pas le droit d'utiliser la version rapide du moteur javascript.
Le seul point que je comprenne, c'est que l'on doivent le garder comme navigateur par défaut, puisque ça permet de bien contrôler son comportement dans certains cas. Et encore…
Pour info, je suis utilisateur de Blackberry sur iOS, qui fournit aux entreprises une suite logicielle aux grandes entreprises. Et là ils ont été obligé de créer leur propre navigateur (sans doute également basé sur Webkit, hein) pour pouvoir isoler les activité pro et perso.
En général, sur un projet avec du perl dedans, ma première réaction c'est la fuite.
Quelques phrases que j'ai (trop) souvent entendu :
"on a enfin trouvé pourquoi le script xxxxxx était super lent ; c'était la partie perl" (et je travaille essentiellement sur des applications en Java, pas le truc réputé rapide, hein…)
"on a un script perl écrit il y a plusieurs années, mais personne n'ose y toucher, donc on corrige les bugs dans un script qui tourne juste après" (et je travaille avec des applications legacy basées sur des frameworks qui ont souvent disparu depuis plusieurs années)
Autant, j'arrive à justifier la présence de Python pour disposer des outils de machine learning ou faire du prototypage rapide autant pour Perl…
Et comme disait mon ancien boss : "la différence entre perl et whitespace, c'est que dans whitespace, l'obfuscation c'est fait exprès". La même marche aussi avec lisp, évidemment.
Je suis d’accord pour dire que sur un téléphone moyen ou haut de gamme une batterie fixe mais avec des gros avantages (finesse, durée, résistance à l’eau) est la bonne solution.
Mais les gens qui achètent du bas de gamme (< 250€) sans batterie amovible s’en mordent tous les doigts dans les 12 à 24 mois suivants…
Ce commentaire doit être génial pour les personnes qui n'utilisent pas un fond sombre comme moi ! :'-(
Bon, blague à part, je vais le lire quand même, mais je me faisais une remarque en lisant "ppcm". Mon premier réflexe a été "tiens, une typo dans un message de l'éminent kantien". N'en croyant pas mes yeux, j'ai fait la vérification dans wikipedia, et non, c'est bien "ppcm" pour "plus petit commun multiple". Et "pgcd" pour "plus grand commun diviseur".
Je suis persuadé que lors de ma scolarité, le mot "commun" était situé en queue de peloton.
Alors de deux choses l'une :
- soit il y a un plan machiavélique de domination du monde par le mot "commun" pour se retrouver de plus en plus tôt dans toutes les phrases ; et d'ici quelques années, on dira "commun plus grand diviseur", "commun j'étudie le droit", "commun ça va", etc
- soit j'ai commencé la picole dès la primaire
[^] # Re: out of the box
Posté par Dring . En réponse au journal Linux et les tablettes graphiques, quelques liens à toutes fins utiles. Évalué à 2.
Moi ça a marché directement avec une Fedora. Quelques paramètres à régler dans Gimp et Inkscape.
Il faut que j’essaye Inkscape, car si Gimp gère bien la pression, il ne gère pas l’inclinaison et c’est chiant. A moins que ce ne soit moi ?
[^] # Re: C'est quoi ce bordel dans les CPU.
Posté par Dring . En réponse au journal C'est quoi ce bordel dans les CPU.. Évalué à 10.
Ironie inside je suppose (mais dans ce cas c’était pas evident)
[^] # Re: Haskell super expressif ?
Posté par Dring . En réponse au journal Comprendre Go en 5 minutes, en Haskell. Évalué à 2.
Alors d'abord, pour moi le principal challenge n'est jamais d'écrire le code, mais de le lire, ou de le faire lire par d'autres êtres humains, et de le rendre compréhensible le plus rapidement possible, sans ambiguité, pour faciliter sa maintenance/évolution.
Et le fait qu'une syntaxe difficile à lire soit disponible me pose un vrai problème car il y aura toujours quelqu'un pour l'utiliser, et quelqu'un pour mal l'interpréter, ou plein de personnes pour perdre du temps à tenter de comprendre le comment et le pourquoi de la chose.
Le développement logiciel, au-delà des concepts mathématiques, c'est une activité avant tout humaine, qui doit prendre en compte les biais humains et ne surtout pas les ignorer. Je ne suis pas un gros fan de Python, mais la philosophie générale du langage est bien dans cet esprit, et ça me plaît.
[^] # Re: Haskell super expressif ?
Posté par Dring . En réponse au journal Comprendre Go en 5 minutes, en Haskell. Évalué à 2.
Dans…
…je ne vois toujours pas de relation hiérarchique (ou d'ordre) entre les deux premiers Int. Et donc, je continue à trouver cette syntaxe déroutante/inadaptée. Et j'ai tendance à penser que ce genre de choix, même si il peut trouver une justification dans les mathématiques classiques (que je ne vois pas pour le moment), est une bonne manière de tuer l'adoption d'un langage.
[^] # Re: Haskell super expressif ?
Posté par Dring . En réponse au journal Comprendre Go en 5 minutes, en Haskell. Évalué à 4.
Merci beaucoup pour cet éclairage.
Par contre, pour moi ce n'est pas un détail de syntaxe. C'est plutôt un point d'implémentation qui vient impacter la syntaxe. Le point sous-jacent étant : est-ce que le développeur a besoin de savoir quelque chose à propos de la curryfication/décurryfication ?
Dis autrement : je suis une quiche totale en programmation fonctionnelle, mais j'ai quand même tendance à penser que pour un être humain normal, la conception se fait en disant "j'ai x et y, deux entiers, qui servent à calculer un produit", donc une seule fonction, et pas un enchaînement de deux fonctions.
Dis encore autrement : je vois que la curryfication permet d'avoir des fonctions pures (et je pense percevoir l'intérêt de celles-ci), mais je ne vois pas en quoi ça justifie de faire de la curryfication systématique, et encore moins de venir impacter la syntaxe avec cette notion. Le remède n'est-il pas pire que le mal ?
# Haskell super expressif ?
Posté par Dring . En réponse au journal Comprendre Go en 5 minutes, en Haskell. Évalué à 5.
Quelqu'un pour donner plus de détails sur comment s'interprète la partie suivante ?
Je veux bien que haskell soit "super expressif", mais la première ligne ne me parle pas du tout. Pourquoi des flèches sont-elles utilisées pour typer les variables de la fonction ? Une flèche implique une relation de cause à effet, ou une sorte de hiérarchie ; or rien de tel entre x et y, non ?
A ce compte là, je préfère la version go (ou pratiquement n'importe quel autre langage) qui permet de savoir clairement quelle variable a quel type.
[^] # Re: Ethique ?
Posté par Dring . En réponse à la dépêche Les mots de passe des premiers développeurs‐utilisateurs d’UNIX, notamment celui de Ken Thompson. Évalué à 8.
La comparaison me semble hasardeuse.
D'un côté (haveibeenpowned) on a une publication des mots de passe courants sans dire à qui ils appartiennent, de l'autre on a des mots de passe pas si courants que ça (même si certains sont bateaux) en donnant explicitement qui les utilisait.
Je vais faire une analogie qui va donc être foireuse. Je laisse mes clés sous mon paillasson. Comme beaucoup de monde. Oui, c'est débile, c'est une mauvaise pratique, et en plus je suis serrurier. Si quelqu'un s'amuse à annoncer à la terre entière que je mets mes clés sous mon paillasson, je pense quand même que c'est un gros abruti, tout en reconnaissant que c'est con de mettre mes clés sous mon paillasson.
Par contre, quelqu'un qui publie une étude qui montre que 43% des gens laissent les clés sous un paillasson, et 27% derrière le pot de fleur, ça ne me gêne pas. Ca m'encourage à changer d'endroit.
# Ethique ?
Posté par Dring . En réponse à la dépêche Les mots de passe des premiers développeurs‐utilisateurs d’UNIX, notamment celui de Ken Thompson. Évalué à 10. Dernière modification le 14 octobre 2019 à 07:35.
Je suis intrigué par la réaction de Rob Pike, qui grosso modo dit que ça reste une idée de merde de publier les mots de passe des gens.
S’en suit une discussion courte mais la question demeure : qu’est-ce qui autorisait un chercheur a publier sa trouvaille sans demander leur avis aux intéressés ? A quel point la valeur historique/culturelle de ces mots de passe justifie son action ?
[^] # Re: Mais noooon !!!
Posté par Dring . En réponse à la dépêche Mémoires vives ("Permanent record") par Edward Snowden. Évalué à 2.
Ou de se faire refiler une saloperie par un papa porteur de virus…
[^] # Re: Mais noooon !!!
Posté par Dring . En réponse à la dépêche Mémoires vives ("Permanent record") par Edward Snowden. Évalué à 8.
Ce n'est qu'un exemple ; certes avec un peu (trop) d'extrapolation, mais ça montre quand même qu'on peut deviner ou tenter de deviner des choses à partir des meta-informations qui gravitent autour de nos requêtes http[s], dans ce cas autour du DNS.
Exemple plus réaliste :
- M. U se connecte à www.maxi-diarhee.org
- M. U se connecte à www.vomi.com
- M. U se connecte à www.je-crache-du-sang.fr
- M. U se connecte à www.grippe-intestinale.com
- Mme X, agent de la DGSE, refuse une invitation à dîner de M. U
[^] # Re: Pendant ce temps, à Saint-Pétersburg...
Posté par Dring . En réponse au journal Enfin des NullPointerException plus explicites en Java. Évalué à 2.
D’ailleurs c’est bien dommage que Java ne s’inspire pas de Kotlin sur cette partie.
# OUF !
Posté par Dring . En réponse à la dépêche Portrait de Ken Thompson. Évalué à 9.
Quand j'ai vu la news sur LinuxFR, j'ai cru qu'il avait été bronsonnisé. Ken Thompson et Jacques Chirac dans la même semaine, ça aurait quand même fait beaucoup. Cela dit, ça aurait fait pareil que Ken Thompson tout seul.
Heureusement, il n'en est rien, l'homme court toujours. Même si je préfère Rust par rapport à Go.
Ami lecteur, sauras-tu identifier tous les trolls subtilement cachés dans ce message ?
[^] # Re: j'aime
Posté par Dring . En réponse au journal Apple casse les prix, la concurrence en sueur. Évalué à 4.
En fait, l'auteur du journal semble avoir été trop subtil pour une partie du public. Quand c'est trop gros, trop gras, on se fait basher, quand on fait trop subtil, on se fait basher.
Comme quoi, "le silence est d'or" reste une maxime d'actualité :-).
[^] # Re: Seulement WebKit sur IOS
Posté par Dring . En réponse au journal Une exploitation massive de failles dans iOS depuis plus de 2 ans. Évalué à 4.
A ce propos, est-ce que quelqu'un a un lien qui donne la position de Apple, exprimée directement par Apple, à ce propos ?
Moi aussi je veux éviter de faire un procès d'intention, mais force est de reconnaître que c'est pas facilement (pas du tout ?) trouvable sur le grand ternet, au contraire des sites qui détaillent les limitations.
En faisant ma petite recherche, je suis d'ailleurs tombé là-dessus :
https://www.howtogeek.com/184283/why-third-party-browsers-will-always-be-inferior-to-safari-on-iphone-and-ipad/
Problème : ça date de 2014. Par contre ce qui est expliqué fait froid dans le dos. Non seulement les autres fournisseurs de navigateur doivent utiliser le moteur webkit, mais en plus, au moins à l'époque, ils n'avaient pas le droit d'utiliser la version rapide du moteur javascript.
Le seul point que je comprenne, c'est que l'on doivent le garder comme navigateur par défaut, puisque ça permet de bien contrôler son comportement dans certains cas. Et encore…
Pour info, je suis utilisateur de Blackberry sur iOS, qui fournit aux entreprises une suite logicielle aux grandes entreprises. Et là ils ont été obligé de créer leur propre navigateur (sans doute également basé sur Webkit, hein) pour pouvoir isoler les activité pro et perso.
[^] # Re: Ce n'est pas une guerre
Posté par Dring . En réponse au journal Le libre a perdu. Évalué à 5.
Le contraire de ouvert, c’est fermé, dans le contexte du logiciel aussi.
[^] # Re: Peut-être, seulement pour les dépêches
Posté par Dring . En réponse au journal JS dans linuxfr ?. Évalué à 4.
N’y aurait-il pas confusion ici avec la mibichiée, la megachiée étant plutôt égale à 11 x 1000 x 1000 ?
# Je veux crier ma haine !
Posté par Dring . En réponse à la dépêche Pour tout savoir du Perl post‐moderne. Évalué à 5.
En général, sur un projet avec du perl dedans, ma première réaction c'est la fuite.
Quelques phrases que j'ai (trop) souvent entendu :
"on a enfin trouvé pourquoi le script xxxxxx était super lent ; c'était la partie perl" (et je travaille essentiellement sur des applications en Java, pas le truc réputé rapide, hein…)
"on a un script perl écrit il y a plusieurs années, mais personne n'ose y toucher, donc on corrige les bugs dans un script qui tourne juste après" (et je travaille avec des applications legacy basées sur des frameworks qui ont souvent disparu depuis plusieurs années)
Autant, j'arrive à justifier la présence de Python pour disposer des outils de machine learning ou faire du prototypage rapide autant pour Perl…
Et comme disait mon ancien boss : "la différence entre perl et whitespace, c'est que dans whitespace, l'obfuscation c'est fait exprès". La même marche aussi avec lisp, évidemment.
[^] # Re: Déception ?
Posté par Dring . En réponse au journal une nouvelle framboise. Évalué à 4.
J'ai raté une blague ?
Pourquoi le port USB ne fait pas l'affaire pour la capture de son ?
[^] # Re: Déception ?
Posté par Dring . En réponse au journal une nouvelle framboise. Évalué à 2.
Pour faire quoi en plus de l’USB 3 ?
[^] # Re: on est obligé ?
Posté par Dring . En réponse à la dépêche ONLYOFFICE version 10 est disponible. Évalué à 2.
En quoi ooxml n’est pas ouvert ?
[^] # Re: choix cornélien
Posté par Dring . En réponse au journal Huawei renié par Google : une bonne nouvelle pour les smartphones libres (ou pas) ?. Évalué à 1.
Je suis d’accord pour dire que sur un téléphone moyen ou haut de gamme une batterie fixe mais avec des gros avantages (finesse, durée, résistance à l’eau) est la bonne solution.
Mais les gens qui achètent du bas de gamme (< 250€) sans batterie amovible s’en mordent tous les doigts dans les 12 à 24 mois suivants…
[^] # Re: Il restera RMS!
Posté par Dring . En réponse au journal Windows est enfin prêt pour le desktop . Évalué à 5.
C’est Morron, pas Mormon…
[^] # Re: Exemples concrets?
Posté par Dring . En réponse à la dépêche Pijul, contrôle de version et théorie des patchs, version 0.12. Évalué à 5.
Ce commentaire doit être génial pour les personnes qui n'utilisent pas un fond sombre comme moi ! :'-(
Bon, blague à part, je vais le lire quand même, mais je me faisais une remarque en lisant "ppcm". Mon premier réflexe a été "tiens, une typo dans un message de l'éminent kantien". N'en croyant pas mes yeux, j'ai fait la vérification dans wikipedia, et non, c'est bien "ppcm" pour "plus petit commun multiple". Et "pgcd" pour "plus grand commun diviseur".
Je suis persuadé que lors de ma scolarité, le mot "commun" était situé en queue de peloton.
Alors de deux choses l'une :
- soit il y a un plan machiavélique de domination du monde par le mot "commun" pour se retrouver de plus en plus tôt dans toutes les phrases ; et d'ici quelques années, on dira "commun plus grand diviseur", "commun j'étudie le droit", "commun ça va", etc
- soit j'ai commencé la picole dès la primaire
[^] # Re: Fève ou grain
Posté par Dring . En réponse au journal Toileharicot 11 est dehors. Évalué à 6.
Et toile, c’est la traduction de web, pas de net !
[^] # Re: Aujourd'hui
Posté par Dring . En réponse au journal J'avais un journal intéressant à écrire ..... Évalué à 6.
Il ne faut jamais remettre au surlendemain ce que l'on peut faire faire par quelqu'un d'autre.