Étienne a écrit 707 commentaires

  • [^] # Re: Autre méthode

    Posté par  . En réponse à la dépêche Dans les kiosques cet été 2011. Évalué à 2.

    je ne sais pas si on s'éloigne pas des architectures RISC

    C'est petit joueur l'instruction de swap, si tu veux du lourd, c'est l'instruction qui fait un CRC : http://byteworm.com/2010/10/13/crc32/. Ça c'est du CISC et du lourd.

    Étienne

  • [^] # Re: Pendant ce temps, en Python...

    Posté par  . En réponse à la dépêche Dans les kiosques cet été 2011. Évalué à 3.

    On pourrait difficilement nier que l'exemple que je cite en Python est clair (lisible) et concis (quand on le compare aux exemples en C++ plus haut).

    En c++ :

    std::swap(a, b);
    

    me paraît plus explicite. C'est un comble que le C++ soit plus explicite que le python ;)

    Étienne

  • [^] # Re: Il fallait y penser

    Posté par  . En réponse au journal Ma simple session avec Compiz et Cairo-dock. Évalué à 2.

    Maintenant qu'on a toutes les applications dans le cloud, il suffit d'un browser. Ce n'est pas Linux qui est prêt pour le desktop, c'est le desktop qui est prêt pour Linux.

    Étienne

  • [^] # Re: Chacun son style

    Posté par  . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 4.

    Le problème de ce principe, c'est qu'il oppose service et données : il faut effectivement penser "service", mais parfois ton service c'est d'exposer des données : DTO, Controller, DOM, Composants IHM, etc.

    C'est pour ça que je parlais plutôt de la partie fonctionnelle du code, les classes dont l'objectif est de fournir des données ne rentrent pas dans ce cadre.

    Si tu veux changer tes roues, tu as :
    * une factory qui sait te fabriquer des roues
    * une méthode changeWheels() de la voiture pour changer les roues

    Ce que la loi t'incite à faire, c'est à raisonner en terme fonctionnel et à faire l'analyse des services fournis par ton objet. Et encore un fois, je ne parle pas ici des classes vraiment techniques (factory, parser, container, ...).

    Pour reprendre l'exemple de The Paperboy, The Wallet, and The Law Of Demeter, Lorsque le garçon doit payer, on peut avoir :
    * une classe Customer avec une méthode getWallet et la caissière prend le porte monnaie et enlève l'argent du porte monnaie
    * ou alors une class Customer avec une méthode pour payer

    Comme le dit la section "Why Is This Better?", la deuxième solution représente mieux le monde réel.

    Étienne

  • [^] # Re: Chacun son style

    Posté par  . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 3.

    En gros, cela permet d'avoir une liaison moins forte entre la classe et son usage.

    Mais c'est le principe de la POO d'avoir une liaison entre une classe et son usage. Rajouter un getter et un setter sur chacun de ses membres ce n'est pas de l'encapsulation, ça fait plaisir à ceux qui considèrent que tous les membres doivent être privés sans avoir trop à réfléchir. Je ne dit pas que la POO est la réponse à tous les problèmes, mais rajouter des get/set sans réflechir ce n'est pas de la POO.

    En POO, on devrait réfléchir en terme de comportement et non de structure. Si je design une voiture en POO (l'exemple est un peu éculé, j'en suis désolé), ce qui m'intéresse c'est de la faire avancer, pas qu'elle ait 4 roues.

    Par exemple, les getter et setter vont à l'encontre de la Loi_de_Déméter qui incite justement à programmer le comportement d'un objet et à moins s'attacher à sa composition (je cite l'article wikipédia : En particulier, un objet doit éviter d'invoquer des méthodes d'un membre objet retourné par une autre méthode).

    Je ne parle bien sûr ici pas des objets "techniques" (un vecteur, un accès à une BDD, ...) mais de la partie fonctionnelle d'une application.

    Étienne

  • [^] # Re: Chacun son style

    Posté par  . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 5.

    Ton commentaire est sans doute une touche d'humour (au vu du smiley), mais il sonne tout de même assez juste. En effet, au yeux de pas mal de programmeurs, la POO c'est mettre des classes et ajouter un set et un get à chaque membre. Et au final on n'a rien gagné et on ne raisonne pas du tout en objet ayant un comportement avec une telle méthode. Je me dois donc de plusser ton commentaire pour inciter les programmeurs à se poser la question du pourquoi ajouter un getter/setter à un membre.

    Étienne

  • [^] # Re: Popularité des langages

    Posté par  . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 9.

    Il me semble qu'en raison de la législation du travail c'est le cas. Quel est l’intérêt de passer par une SSII qui te fournie un développeur moyen grâce à un CV bidonné si tu peux embaucher toi-même et licencier quand tu as une baisse de charge ?

    Étienne

  • [^] # Re: Les développeurs Java

    Posté par  . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 2.

    la connerie du C/C++ est effectivement de faire une "traduction" automatique entre un void* et un long

    Pas en C++ (et ça fait un warning pas défaut avec GCC en C).

    Étienne

  • [^] # Re: Ça fait peur

    Posté par  . En réponse à la dépêche Un entretien avec Lennart Poettering. Évalué à 5.

    On peut très bien aussi jouer avec les ifdef et utiliser la fonctionnalité quand elle est disponible.

    Ce n'est pas toujours aussi simple. Par exemple l'utilisation de signalfd et timerfd permet de ne pas se prendre la tête avec les signaux (voir par exemple chez l'excellent lwn.net Ghosts of Unix past, part 3: Unfixable designs), se passer de cela c'est réorganiser complètement la façon de recevoir traiter la réception des signaux. Ce n'est donc pas aussi simple que quelques ifdef.

    Pour le portage de OpenSSH, entre openssh-5.8.tar.gz et openssh-5.8p2.tar.gz, un diffstat donne quand même
    425 files changed, 88567 insertions(+), 798 deletions(-)

    et si on ne garde que les fichiers .c et .h :
    252 files changed, 28702 insertions(+), 454 deletions(-)

    Et rien que sur les fichiers .c et .h on passe de 71846 à 100094 lignes (j'ai fait un bête wc -l). Ce qui abonde dans le sens de Lennart sur la plus grande simplicité de coder pour du mono-plateforme.

    Étienne

  • [^] # Re: 1er avril?

    Posté par  . En réponse au journal Gel à date fixe pour Debian. Évalué à 3.

    Disons que Mach est peut-être un noyau "pourrit" pour l'architecture du Hurd, qui n'est pas du tout la même que celle de MacOSX. Tu peux aller regarder par exemple les articles en:XNU ou en:Architecture_of_Mac_OS_X. XNU (le noyau qu'utilise MacOSX) étant un noyau hybride (un micro-noyau Mach + une couche BSD monolithique) alors que en:Hurd utilise un vrai micro-noyau avec de multiples serveurs.

    Étienne

  • [^] # Re: Open data ?

    Posté par  . En réponse à la dépêche Déclaration sur l’open data en France. Évalué à 1.

    Qui aujourd'hui combleraient sans problème le déficit si leurs bénéfices revenaient à l’état plutôt qu'au privé.

    Étant donné le déficit abyssal de l'état, ça me paraît surprenant mais je suis intéressé par tes sources.

    Étienne

  • [^] # Re: Métadonnées

    Posté par  . En réponse à la dépêche Gitbuster II. Évalué à 5.

    Il semblerait que tu n'ai jamais utilisé de DVCS. Le principe du DVCS c'est que tu as ton arbre complet chez toi. Tant que tu n'as rien publié, tu peux organiser tes commits comme tu le veux.

    Un bonne pratique comme le dit mackwic c'est de nettoyer son repository avant de le soumettre, pour transformer une longue série de petits commits en un seul commit cohérent. Ou bien inversement pour séparer un gros commit en plusieurs commits plus petits et plus faciles à relire. Une fois que tu as fait ça tu peux publier ton code. Voir par exemple dans le Git Book : http://book.git-scm.com/4_interactive_rebasing.html

    Après publication, en revanche, tu ne dois plus modifier ton historique.

    Étienne

  • [^] # Re: Bravo à l'équipe !

    Posté par  . En réponse au journal haiku, l'espoir du desktop libre. Évalué à 6.

    Mais pour pouvoir décoller il va falloir lâcher la route.

  • [^] # Re: 2 liens à corriger

    Posté par  . En réponse à la dépêche 13 ans de LinuxFr.org : entretiens avec les visiteurs (7). Évalué à 2.

    Dans la réponse de Général Zold à la question 5, le lien vers fedoraproject.org n'est pas bon non plus, à moins que linuxfr se soit lancé dans un grand chantier.

  • [^] # Re: GNOME 3

    Posté par  . En réponse à la dépêche Sortie de Fedora  15 « Lovelock ». Évalué à 10.

    pourquoi se prend-il un -7 au moment où je poste ce commentaire

    Parce qu'il y en a 3 qui n'ont pas encore voté.

  • [^] # Re: et xterm?

    Posté par  . En réponse à la dépêche Sortie de ValaTerm 0.3. Évalué à 8.

    • Rien que le split horizontal ET vertical suffit à passer à tmux (cf http://tmux.sourceforge.net/tmux5.png)
    • avec sont model client/serveur, tmux permet par exemple de faire passer des fenêtre d'une session tmux à une autre
    • toutes les commandes tmux peuvent être lancée par le shell, les key-bindings appellent ces même commandes
    • à titre personnel, je trouve la manipulation de tmux plus aisée que screen
    • je trouve également la configuration plus claire

    Étienne

  • [^] # Re: et xterm?

    Posté par  . En réponse à la dépêche Sortie de ValaTerm 0.3. Évalué à 6.

    je ne peux que recommander d'utiliser screen:

    Et moi je ne peux que recommander de le remplacer par tmux http://tmux.sourceforge.net/

    Étienne

  • [^] # Re: Super

    Posté par  . En réponse au journal Linux dans votre navigateur web. Évalué à 6.

    Surtout pouvoir jouer à la kmem russian roulette...

    ~ # mknod /dev/urandom c 1 9                                                    
    ~ # cat russian                                                                 
    #! /bin/sh                                                                      
    
    i=0                                                                             
    while true                                                                      
    do                                                                              
    echo $i                                                                         
    dd if=/dev/urandom of=/dev/mem bs=1 count=1 seek=$RANDOM 2> /dev/null           
    let i=$i+1                                                                      
    done
    ~ # sh ./russian
    
  • [^] # Re: c'est pas déjà le cas?

    Posté par  . En réponse au journal Sauve Skype peut..... Évalué à 9.

    <hors sujet>
    Un thread qui ressemble à ça :

    titre
    `- Re: titre
      `- Re: titre
        `- Re: titre
          `- Re: titre
    

    C'est soit pasBill pasGates et Albert_ qui se répondent, soit tankey qui fait un thread tout seul ;)
    </hors sujet>

  • [^] # Re: Torvalds vs Stallman

    Posté par  . En réponse à la dépêche Linus Torvalds : l’interview anniversaire des 20 ans du noyau. Évalué à 6.

    Mais bon, on retombe dans le même argument que les religieux qui estiment que les gens qui ne croient pas que dieu existe ont une croyance ;-).

    Ça dépend si tu ne crois pas que Dieu existe ou si tu crois que Dieux n'existe pas ;)

  • # Sujet du commentaire

    Posté par  . En réponse au journal Programmation : la complexité c'est le mal. Évalué à 8.

    « Il existe pour chaque problème complexe une solution simple, directe... et fausse »
    H.L.Mencken

  • [^] # Re: Ça rejoint les typeclass de haskell, template du C++, Go

    Posté par  . En réponse au journal Le problème de la POO pratiquée par des étudiants. Évalué à 4.

    D'après wikipedia, la décision n'a pas encore été prise quant à l'inclusion ou pas dans le standard.

    La décision a été prise de ne pas l'inclure lors de la réunion du WG21 de juillet 2009 (voir par exemple http://herbsutter.com/2009/07/21/trip-report/ pour des explications de Bjarne Stroustrup)

    Etienne

  • [^] # Re: ca me rapelle un cauchemar

    Posté par  . En réponse au journal En rêve, je me suis logué en root. Évalué à 4.

    La fois ou j'ai révé en PERL (non non, pas DE PERL mais bien EN PERL)

    C'était un rêve érotique, tu enfilais les Perl ?

  • # Les news ont bien évolué

    Posté par  . En réponse au journal Il reste des vieux ici ?. Évalué à 4.

    Je me souviens d'un temps où à chaque fois que la presse (autre que la presse Linux) faisait un article sur Linux (voir même lorsqu'une pub évoquait Linux) on avait le droit à une news sur "Da Linux French Page". Petit extrait :

    1. Linux en couverture de 01 informatique
    2. Linux cité dans une pub IBM dans le Figaro
    3. une page sur le logiciel libre dans "Le Soir"

    Grâce à la news Pascal Negre, PDG d'universal music, j'ai également retrouvé cette magnifique citation de Pascal Negre (datée d'Octobre 2000) : «Et puis, dans cinq ans, nous parlerons du MP3 comme du 78 tours»

    Je vous conseil de parcourir les news à partir de la fin, ça vaut le détour (au moins on avait des news cinéma).

  • [^] # Re: Libre Office

    Posté par  . En réponse au journal Comparatif securite entre OOo et MS Office. Évalué à 5.

    C'est beaucoup plus moins vrai.