J'ai regardé haskell suite à la dépêche. J'ai lu l'intégralité du tuto en lien à la dépêche. Si j'ai compris certains trucs, il me manque de l'expérience. J'ai commencé le BASIC-A en 1986, puis Turbo-Pascal, ASM, … Aujourd'hui, je pense clairement algorithme impératif.
Je me souviens du Prolog à la FAC et en stage, où après avoir réappris à penser, c'était facile. Mais dans le milieu professionnel, je n'en ai jamais refait.
C'est une approche différente. As-tu des TP avec des exercices à essayer qui sont adapté à la programmation fonctionnelle ? car je crois que c'est ce qui me manque le plus pour le moment.
En fait, il faut mettre trois ' à l'envers ([altgr]+è sur un AZERTY) et c++ en minuscule, et laisser une ligne avant et une ligne après. Pour fermer, trois ' à l'envers. Ex :
Oui, s'il y a duplication d'informations déjà présentes, et donc inutiles.
Heu, je crois que tu confonds. Le protocole de mail ne transporte que ce que tu lui demandes par l'intermédiaire de ton MUA.
C'est une mauvaise utilisation du MUA, rien à voir avec le protocole.
Un mail, c'est comme un fichier avec des entêtes, puis un corp de texte. L'entête contient les champs from, to, cc, x-mailer, reply to, id… et le corp du texte ce que tu décides, ta réponse, tout ce que tu y laisses, pièces jointes, images… rien avoir avec le protocole en lui même. A part le protocole « mail chaise clavier » qui en plus varie d'un individu à l'autre.
Pourquoi ne sont-ils pas exploités (au lieu de l'objet) pour construire les discutions sur ces ID
En fait, thunderbird suit très bien les discussions. Lorsqu'une personne répond et que ça ouvre une nouvelle discussion, c'est que le MUA de ton correspondant ne respecte pas. C'était (est ?) le cas d'outlook, du coup les gens ont appris à faire autrement en entreprise :'(
Pour ton exemple C++, outre le fait qu'il manque des "::result",
oups.
tu as conscience que c'est exécuté à la compilation et donc je suis moyennement surpris qu'afficher une constante soit efficace à l'exécution.
Oui, c'est le temps de compilation qui aurait pu exploser. Ce n'est pas le cas car au fur et à mesure, les constantes ont leur valeur. A la fin, il ne garde que celle dont il a besoin.
Je vous invite à découvrir Haskell si ça n'est pas déjà fait. L'apprentissage est peut-être un peu difficile mais ça en vaut la peine.
Pour le vous, je suis vieux, mais ce n'est pas la peine de me le rappeler ;-)
J'ai bien compris le principe de mémoire transactionnelle, mais pas la syntaxe de l'exemple.
Merci, je ne connaissais pas le terme. La solution avec la liste, j'y avais pensé, mais j'avais fait une implémentation naïve. Du genre :
fibon=ifn<2nelsefibo(n-1)+fibo(n-2)
qui ne m'a demandé que très peu de temps, malgré le fait que je ne connaisse pas le langage.
Du fait que le langage soit purement fonctionnel, je m'attendais naïvement à ce que le runtime gère une zone mémoire de cache automatiquement ou avec une option de compilation.
Le C++ était juste un exemple de template, le compilateur stocke toute les valeurs intermédiaires, et le linkeur ne retient que celle dont il a besoin. Je trouvais ça intéressant. Mais c'est évident que faire une version avec cache automatique en c++ demande également plus qu'une simple implémentation naïve. Ou alors en itératif.
En tous cas, la présentation ici donne envie d'essayer plus avant ce langage.
La spécificité la plus marquante de Haskell, c'est qu'il s'agit d'un langage fonctionnel pur : une fonction appelée avec les mêmes arguments renverra toujours le même résultat,
je me suis dit : chouette, je vais essayer fib 100. Mais, je m'attendais à ce qu'il stocke dans un cache une partie du résultat des fonctions en interne pour gagner du temps puisque avec des paramètres donnés, il n'y a qu'un résultat. Apparemment non, en tous cas pas par défaut.
Du coup j'ai essayé en template C++ pour le faire compiler par le compilateur. C'est efficace :
Ton exemple est drôle. En le relisant, j’avais repéré le bug potentiel. Même si sans valgrind, je pense que ça passe sans bug dû à la façon dont c’est implémenté.
Si on prend une analogie merveilleuse : (toute analogie est forcément foireuse, mais il ne faut rien me dire)
Pour une voiture on a :
un conducteur,
un mécano,
un ingénieur motoriste.
Personnellement, je ne m’attends pas à ce que le conducteur me dise ce qui ne va pas dans mon moteur.
Le mécano pourra réparer, bricoler parce qu’il a l’expérience, il sait ce qui casse. Il pourra conseiller pour éviter la casse.
L’ingénieur lui pourra ré+aléser les soupapes…
Ici, vous chercher un langage de mécano pour faire de l’ingénierie moteur. Je pense qu’on se trompe de débat. Un bon mécano, en achetant les pièces fera un bon moteur, mais pour faire encore mieux, il faudra un ingénieur motoriste pour imaginer et faire les pièces.
Je pense que ce n’est ni le même niveau de compétence, ni le même niveau d’exigence. Arrêtez de crier sur les ingénieurs motoristes parce que vous n’êtes que mécano… pfff, heureusement on est encore vendredi. ;-)
Ta solution ? Tu fournis le god, tu te penches et tu dis merci ?
Mon expérience, c'est que tu rappelles les obligations à ton patron, ou tu demandes un écris. Le truc c'est que faire des heures sup. de temps en temps pour finir un projet ok, si c'est courant, il y a un problème de management et ce n'est pas à l'employé d'en pâtir.
Si tu ne pointes pas, tu peux fournir un relevé d'heures qui fait foi. Si ton patron conteste, c'est à lui de prouver que tu n'as pas effectué ces heures et sans pointage…
Il faut conforté l'opinion que les femmes peuvent être aussi incompétentes que les hommes, elles ont donc toute leur place en politique…
===>[] ;-)
Pour être sérieux, il faut surtout que la nouvelle génération s'habitue à voir des femmes aux responsabilités. Comme ça, nos filles n'hésiterons ni à participer (ma fille 6 ans hier soir : Quand je serai grande je serai présidente, comme ça j'interdirai les voitures et la pollution.), ni aux hommes à voter pour des femmes. Je suis contre la parité forcée par principe, hélas je la crois nécessaire pour un temps d'éducation.
Genre « copine de geek ». D'ailleurs, le site existe-t-il encore ? La dernière fois, il avait l'air en ligne mais pas très vivant. Bon, c'était il y a quelques années.
Les protocoles des courriels n'évoluent plus depuis un bail, comme Telnet ou FTP ce qui implique une limitation sur les possibilités.
Evoluer oui, mais que manque-t-il aujourd'hui ? S'il faut étendre le protocol imap, que faire de plus ?
Tu veux ajouter une interface de recherche sur le serveur ? Pas sûr que les providers acceptent d'augmenter la charge serveur.
En fait, ça me semble normal que quelque-chose qui répond au besoin ne bouge pas. Si le besoin bouge, il est probable que les protocoles bougent également.
Pour la recherche, c'est au client d'indexer de manière intelligente. C'est ce qu'a voulu faire KDE avec kmail/akonadi, enfin, c'est ce que j'en avais compris.
Les unions… Hormis dans des cas extrêmes et bien identifiés, qui utilisent des unions ?
Ceux qui ne savent pas ce qu'est le polymorphisme ? ;-)
Il y a quand même des usages utiles, avoir une seule structure pour un message pouvant avoir plusieurs formes, etc. Mais il est vrai que comme pour l'héritage multiple il faut l'utiliser à bon escient.
Je suis en gentoo depuis 2003, malgré les diverses tentative de séparation, je n’ai jamais réussi à me séparer du système de paquet, de la configuration « simple », de la documentation fournie…
Ma femme est passée sous GNU/Linux un peu contrainte… carte mère qui fume, besoin urgent de faire un truc. Windows qui ne reconnaît ni le lecteur CD ni l’interface réseau sur la nouvelle carte mère… reboot sous GNU/Linux installé un an auparavant. Depuis c’est bon, plus de windows et une debian stable.
Les enfants sont sous GNU/Linux debian également. Ils voient du windows à l’école ce qui permet de voir un peu de tout.
Jessie sera vulnérable encore 15 jours trois semaines. C'est dû au processus de validation des paquets. Ils rentrent dans sid, et si ça ne casse rien, au bout de 15 jours trois semaines, c'est automatiquement descendue dans "testing". Après, il est fortement déconseillé d'utiliser testing à d'autre fin que du test. Le bon choix reste stable ou sid.
Après, c'est une question d'habitude, j'ai fait sur un projet une RPP avec un américain, il a justifié de déroger aux règles de codage par : « Vous n'avez qu'à savoir codé ! »
En quoi il n'a pas tort, car finalement les règles de codage limite l'imagination et la compréhension du langage. Et nos experts restent des éternels débutants. D'un autre côté, quand tu passes 2mns à comprendre une ligne, c'est pas forcément très pérenne à long terme pour la reprise du code.
Exemples de perles rencontrées:
// Copie d'une chaine on s'assure que le dernier octets et bien un zéro si ça déborde...chardest[taille];strcpy(dest,src)[taille]='\0';// Dans un cas on apelle la fonction envoie_reseau et envoie_dbus dans l'autre.(a<b?envoie_reseau:envoie_dbus)(param1,param2);
Moi, j'aime pas. Le compilateur sait optimiser pour nous. Et les gens qui écrivent ça, c'est généralement avec l'excuse de la performance.
[^] # Re: C'est pourtant évident.
Posté par Anthony Jaguenaud . En réponse à la dépêche Coder efficacement, bonnes pratiques et erreurs à éviter. Évalué à 3.
J'ai regardé haskell suite à la dépêche. J'ai lu l'intégralité du tuto en lien à la dépêche. Si j'ai compris certains trucs, il me manque de l'expérience. J'ai commencé le BASIC-A en 1986, puis Turbo-Pascal, ASM, … Aujourd'hui, je pense clairement algorithme impératif.
Je me souviens du Prolog à la FAC et en stage, où après avoir réappris à penser, c'était facile. Mais dans le milieu professionnel, je n'en ai jamais refait.
C'est une approche différente. As-tu des TP avec des exercices à essayer qui sont adapté à la programmation fonctionnelle ? car je crois que c'est ce qui me manque le plus pour le moment.
[^] # Re: Réponses en vrac
Posté par Anthony Jaguenaud . En réponse à la dépêche Coder efficacement, bonnes pratiques et erreurs à éviter. Évalué à 4. Dernière modification le 17 avril 2014 à 16:53.
En fait, il faut mettre trois ' à l'envers ([altgr]+è sur un AZERTY) et c++ en minuscule, et laisser une ligne avant et une ligne après. Pour fermer, trois ' à l'envers. Ex :
'''c++
int a;
'''
Donne :
[^] # Re: webmail
Posté par Anthony Jaguenaud . En réponse au journal Thunderbird : j'en peux plus ! Qui arrive à l'utiliser pour de vrai ? Quoi d'autre ?. Évalué à 5.
Heu, je crois que tu confonds. Le protocole de mail ne transporte que ce que tu lui demandes par l'intermédiaire de ton MUA.
C'est une mauvaise utilisation du MUA, rien à voir avec le protocole.
Un mail, c'est comme un fichier avec des entêtes, puis un corp de texte. L'entête contient les champs from, to, cc, x-mailer, reply to, id… et le corp du texte ce que tu décides, ta réponse, tout ce que tu y laisses, pièces jointes, images… rien avoir avec le protocole en lui même. A part le protocole « mail chaise clavier » qui en plus varie d'un individu à l'autre.
[^] # Re: webmail
Posté par Anthony Jaguenaud . En réponse au journal Thunderbird : j'en peux plus ! Qui arrive à l'utiliser pour de vrai ? Quoi d'autre ?. Évalué à 3.
En fait, thunderbird suit très bien les discussions. Lorsqu'une personne répond et que ça ouvre une nouvelle discussion, c'est que le MUA de ton correspondant ne respecte pas. C'était (est ?) le cas d'outlook, du coup les gens ont appris à faire autrement en entreprise :'(
[^] # Re: Fibo
Posté par Anthony Jaguenaud . En réponse à la dépêche Sortie du Glorious Haskell Compiler 7.8. Évalué à 3.
oups.
Oui, c'est le temps de compilation qui aurait pu exploser. Ce n'est pas le cas car au fur et à mesure, les constantes ont leur valeur. A la fin, il ne garde que celle dont il a besoin.
Pour le vous, je suis vieux, mais ce n'est pas la peine de me le rappeler ;-)
J'ai bien compris le principe de
mémoire transactionnelle
, mais pas la syntaxe de l'exemple.[^] # Re: Fibo
Posté par Anthony Jaguenaud . En réponse à la dépêche Sortie du Glorious Haskell Compiler 7.8. Évalué à 2.
Merci, je ne connaissais pas le terme. La solution avec la liste, j'y avais pensé, mais j'avais fait une implémentation naïve. Du genre :
qui ne m'a demandé que très peu de temps, malgré le fait que je ne connaisse pas le langage.
Du fait que le langage soit purement fonctionnel, je m'attendais naïvement à ce que le runtime gère une zone mémoire de cache automatiquement ou avec une option de compilation.
Le C++ était juste un exemple de template, le compilateur stocke toute les valeurs intermédiaires, et le linkeur ne retient que celle dont il a besoin. Je trouvais ça intéressant. Mais c'est évident que faire une version avec cache automatique en c++ demande également plus qu'une simple implémentation naïve. Ou alors en itératif.
En tous cas, la présentation ici donne envie d'essayer plus avant ce langage.
# Fibo
Posté par Anthony Jaguenaud . En réponse à la dépêche Sortie du Glorious Haskell Compiler 7.8. Évalué à 1.
Quand j'ai lu :
je me suis dit : chouette, je vais essayer fib 100. Mais, je m'attendais à ce qu'il stocke dans un cache une partie du résultat des fonctions en interne pour gagner du temps puisque avec des paramètres donnés, il n'y a qu'un résultat. Apparemment non, en tous cas pas par défaut.
Du coup j'ai essayé en template C++ pour le faire compiler par le compilateur. C'est efficace :
[^] # Re: Rust vs Go
Posté par Anthony Jaguenaud . En réponse à la dépêche Rust s’oxyde en version 0.10. Évalué à 3.
Ton exemple est drôle. En le relisant, j’avais repéré le bug potentiel. Même si sans valgrind, je pense que ça passe sans bug dû à la façon dont c’est implémenté.
Si on prend une analogie merveilleuse : (toute analogie est forcément foireuse, mais il ne faut rien me dire)
Pour une voiture on a :
Personnellement, je ne m’attends pas à ce que le conducteur me dise ce qui ne va pas dans mon moteur.
Le mécano pourra réparer, bricoler parce qu’il a l’expérience, il sait ce qui casse. Il pourra conseiller pour éviter la casse.
L’ingénieur lui pourra ré+aléser les soupapes…
Ici, vous chercher un langage de mécano pour faire de l’ingénierie moteur. Je pense qu’on se trompe de débat. Un bon mécano, en achetant les pièces fera un bon moteur, mais pour faire encore mieux, il faudra un ingénieur motoriste pour imaginer et faire les pièces.
Je pense que ce n’est ni le même niveau de compétence, ni le même niveau d’exigence. Arrêtez de crier sur les ingénieurs motoristes parce que vous n’êtes que mécano… pfff, heureusement on est encore vendredi. ;-)
[^] # Re: webmail
Posté par Anthony Jaguenaud . En réponse au journal Thunderbird : j'en peux plus ! Qui arrive à l'utiliser pour de vrai ? Quoi d'autre ?. Évalué à 6. Dernière modification le 11 avril 2014 à 22:47.
Ouai, et seuls quelques clients (MUA), les meilleurs, l’implémenterai correctement…
[^] # Re: Ceci-dit, on cherche aussi
Posté par Anthony Jaguenaud . En réponse au journal journal bookmark, vous pouvez reprendre une activité normale.... Évalué à 7.
Ta solution ? Tu fournis le god, tu te penches et tu dis merci ?
Mon expérience, c'est que tu rappelles les obligations à ton patron, ou tu demandes un écris. Le truc c'est que faire des heures sup. de temps en temps pour finir un projet ok, si c'est courant, il y a un problème de management et ce n'est pas à l'employé d'en pâtir.
[^] # Re: Ceci-dit, on cherche aussi
Posté par Anthony Jaguenaud . En réponse au journal journal bookmark, vous pouvez reprendre une activité normale.... Évalué à 3.
Si tu ne pointes pas, tu peux fournir un relevé d'heures qui fait foi. Si ton patron conteste, c'est à lui de prouver que tu n'as pas effectué ces heures et sans pointage…
[^] # Re: Au nom de l'égalité…
Posté par Anthony Jaguenaud . En réponse au journal Le Parti Pirate cherche 5 femmes pour les Européennes avant le 21 avril. Évalué à 9.
Il faut conforté l'opinion que les femmes peuvent être aussi incompétentes que les hommes, elles ont donc toute leur place en politique…
===>[] ;-)
Pour être sérieux, il faut surtout que la nouvelle génération s'habitue à voir des femmes aux responsabilités. Comme ça, nos filles n'hésiterons ni à participer (ma fille 6 ans hier soir : Quand je serai grande je serai présidente, comme ça j'interdirai les voitures et la pollution.), ni aux hommes à voter pour des femmes. Je suis contre la parité forcée par principe, hélas je la crois nécessaire pour un temps d'éducation.
[^] # Re: Trompé de site ?
Posté par Anthony Jaguenaud . En réponse au journal Le Parti Pirate cherche 5 femmes pour les Européennes avant le 21 avril. Évalué à 3.
Genre « copine de geek ». D'ailleurs, le site existe-t-il encore ? La dernière fois, il avait l'air en ligne mais pas très vivant. Bon, c'était il y a quelques années.
[^] # Re: webmail
Posté par Anthony Jaguenaud . En réponse au journal Thunderbird : j'en peux plus ! Qui arrive à l'utiliser pour de vrai ? Quoi d'autre ?. Évalué à 3.
Evoluer oui, mais que manque-t-il aujourd'hui ? S'il faut étendre le protocol imap, que faire de plus ?
Tu veux ajouter une interface de recherche sur le serveur ? Pas sûr que les providers acceptent d'augmenter la charge serveur.
En fait, ça me semble normal que quelque-chose qui répond au besoin ne bouge pas. Si le besoin bouge, il est probable que les protocoles bougent également.
Pour la recherche, c'est au client d'indexer de manière intelligente. C'est ce qu'a voulu faire KDE avec kmail/akonadi, enfin, c'est ce que j'en avais compris.
[^] # Re: Rust vs Go
Posté par Anthony Jaguenaud . En réponse à la dépêche Rust s’oxyde en version 0.10. Évalué à 3.
Il y a quand même des usages utiles, avoir une seule structure pour un message pouvant avoir plusieurs formes, etc. Mais il est vrai que comme pour l'héritage multiple il faut l'utiliser à bon escient.
[^] # Re: Vous avez essayé ?
Posté par Anthony Jaguenaud . En réponse au journal Fin de Windows XP et opportunité GNU. Évalué à 4.
Je suis en gentoo depuis 2003, malgré les diverses tentative de séparation, je n’ai jamais réussi à me séparer du système de paquet, de la configuration « simple », de la documentation fournie…
Ma femme est passée sous GNU/Linux un peu contrainte… carte mère qui fume, besoin urgent de faire un truc. Windows qui ne reconnaît ni le lecteur CD ni l’interface réseau sur la nouvelle carte mère… reboot sous GNU/Linux installé un an auparavant. Depuis c’est bon, plus de windows et une debian stable.
Les enfants sont sous GNU/Linux debian également. Ils voient du windows à l’école ce qui permet de voir un peu de tout.
[^] # Re: Une analyse du bug.
Posté par Anthony Jaguenaud . En réponse à la dépêche Nouvelle vulnérabilité dans l’implémentation OpenSSL. Évalué à 3.
Si seulement un langage sans possibilité de faille existait… il y a longtemps qu'il serait utilisé.
[^] # Re: Rolling release
Posté par Anthony Jaguenaud . En réponse au journal Openssl: de battre mon coeur s'est arrété. Évalué à 2.
Merci de l'information.
[^] # Re: Rolling release
Posté par Anthony Jaguenaud . En réponse au journal Openssl: de battre mon coeur s'est arrété. Évalué à -4.
Jessie sera vulnérable encore 15 jours trois semaines. C'est dû au processus de validation des paquets. Ils rentrent dans sid, et si ça ne casse rien, au bout de 15 jours trois semaines, c'est automatiquement descendue dans "testing". Après, il est fortement déconseillé d'utiliser testing à d'autre fin que du test. Le bon choix reste stable ou sid.
[^] # Re: J'ai oublié les scrines shoute
Posté par Anthony Jaguenaud . En réponse au journal Et toi, t'en penses quoi du flat design?. Évalué à 4.
C'est la mode de faire une révolution de design avec du retro. Ce n'est pas le cas que dans l'informatique d'ailleurs.
[^] # Re: 200 ème commentaire !
Posté par Anthony Jaguenaud . En réponse au journal Systemd vs Linux, quand l'intransigeance d'un développeur tourne au ridicule.... Évalué à 1.
Encore 3.
[^] # Re: 200 ème commentaire !
Posté par Anthony Jaguenaud . En réponse au journal Systemd vs Linux, quand l'intransigeance d'un développeur tourne au ridicule.... Évalué à 2.
Encore 52.
[^] # Re: 200 ème commentaire !
Posté par Anthony Jaguenaud . En réponse au journal Systemd vs Linux, quand l'intransigeance d'un développeur tourne au ridicule.... Évalué à 2.
Encore 53.
[^] # Re: 2048
Posté par Anthony Jaguenaud . En réponse à la dépêche Revue de presse de l'April pour la semaine 13 de l'année 2014. Évalué à 2.
Merci pour la stratégie, j'ai effectivement atteint 2048. Par contre, je n'ai pas compris ta dernière phrase :
Tu voulais écrire : il n'est plus chronophage.
Ou bien : il est pluS chronophage.
Tiens, je remarque que je ne sais pas écrire "plus" avec le 's' en gras avec markdown.
[^] # Re: Ca traduit bien un état d'esprit de la part des développeurs de systemd
Posté par Anthony Jaguenaud . En réponse au journal Systemd vs Linux, quand l'intransigeance d'un développeur tourne au ridicule.... Évalué à 4.
Après, c'est une question d'habitude, j'ai fait sur un projet une RPP avec un américain, il a justifié de déroger aux règles de codage par : « Vous n'avez qu'à savoir codé ! »
En quoi il n'a pas tort, car finalement les règles de codage limite l'imagination et la compréhension du langage. Et nos experts restent des éternels débutants. D'un autre côté, quand tu passes 2mns à comprendre une ligne, c'est pas forcément très pérenne à long terme pour la reprise du code.
Exemples de perles rencontrées:
Moi, j'aime pas. Le compilateur sait optimiser pour nous. Et les gens qui écrivent ça, c'est généralement avec l'excuse de la performance.