pifou a écrit 327 commentaires

  • [^] # Re: Bonjour le niveau de style et d'orthographe.

    Posté par  . En réponse au journal Lycéens inculpés. Évalué à 7.

    Adolphos sort du corp de Cooker.

    Vache, c'est une des première fois que je vois quelqu'un d'aussi aigris à 30 ans (on sait : c'était mieux avant). Moi ce que j'adore avec les discours sur les jeunes, c'est que d'un coté on les traitent d'égoïstes/d'apolitiques quand on fait référence à leurs hobbies/cultures (tv, pc, livres, musiques ...) et dès qu'ils rentrent dans un mouvement de protestation on leurs gueules aussi dessus (parce que vous comprenez, ils ne font ça que pour louper les cours cette bande de petits sauvageons).

    Pour en revenir à ton délire sur les 30 ans d'inactivisme, il faudrait peut-être que tu te renseignes un peu avant de dire ce genre de chose, regarde par exemple l'évolution des programmes et de la structure des formations sur les 30 dernières années, y'a de quoi avoir le vertige.

    Par contre, j'ai souvenir de mes manifs quand j'étais lycéens (94-96) contre le CIP (aussi connu sous le nom de SMIC-jeunes : SMIC-20% pour les diplomés <= bac+2), et je suis tout même bien content que cette saloperie soit passée à la trappe étant à l'époque en fillière technique et me dirigeant vers un BTS.

    De même pour la loi Fillon, les manifs ont permis d'édulcorer pas mal de points assez rétrogrades du texte d'origine.

    Après, il ne faut pas non plus se voiler la face sur notre système d'éducation qui a surement besoin d'être entièrement réformé, mais ce n'est surement pas à coup de loi Fillon & co que ça va s'arranger.
  • [^] # Re: Un mot sur les motifs ?

    Posté par  . En réponse au journal Lycéens inculpés. Évalué à 2.

    Pour surencherir, c'est aussi interdit (dans la plupart des entreprise) aux prestataires d'avoir des contacts avec les clients, ils ne doivent avoir à faire qu'à leur responsable dans la société les 'louant'. Dans la réalité, ça se passe bien sûr autrement (et heureusement ?).
  • [^] # Re: la CNIL

    Posté par  . En réponse au journal RFID, projet de loi : un implant pour chaque citoyen. Évalué à 2.

    Je ne vois pas l'intêret de la puce sous la peau. Pourquoi ne pas utiliser la carte vitale ou alors si tu as peur que l'on ne regarde pas dans ton portefeuille (ou que tu ne l'ai pas sur toi) une puce dans tes lunettes/tes poches de pantalons ou chemises/un pins/une bague/un collier/un baladeur MP3/une clef USB/... ne suffirait-il pas ? Bref un moyen peut-être moins 'intrusif' que t'implanter un truc sous la peau.

    D'un autre coté, il faut vraiment voir l'intêret, car en cas d'urgence je ne suis pas sûr qu'on prendra la peine de :
    - Savoir si la personne a bien une puce sous la peau;
    - Prendre l'appareil permettant de lire la puce;
    - Démarrer l'appareil;
    - Le placer au bon endroit pour récupérer les infos;
    - Récupérer les infos;
    - Retrouver les infos utiles pour le cas présent (besoin de sang : groupe sanguin)

    Sans parler du temps qu'il va falloir pour équiper tous les personnes concernés (médecins, pompiers, samus, secouristes bénévoles ...). Bref ça ne me parraît pas vraiment exploitable facilement, d'autant plus qu'on se débrouille actuellement pas trop mal pour éviter des traitements risqués pour les urgences (si besoin de transfusion : utisation de sang de groupe O, si besoin antibiotique : prendre les moins nocifs à faible dose en attendant des analyses ultérieurs ...).
  • [^] # Re: ...

    Posté par  . En réponse au journal booh : un nouveau generateur de web-album. Évalué à 1.

    Arf ... comment se faire griller sur l'idée du générateur de site statique :). D'un autre coté, écrivant aussi mon générateur (mirror : Mirror Isn't R... Ruby On Rails) en Ruby mais avec un but plus général que Booh je pourrais peut être essayé de récupérer du code (si il est bien sûr sous une licence le permettant).

    Bref va falloir que je me motive pour replonger dans le code, mais depuis que je bosse et surtout depuis l'été (apéro, soirée, plage, apéro, soirée, festival, apéro ...) je ne touche plus trop à mon ordi une fois rentré chez moi :/. Sans compter que ma prise d'alim sur mon portable commence à avoir du jeu (j'ai vérifier que ce n'était pas le cable qui était foireux) et que ça sent vraiment le plastique cramé (mais ça marche toujours) et que j'ai déjà passé plus d'une heure à démonter cette saloperie, ça va pas être tout de suite que je vais avancer :(. D'ailleurs si quelqu'un sait on je peut trouver ce genre matos en Bretagne (je pensais aller sur Brest chez Radio Sell Composant) en sachant que j'ai un portable Gericom Commander ... XP alimenté en 19V ça m'interresse ?

    En tout cas bravo pour ton boulot, ça montre bien comment Ruby roxor :)
  • # A essayer

    Posté par  . En réponse au message problème sympa (gestionnaire de mailing-lists). Évalué à 1.

    Il semblerait que ton programme ne trouve pas le module Perl
    'XML::LibXML::Common' ou que celui-ci ne soit pas bien installé.

    Le plus simple à mon avis est de tenter la commande suivante en root pour (ré)installer le module en question :

    perl -MCPAN -e "install XML::LibXML::Common"
  • # Dans le même style

    Posté par  . En réponse au journal Un fichier standardisé pour décrire un projet. Évalué à 2.

    J'avais pensé à une sorte de RSS pour décrire un projet de façon simple et homogéne. Par contre ce n'était pas pour faciliter l'intégration dans un IDE mais plutôt pour permettre d'avoir dans un seul fichier standardisé les liens vers les descriptions, les documentations, les nouvelles, les dépendances, les packages ... Je voyais une structure XML bien conçu pour gérer différents types de projet (librairies, scripts, petits programmes, gros programmes contenant des sous-programmes ou modules ...) et donc différentes sections obligatoires/facultatives (contenant soit du texte ou des liens).

    Cela permettrer de facilement écrire un freshmeat like avec plus d'infos en donnant juste pour l'ajout d'un nouveau projet un lien vers le fichier XML comme on le fait avec les RSS.

    D'un autre coté, je n'ai pas cherché si ça existait déjà, donc si quelqu'un connait quelque chose se rapprochant de ce que j'ai décrit, je l'invite cordialement à se manifester :).
  • [^] # Re: Que veux-tu faire ?

    Posté par  . En réponse au journal Commencer à programmer ?. Évalué à 3.

    > Ben justement, le langage est simple.

    Je ne trouve vraiment pas le langage C 'simple' car il contient trop d'élément de syntaxe différent (boucle, affectation, pointeur, référence, tableau, fonction, macro ...).

    Bref, quand je parlais d'algo, je pensais plutôt à des trucs basiques comme un quick sort ou la création de listes chainées. Prend le code Java (ou Ruby ou O'Caml) et compare avec un code en C, tu verras qu'en C tu te prendra la tête avec des notions de syntaxes et d'allocations de mémoires pas évidentes (pour la liste chainée) alors qu'avec un langage de haut niveau tu pourras rapidement te focaliser sur le "sens" profond (sémantique) de ton algo plutôt que sur son enrobage (syntaxe).

    Après, je ne comprend pas ta réflexion sur le langage objet tu ne vas pas commencer à faire un framework à la Struts pendant ton premier TP. Donc le paradigme objet ne te servira à pas grand chose au début, la seule chose c'est que Java par exemple permet de se détacher un minimun de la machine (pas de gestion de mémoire). Je pense qu'on peut être d'accord pour dire que C++ est un mauvais langage pour apprendre à programmer (à la limite ça peut être pas mal pour écoeurer les gens :) : il a une syntaxe super lourde, il est trop permissif niveau utilisation de fonctions C, et n'est pas évident à utiliser pour faire de l'objet et on se retrouve avec références/pointeurs dans tous les sens.
  • [^] # Re: Faut pas faire chier les francais !

    Posté par  . En réponse au journal Série d'explosions dans les transports Londonien. Évalué à 3.

    Ben oui mon bon monsieur, la télé/vie/guerre/terrorisme/humour/... c'était mieux avant !

    Pour en revenir à Desproge :

    - Jacques Lacan nous a quittés, trop tard sans doute par rapport à l'immensité de conneries qu'il avait encore à dire, et peu de temps avant Brassens, ce qui prouvent que ce n'est pas toujours les meilleurs qui partent les premiers. C'était notre rubrique : Moquez-vous des morts, y peuvent pas se défendre.

    - Il faut rire de tout. C'est extrêmement important. C'est la seule humaine façon de friser la lucidité sans tomber dedans.
  • [^] # Re: Que veux-tu faire ?

    Posté par  . En réponse au journal Commencer à programmer ?. Évalué à 10.

    > De toutes façons quand on apprend, on ne s'attaque pas aux pointeurs et allocations dynamiques directement.

    Et alors quel est l'intêret de commencer à apprendre avec un langage aussi 'primitif' que C si on n'utilise même pas ses 'features' les plus intéressantes. Franchement à ce niveau autant commencer par un langage dit "de haut niveau" (Java, SmallTalk, O Caml ...) où justement on ne se préoccupe que de l'algorithmique et par la suite on peut faire de C pour bien se rendre compte de comment marche une machine et un OS.

    Enfin, c'est comme ça que j'ai appris l'informatique (Java pour les bases de la programmation (forcement orienté objet du coup) et Perl pour les TP système et réseau)) et ça ne m'a jamais empéché de faire du C ensuite (même si j'ai l'impression de perdre du temps sur des choses que ne m'interesse pas (gestion rudimentaire de la mémoire, des processus, des accès réseau et système de fichier ...)). Bref, je ne suis pas un développeur du noyau Linux :).

    Pour répondre à la question posée dans le journal, je proposerais Ruby comme langage objet à tester. De toute façon au bout d'un certain nombre de langage étudié, on se rend compte que nos préférences sont plus une histoire de goût que basé sur un plus technique (par exemple avec Ruby je peux faire la même chose qu'avec Python mais je préfére tout de même la manière de faire en Ruby (c'est surement du à mon expérience des différents langages que j'ai pu croiser depuis mes dépuis en informatique)).
  • [^] # Re: Orthographe, syntaxe, tout ça...

    Posté par  . En réponse à la dépêche Une distribution pour Nintendo DS. Évalué à 1.

    avec une autonomie de 10 jours en fonctionnement

    La Nintendo DS a une autonomie de 10 heures en fonctionnement et non pas 10 jours !! C'est déjà pas mal par rapport à d'autres consoles portables.
  • [^] # Re: -

    Posté par  . En réponse au journal Une Freebox Media Player ?. Évalué à 4.

    >Par contre sur freenew il dise Le PC serait alors controlable avec la télécommande de la Freebox. Ca supposerait qu'il y est aussi une aplli du cote PC qui communique avec le freebox ?

    Moi je vois bien un serveur VLC sur le PC qui permet à la Freebox de récupérer les flux vidéos et audio. De plus avec le client VLC embarqué dans la Freebox, il doit être possible de contrôler l'arrivée du flux (pause, lecture, arret, avance et retour rapide, navigation dans un menu DVD ...) grâce à la télécommande.

    C'est assez sympa comme possibilité, ça permet de laisser le PC de stockage loin de la télé tout en permettant d'acceder à son contenu.

    On verra bien assez tôt comment ça marche de tout façon, on peut faire confiance à Free et ses clients pour faire de la publicité la dessus :).
  • [^] # Re: Gni ?

    Posté par  . En réponse au journal [Presse] Photoshop, photos libres de droit et ... Gimp. Évalué à 5.

    Je comprends "ton" point de vue, mais j'ai toujours autant de mal à l'accepter :). Pour en revenir à la construction de la maison, tu penses qu'il faudrait interdire à tous les bricoleurs du dimanche de faire des travaux car ils privent des honnétes maçons d'une partie de leur travail ?

    Ensuite non, un pro n'a pas de plus value depuis longtemps par rapport à l'amateur, dans beaucoup de domaines photographiques.
    Et alors quel est donc l'interet d'avoir encore des pros dans ces domaines ???? C'est dommage pour eux mais franchement s'ils n'arrivent pas à tirer leur épingle du jeu fasse à des amateurs, ce n'est vraiment pas la faute de ces derniers.

    C'est surement dommage, mais l'éconnomie de marché va surement faire disparaître une partie des photographes pros pour ne garder que la crème. Enfin, je comprends que les photographes pros veuillent défendre leur beefsteak, mais il devrait plutôt penser à redéfinir leur métier pour contrer les amateurs (en proposant des services à la demande par exemple). Bref, j'en sais rien mais je trouve leurs réactions assez bizarre, en tout cas ça m'aura permis de découvrir un monde assez spécial :).
  • [^] # Re: Gni ?

    Posté par  . En réponse au journal [Presse] Photoshop, photos libres de droit et ... Gimp. Évalué à 10.

    2/Photographes amateurs qui font ça sur leur temps libre. Et ça, c'est une véritable nuisance pour les professionnels. C'est comme si un ami maçon vous faisait la maison gratuitement, c'est déloyal. ( exemple grossier mais qui exprime parfaitement ce que je veux faire comprendre )

    Oula, cette phrase m'a fait tilter. Si on garde le même exemple le fait de développer des LL pendant son temps libre est déloyal fasse aux boite comme IBM, Sun, Microsoft ou la PME du coin ???

    Je ne sais pas si c'est vraiment ça que tu voulais dire mais je ne vois pas pourquoi quelqu'un ayant la passion de la photographie ne pourrait pas vendre/donner/passer en domaine public ses oeuvres. Je ne connais pas le domaine de la photographie mais j'espère que les pros ont tout de même une plus-value (technique, commerciale ...) par rapport à un amateur. Si ce n'est pas le cas, ils sont effectivement mal partis, mais je ne vois pas pourquoi cela serait de la faute des amateurs.
  • [^] # Re: Heu

    Posté par  . En réponse au message mettre les données d'un fichier dans un tableau. Évalué à 4.

    Ça serait plus simple si tu nous donnais un exemple de fichier de données, mais comme j'ai un peu de temps (j'ai fini mon script de contrôle de Freevo par gamepad usb plus rapidement que prévu ... merci ruby-sdl) je vais essayer de te donner un maximum d'information pour résoudre ton problème. Alors reprennons depuis le début et en évitant dans un premier temps d'utiliser la variable magique :
    #!/usr/bin/perl 
    # Faisons les choses bien, on va se forcer à bien déclarer nos variables 
    use strict;
    
    # Initialisation du tableau
    my @array=();
    
    # Fichier exemple
    my $file="/etc/passwd";
    # Ouverture du fichier, stockage du descripteur dans la variable $fd
    open(my $fd, $file) or die "$file : $!";
    
    # Parcour linéaire du fichier à l'aide du descripteur
    foreach my $line(<$fd>) {
        # Maintenant on a la ligne courante dans $line
        # On enleve le retour chariot de fin de ligne
        chomp($line);
        print $line."\n";
        # Suivra le traitement pour récupérer les informations pertinentes à stocker dans le tableau
         #[[TRAITEMENT]]
    }
    
    # Fermeture du fichier
    close($fd)
    
    Il nous reste à faire le traitement des lignes de ton fichier, tu as souvent 2 cas qui se présentent :
    1. Les données à récupérer sont séparées par des délimiteurs fixes (comme dans /etc/passwd le ':'), dans ce cas c'est assez facile de récupérer les données en utilisant la fonction split (qui renvoie un tableau):
          my @datas=split(":", $line);
          print $datas[0]."\n"
      
    2. Les données sont assez exotiques, il faut alors souvent passer par les regexp (expressions rationelles/régulières). Dans le cas que tu cites, ça correspond bien au if(/.../). Prennons l'exemple (stupide) de /etc/password où l'on veut stocker dans @array les identifiants des utilisateurs utilisant bash :
          # Si la ligne commence par tout sauf un ':' plusieurs fois (stockage dans $1)
          # puis suivit de n'importe quoi (.*) et finissant ($) par bash
          if($line=~/^([^:]+).*bash$/) {
      	# On ajoute l'utilisateur en question ($1) dans le tableau @array
      	push(@array, $1);
          }
      
    Si tu ne connais pas les regexp un bouquin/tutiriel te sera surement utile.Si on reprends tout notre exemple avec l'utilisation des regexp, on aurait pu aussi réduire la taille du code en utilisant la variable magique ($_) :
    #!/usr/bin/perl 
    # Faisons les choses bien, on va se forcer à bien déclarer nos variables 
    use strict;
    
    # Initialisation du tableau
    my @array=();
    
    # Fichier exemple à stocker dans le tableau
    my $file="/etc/passwd";
    # Ouverture du fichier, stockage du descripteur dans la variable $fd
    open(my $fd, $file) or die "$file : $!";
    
    # Parcour linéaire du fichier à l'aide du descripteur
    while (<$fd>) {
        # Maintenant on a la ligne courante dans $_ (variable magique)
        # On enleve le retour chariot de fin de ligne
        chomp;
        # Si la ligne ($_) commence par tout sauf un ':' plusieurs fois (stockage dans $1)
        # puis suivit de n'importe quoi (.*) et finissant ($) par bash
        if (/^([^:]+).*bash$/) {
    	# On ajoute l'utilisateur en question ($1) dans le tableau @array
    	push(@array, $1);
        }
    }
    
    # Affichage des utilisateurs de bash :
    print "Utilisateurs de bash : ".join(", ", @array)."\n";
    
    # Fermeture du fichier
    close($fd)
    
    Avec ça tu devrais pouvoir avancer un petit peu, enfin je l'espère :).
  • # Heu

    Posté par  . En réponse au message mettre les données d'un fichier dans un tableau. Évalué à 3.

    Bon alors vu la qualité de ta question, ne t'attends pas à une réponse géniale. Si tu dois juste stocker dans un tableau le contenu d'un fichier (le tableau contient une cellule par ligne du fichier) le plus simple :
    $file="/etc/passwd";
    # Ouverture du fichier
    open(FD, $file)  or die "$file : $!";
    # Copie du contenu du fichier dans un tableau
    @lines=<FD>;
    # Fermeture du fichier
    close(FD);
    
    Ensuite pour parcourir le tableau :
    # Afficher la taille du tableau
    print scalar(@lines)."\n";
    
    #parcours linéaire des lignes du tableau
    foreach $line (@lines) {
        # Enlever le retour chariot de fin de ligne
        chomp($line=$line);
        # On coupe la ligne en utilisant comme séparateur ':'
        # équivalent à : @result=split(":", $line);print @result[0]."\n";
        ($user, $passwd, $uid, $gid, $desc, $home, $shell) = split(":", $line);
        print $user."\n";
    }
    
    Je te conseille tout de même d'acheter un bouquin sur Perl (par exemple de chez O'Reilly http://www.oreilly.fr/perl.html(...) ) pour commencer et/ou de trouver un tutoriel sur Internet. Si tu bloques déjà sur des choses comme ça tu n'as pas fini de ne pas avancer d'un pouce :).
  • [^] # Re: Vive la vie ...

    Posté par  . En réponse au journal Ne demandez pas ce que l'Europe peut faire pour vous mais demandez-vous ce que vous pouvez faire pour l'Europe. Évalué à 5.

    > Ce que toi et tes pareils ne comprenez pas c'est qu'il FAUT bouffer la vie a pleine dent , vous n'en avez qu'une ! bordel !

    Je ne suis plus vraiment considérer comme jeune (j'ai dépassé les 25 ans ;), mais franchement ce genre de remarque me fait doucement rigoler.

    Déjà, qu'entendez-vous (toi et l'auteur du journal) par "bouffer/croquer la vie à pleine dent" ? peux-tu me dire ce que tu fais par exemple toi pour croquer la vie à pleine dent ?

    Je demande juste, histoire qu'on puisse comparer ton croquage de vie à pleine dent par rapport à notre "pauvre" vie modérée !

    Tout ça pour dire que rien ne te dit qu'abstrat (el_mickey) vit (ou ne vit pas) une vie plus épanouïe que la tienne même si pour lui il n'a pas l'impression de la croquer à pleine dent.

    Je pense qu'il y a ici juste un problème de vocabulaire et peut être de fossé de génération (et encore, je suis assez contre cette notion).
  • # Les jeunes c'était mieux avant

    Posté par  . En réponse au journal Ne demandez pas ce que l'Europe peut faire pour vous mais demandez-vous ce que vous pouvez faire pour l'Europe. Évalué à 7.

    Les jeunes c'est mieux quand ils ont 50 ans, c'est bien connu, tous les gens de 50 ans te le diront d'ailleurs.

    Bref, ton petit couplet sur la jeunesse m'a bien fait rigoler (vraiment), je ne suis plus vraiment jeune (pas vieux non plus ;) mais ton discourt me parraît vraiment rétrograde.

    Premièrement, tu ne t'es pas dit que les jeunes d'hier ont été sélectionnés (sans rentrer dans le débat sur la forme de l'emission d'hier) ? qu'ils ne représentent surement pas toute la jeunesse française ?

    Deuxièmement, tu crois que les jeunes ne se projétent pas dans "un schéma collectif" quand ils manifestent depuis des mois contre la loi Fillon ? Ah non, j'oubliais, ils font juste ça pour louper les cours cette "génération geignarde, peureuse et nombriliste".

    Sache qu'entre autre, cette loi propose de former les jeunes pour qu'ils soient avant tout productifs (pour les entreprises) à la sortie de l'école ... on est très loin de la volonté d'épanouïssement et prise de conscience citoyenne que tu sembles déjà déplorer. Bref, ça ne va surement (ne soyons pas péssimiste) qu'empirer.

    Je ne vais pas rentrer dans ton troll sur l'éducation nationale, c'est du déjà vu et débattu de nombreuse fois sur ce site.

    Mais, ne t'inquiète pas, la jeunesse que tu critiques aujourd'hui fera la même chose que toi dans 20/30 ans (voir moins, cf : http://linuxfr.org/comments/437103.html#437103(...) ).
  • # Pour la vidéo

    Posté par  . En réponse au message Distribution légère mais à jour. Évalué à 2.

    Je viens de lire rapidement ton site web parlant de ton robot (http://perso.limsi.fr/pointal/koala/(...) ), et c'est vraiment sympa (mais pas donné pour un particulier :).

    J'imagine qu'à terme tu voudras surement que l'on puisse accèder à la vidéo de la caméra via le Wifi. Je te conseil d'essayer dans ce but xdtv (ex-xawdecode http://xawdecode.sourceforge.net/htmlpageFR/indexFR.shtml)(...) qui dans ces dernières versions contient un support du streaming de la vidéo. Ça sera surement moins consommateur de bande passante (réglable) que de faire de l'export display et d'utiliser l'option -remote de xawtv.

    En tout cas tient nous au courant.
  • [^] # Re: Rep

    Posté par  . En réponse au message Distribution légère mais à jour. Évalué à 3.

    Une petite recherche sous google avec "Koala Kteam" t'aurais donné en première réponse cette page : http://perso.limsi.fr/pointal/koala/(...) qui il semblerait est celle de l'auteur de ce forum ;).

    Mais c'est vrai que je n'avais jamais entendu parler de ce genre de petite bête, je m'en vais donc lire tout de suite la page de Laurent.
  • [^] # Re: Sacré langage!

    Posté par  . En réponse à la dépêche Journées Perl 2005. Évalué à 1.

    > Le seul problème avec Ruby et Python, c'est qu'ils sont tellement semblables l'un à l'autre, qu'il est très difficile de choisir entre les deux

    Si ces 2 langages étaient tellement semblables, l'un des deux n'existerait surement pas/plus. Ils jouent effectivement dans la même cours, ils ont les mêmes contraintes (langage de script orienté objet), le même type de licence libre mais la philosophie de chacun de ces langages est bien différente, ce qui fait qu'ils coexistent et qu'ils garderont leur communauté d'adeptes.

    Pour le choix, c'est avant tout une histoire de goût, de besoin et d'expériences passées des développeurs.

    Ma préférence va aussi vers Ruby qui correspond mieux à mes gouts et connaissances en développement informatique (càd. la programmation full-oo à la SmallTalk).
  • [^] # Re: HHGG

    Posté par  . En réponse au journal Pour détruire la terre. Évalué à 7.

  • [^] # Re: Perl n'est pas assez clair? O_o

    Posté par  . En réponse au journal connaissez-vous Pike ?. Évalué à 2.

    C'est pourtant pas très difficile, il y a 2 cas :
    - La méthode commence par un symbole non alphanumérique (*, +, -, ', =, %, /, >, < ...) : notation pointée facultative pour permettre une écriture plus conventionnelle des opérations (arithmétiques, booléennes ...)
    - La méthode commence par un symbole alphanumérique : obligation d'utiliser la notation pointée : 2.plus 3

    Après pour éviter cette "bidouille" il n'y a qu'un seul moyen propre, c'est de faire comme dans SmallTalk et préférer la notation "objet méthode" à la notation pointée "objet.méthode". Hélas, Ruby devant être compréhensible par un développeur lambda (comme Python) il parait logique d'éviter de perturber ce dernier en lui imposant une syntaxe trop particulière même si cette dernière est finalement plus propre (et surtout plus facile à parser :). C'est dans le même but que dans Ruby les structures de contrôles (if-then-else, while ...) ne sont pas des méthodes des classes True et False.

    De toute façon, plus j'utilise de langage objet (Java, Eiffel, C++, C#, Python ...), plus je me rends compte qu'ils évoluent de plus en plus vers SmallTalk. Bref, je suis sûr que si demain Microsoft (ou un autre grand éditeur) resortait SmallTalk tout le monde trouverait ça merveilleux. Bref, SmallTalk est sortit 30 ans trop tôt :/.

    Pour en revenir à Ruby et Python, ça n'est pourtant pas difficile de comprendre la différence de philosophie : un de ces 2 langages a été conçus dès le départ pour être un langage de script objet et l'autre non. Du coup, Python se retrouvent à trainer une compatibilité qui nuit à mon avis à son évolution vers du full OO. Mais d'un autre coté comme je l'ai dit plus haut, c'est surement ce qui a permis à Python d'être autant utilisé à travers le monde aujourd'hui, il a réussi à fédérer les gens vennant du monde procédurale (C...), du scripting (Shell, Perl ...) et du monde objet (Java, C++ ...). Python est le vrai premier langage de script orienté objet à avoir su s'imposer face à Perl. C'est l'étape décisive avant de pouvoir convertir les gens à des langages full OO.

    Enfin, je ne comprend pas cette levée de bouclier des gens faisant du Python quand on dit que Ruby est beaucoup plus orienté objet que leur langage préféré. Ce n'est pas obligatoirement un mal. Ça me fait pensé à cette époque pas si lontaine où on n'avait pas le droit de critiquer Java en tant que langage objet.

    Bref, cette discussion commence à me fatiguer ... je vais me coucher :)
  • [^] # Re: Perl n'est pas assez clair? O_o

    Posté par  . En réponse au journal connaissez-vous Pike ?. Évalué à 3.

    Si si, c'est complétement objet en Ruby, + est une méthode de la classe Fixnum prennant en paramètre une autre valeur. Pour s'en convaincre il suffit de taper ceci est de l'exécuter :
    puts 2+2     # 4
    puts 2.+(2)  # 4
    
    On peut même s'amuser à changer le comportement de la méthode + de Fixnum :
    class Fixnum
      def +(value)
        self*value
      end
    end
    
    puts 2+3    # 6
    puts 2.+(3) # 6
    
    Bref la syntaxe 'x + y' est une forme raccourci de la syntaxe objet 'x.+(y)'.
  • [^] # Re: Perl n'est pas assez clair? O_o

    Posté par  . En réponse au journal connaissez-vous Pike ?. Évalué à 2.

    et ta méthode 'dir' elle est définie dans quelle classe ?

    Comment fais-tu déjà pour accéder à une méthode définie dans une classe mère (le super de Java, Ruby ...) ? super(Class, self).meth(args) ? ben dit donc ça ne fait pas tellement notation objet tout ça !

    Comment fais-tu pour savoir si un objet contient bien une méthode ? hasattr(objet, "methode") ? ça fait pas objet non plus comme notation si ?

    Bref, je ne vais pas refaire la discussion Python VS Ruby mais si ça t'interresse va regarder par là : http://linuxfr.org/comments/517442.html#517442(...)

    Python et Ruby sont des langages de scripts mais la comparaison devrait s'arrêter là, ils n'ont pas du tout la même philosophie. Après qu'on préfére l'un ou l'autre c'est une question de goût, mais de la à dire que Python est totalement objet c'est un peu gros. Je pense que justement c'est une des forces de Python de ne pas être pur objet, ça permet à un plus grand nombre de développeur de s'appropier ce langage sans être perturber (par rapport à Ruby où tu peux par exemple redéfinir la méthode + de Fixnum pour réaliser une soustraction au lieu d'une addition).
  • [^] # Re: Perl n'est pas assez clair? O_o

    Posté par  . En réponse au journal connaissez-vous Pike ?. Évalué à 5.

    Je suis d'accord avec toi, sauf que s'il cherche un langage à peu près objet, Perl n'est surement pas le meilleur choix (tout comme Php). J'ai arrêté d'utiliser Perl le jour ou j'ai commencé à vouloir faire de l'objet avec, ça devient vraiment illisible est ça n'apporte pas beaucoup de fonctionnalité objet. Pour la syntaxe de Perl effectivement il n'a pas grand chose de nouveau à part peut être les regexps mais c'est plutôt à cause des raccourcis permissifs que le code devient illisible (variable magique). Par contre comme tu le fais remarquer c'est au développeur de faire attention à ce qu'il code et de s'efforcer de garder lisible son travail.

    Pour en revenir au sujet du journal, je conseillerais à qstone d'essayer plutôt un langage comme Python ou Ruby (en attendant Perl6 peut être). Python à l'avantage d'être facilement abordable pour les personnes venant du monde procédurale (C, C++ ...) et d'avoir beaucoup de bibliothèques disponibles. Ma préférence va pour Ruby qui est totalement objet (aux structures de contrôles près) et qui permet une liberté d'expression assez formidable (tout en restant lisible à mon avis).

    L'avantage du libre est d'offrir un grand choix de langage dans lesquels on trouve souvent son bonheur.