Journal La fourberie des perles

Posté par (page perso) .
Tags : aucun
16
20
juil.
2010

Nous vivons des temps très excitants.



Les perles sont fourbes, elles ne sont jamais là où nous les
attendons, et pointent les bouts de leur orbe n'importe quand.



Deux perles très rusées sont en passe de venir nous titiller la
concupiscence : Guile 2.0 et Rakudo Star (Perl 6).



Rakudo Star


Rakudo Star (a "usable Perl 6") to be released by July 29
Submitted by pmichaud on Sat, 06/19/2010 - 11:09


Rakudo Star c'est le nom de la première sortie officielle de Rakudo
Perl, une implémentation de Perl 6.



Perl 6 c'est un gros langage. On pourrait presque dire que c'est une
famille de langages à lui tout seul. Il permet la programmation dans
pleins de sous-langages, dont le nouveau moteur d'expressions
rationnelles fait partie.



Deux et trois choses amusantes dans Perl 6 :



Expressions rationnelles : elles deviennent un véritable
sous-langage de Perl 6. Il y a plein de trucs qui ont l'air très
chouette, mais comme je ne connais pas grand chose au domaine, je vais
me contenter d'exprimer mon étonnement ;)



Contextes multiples et invariance du sigil : Enfin, dirons
certains, le sigil est invariant ! Ne vous réjouissez pas trop vite,
il l'est moins par soucis de se conformer aux autres langages que
parce que les contextes sont beaucoup plus abondants qu'en Perl 5 et
auraient rendu la variance du sigil un enfer...



typage : typage dynamique, mais aussi statique.



Macros : type C ( simple substitution textuelle), type LISP (
modification de l'arbre syntaxique ).



OO : L'OO classique et l'OO basée sur les prototypes
sont possible. Les "roles" ( mixins, interfaces, traits dans d'autres
langages ... ).



Pleins d'autres choses : des bidules pour faciliter la programmation
concurrentielle, les jonctions etc.



Guile 2.0




2010-06-01
GNU Guile 1.9.11 (beta) released. This may
be the last release before 2.0 comes out.


Guile 2.0 c'est l'implémentation de Scheme du projet GNU qui avait
pour objectif de devenir le langage «glue» du monde libre et, au
pasage, de remplacer Emacs LISP.



Si le premier est depuis longtemps compromis par les Python, les Perl
et même les Javascript, le second est en passe de devenir une réalité
!



Guile permet depuis la version 1.9.0 de compiler scheme en du bytecode
pour une machine virtuelle dédiée.



Guile supporte déjà ECMAScript mais aussi... Elisp !



Le support de R6RS est quasiment complet.



Au passage, je tiens à signaler que PLT Scheme devient Racket, et
qu'Emacs 24 continue de grandir joyeusement.

  • # Précepte

    Posté par (page perso) . Évalué à  10 .

    Il y a un précepte que j'aime à suivre et que Perl 6 devrait adopter. « Quand ça arrive trop tard, c'est trop tard »
    • [^] # Re: Précepte

      Posté par . Évalué à  10 .

      ils te répondront, que perl5 fonctionne très bien, et qu'il n'y a pas besoin de se presser.

      "La liberté de tout dire, n'a d'ennemis, que ceux qui veulent se réserver, le droit de tout faire"

      • [^] # Re: Précepte

        Posté par (page perso) . Évalué à  -5 .

        Ils devraient pas répondre. Quand t'utilise perl tu la fermes bien comme il faut et pis c'est tout.

        A zut on est pas dredi? -> []
      • [^] # Re: Précepte

        Posté par . Évalué à  3 .

        "ils te répondront, que perl5 fonctionne très bien, et qu'il n'y a pas besoin de se presser. "

        Dans ce cas, pourquoi vouloir faire une version 6 ? C'est bien qu'il y a des besoins qui ne sont pas couverts par perl5, non ? Et donc on peut discuter du fait qu'il y ait besoin de se presser.

        PS : je ne connais rien en Perl du tout, j'ai peut-être (surement ?) dit une bétise, mais ca me paraissait logique.
        • [^] # Re: Précepte

          Posté par . Évalué à  2 .

          Bonne remarque :)

          Disons qu'il ne voit pas un besoin urgent et qu'il préfère peaufiner le truc au mieux.

          D'ailleurs, Perl a changé sa façon de sortir les version des perl5. Ils backportent certaine fonctionnalité, et sortent plus souvent.

          "La liberté de tout dire, n'a d'ennemis, que ceux qui veulent se réserver, le droit de tout faire"

    • [^] # Re: Précepte

      Posté par (page perso) . Évalué à  3 .

      Trop tard par rapport à quoi ? Quels sont les critères ? Perl 6 c'était une commande avec des cahiers des charges ?
      • [^] # Re: Précepte

        Posté par . Évalué à  4 .

        Faut croire que oui, Perl 6 a un cahier des charges. Autrement, il serait déjà sorti.

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

        • [^] # Re: Précepte

          Posté par . Évalué à  1 .

          C'est pas une commande. Où tu as vu ça ?

          Les versions de Debian n'ont pas de cahier des charges et pourtant ils sortent pas une version chaque fois qu'un paquet est modifié dans le dépôt main.

          Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

  • # Les sigils c'est indubitablement intuitif

    Posté par . Évalué à  6 .

    $a # variable de type scalaire
    @a # variable de type tableau
    %a # variable de type hash
    \&a # fonction

    Et encore ,voici les twigils: (apparu dans le bien aimé Perl 6)
    $foo # variable classique sans sigil secondaire
    $^foo # paramètre auto-déclaré
    $*foo # variable globale
    $?foo # indication pour le compilateur
    $=foo # variable pod : pour la documentation
    $ # variable de match utilise dans les regex
    $!foo # attribut privé de l'objet courant
    $.foo # attribut public de l'objet courant...
    # ...accesseur pour du code en dehors de la classe de l'objet

    Source:WIkipédiou

    PS:Ca Parait tout de même sympa pour l'auto-documentation,car il faut garder les sigils tout au long de l'utilisation de la variable.
    • [^] # Re: Les sigils c'est indubitablement intuitif

      Posté par . Évalué à  10 .

      On pourrait croire que $^*?=foo est une variable auto déclarée globale documentée avec une indication pour le compilateur alors que c'est en fait le débutant en perl6 qui vient d'exploser à coups de poing son cla
    • [^] # Re: Les sigils c'est indubitablement intuitif

      Posté par (page perso) . Évalué à  2 .

      Ouais, les sigils et les sous-routine, ça fait tellement XXe siècle, en même temps. On se croirait retourné au BASIC.
      • [^] # Re: Les sigils c'est indubitablement intuitif

        Posté par . Évalué à  10 .

        ben justement, à force d'avoir des langages du plus en plus simple à appréhender, on va se retrouver au chomage. Vous verrez qu'un de ces jours madame Michu pourra directement programmer en langage naturel.

        Alors merci a Larry Wall de maintenir un langage de plus en plus ésotérique et qui permet de conserver nos emplois.
        • [^] # Re: Les sigils c'est indubitablement intuitif

          Posté par . Évalué à  10 .

          Pour ceux cherchant une documentation adaptée, voici un bouquin qui résume bien Perl : http://otierney.net/images/perl6.gif
        • [^] # Re: Les sigils c'est indubitablement intuitif

          Posté par . Évalué à  10 .

          Vous verrez qu'un de ces jours madame Michu pourra directement programmer en langage naturel.

          Pour programmer, il faut une chose dont 95% de la population ne dispose pas : La logique. C'est malheureux mais il suffit de regarder comment raisonnent la plupart des gens. Les langages ont beau être simples à apprendre, peu de gens seront capable de construire quelque chose d'un peu plus gros que les exemples de base.
          • [^] # Re: Les sigils c'est indubitablement intuitif

            Posté par . Évalué à  2 .

            Ouh la malheureux toi tu as jamais du regarder le code source de certains de tes collegues. Malheureusement c'est logique ... pour eux mais ce sont bien les seuls. Ca me rappelle la logique des juristes qui font de calculs qu'un matheux fait en 2 lignes sur 3 pages avec des raisonnement tarbiscote.
    • [^] # Re: Les sigils c'est indubitablement intuitif

      Posté par (page perso) . Évalué à  2 .

      Bonsoir,

      content de savoir que le nombre de caractères ascii ( ^*?=!. ) est limité...

      Oui, qu'une ligne de commentaire.
    • [^] # Re: Les sigils c'est indubitablement intuitif

      Posté par . Évalué à  2 .

      Les 4 premiers c'est juste les bases dans perl depuis que perl existe. C'est un peu comme dire que c'est incompréhensible dans ruby les noms des identifiants qui changent le type en fonction de leur casse.

      Ça permet d'avoir des conventions inclus dans le langage pour savoir ce qu'est une variable (c'est la même chose en ruby). Je trouve que c'est un point qui se défend (on voit bien que beaucoup de programmeur Java se retrouvent à appliquer des conventions sans que ce soit inclu dans le langage (fontion commencent par une minuscule, classe commencent par une majuscule,...)).

      Je parle des 4 premiers pour la suite je me déclare incompétent.

      Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

      • [^] # Re: Les sigils c'est indubitablement intuitif

        Posté par . Évalué à  2 .

        C'est un peu comme dire que c'est incompréhensible dans ruby les noms des identifiants qui changent le type en fonction de leur casse.

        en ruby le type ne change pas en fonction de la casse, la casse sert juste à indiquer qu'un objet est une constante ou non. Le préfix quand à lui sert à indiquer la porté d'un élement.
        • [^] # Re: Les sigils c'est indubitablement intuitif

          Posté par . Évalué à  2 .

          Tu as des éléments d'information sur ce que représente le bout de mémoire identifié par cet identifiant dans l'identifiant.

          Que ce soit dans l'accès ou une propriété de l'identifiant je n'y vois pas une grande différence. Après c'est de l'ordre du goût de chacun. Par exemple j'aime bien avoir cette indication directement dans le premier caractère de l'accès et de manière bien distinct de l'identifiant.

          Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

      • [^] # Re: Les sigils c'est indubitablement intuitif

        Posté par (page perso) . Évalué à  2 .

        on voit bien que beaucoup de programmeur Java se retrouvent à appliquer des conventions sans que ce soit inclu dans le langage (fontion commencent par une minuscule, classe commencent par une majuscule,...)

        C'est parce que sinon Eclipse râle, autrement ce serait un beau bordel.

        « Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » Raymond Devos

        • [^] # Re: Les sigils c'est indubitablement intuitif

          Posté par . Évalué à  2 .

          Raison de plus pour intégrer ce genre de conventions au langage.

          Je suis dans ma tour d'ivoire (rien à foutre des autres, dites moi un truc pour moi), si je ne pose pas explicitement une question pour les 99%, les kévin, les Mm Michu alors c'est que je ne parle pas d'eux.

  • # J'ai rien compris....

    Posté par (page perso) . Évalué à  4 .

    Ah si quand même un truc :

    "Tiens il bouge encore ?"


    /me fuit...
  • # Perl 6 et les mini langages

    Posté par (page perso) . Évalué à  3 .

    Un article très intéressant sur Perl 6 et les mini langages :

    http://www.modernperlbooks.com/mt/2010/07/eliminating-errors(...)
  • # re

    Posté par (page perso) . Évalué à  -3 .

    Ca t'exite ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.