Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Expert éminent sénior
    Sortie de Perl 5.12, tandis que le développement de Perl 6 se poursuit
    Mise à jour du 14.04.2010 par Katleen
    Sortie de Perl 5.12, tandis que le développement de Perl 6 se poursuit

    Le langage open source Perl fait un pas en avant cette semaine avec les débuts de Perl 5.12, malgré le débat autour de son déclin.

    De nouvelles fonctionnalité sont au rendez-vous pour faciliter la tâche des développeurs. Par exemple, les mots clés pluggables sont désormais pris en charge. Ce méchanisme s'attache directement au parseur et permet l'implémentation d'un mot clé pour définir la syntaxe du reste du texte.

    Perl, langage dynamique, existe depuis 1987 (une éternité dans l'histoire de l'informatique !). Perl 5.0 est apparu en 1994, quelle longévité !

    Perl 5.12 se veut également correctif, il fixe la faille Unix qui ne permettait l'affichage des dates que jusqu'en 2038 (après quoi, on revenait en 1970)...

    Cette nouvelle sortie arrive alors que l'augmentation du nombre d'utilisateurs du langage se réduit.

    Ce qui n'empêche pas la poursuite du développement de Perl 6. En effet, tandis que la plate-forme Perl 5 progresse, on travaille aussi sur Perl 6 depuis 2004.

    Mais certaines personnes se lassent d'attendre... Et préfèrent miser sur le développement de Perl 5.

    Pourtant, le travail en cours sur Perl 6 est prometteur et bien engagé. Mais Perl 6 Rakudo ne deviendrait une alternative sérieuse à son grand frère que dans quelques années, selon certains experts.

    De toutes les façons, une autre mise à jour est prévue bien avant cette date, puisque 2011 devrait voir l'arrivée de Perl 5.14.

    Source : Le site officiel de Perl

    Lire aussi :
    Humour : Les programmeurs en Perl seraient les plus malpolis

    Pensez-vous que Perl 6 verra le jour ?

    Perl est-il est-il encore un langage populaire ?
    Face au dynamisme des communautés PHP, Python et Ruby


    C'était en 1998, le PHP existait à peine. Perl 5 triomphait. Une application web s'écrivait en Perl, et en rien d'autre. Le monde de la programmation retenait son souffle et se perdait en spéculations dans l'attente d'un hypothétique Perl 6.

    Nostalgie, nostalgie.

    Plus de 10 ans plus tard, la sortie de Perl 6 ne crée plus d'évènement ou de raz-de-marée. Cela ne veut pas dire que le langage est "mauvais" (comme dit le proverbe, "ne blâmez pas l'outil si vous ne savez pas travailler"), juste que l'attente et la popularité du langage semble s'être effritées au fil des ans.

    Pourquoi ?

    Certains programmeurs mettent en avant le "marketing". D'après eux, Larry Wall aurait pu (du ?) trouver des noms glamours et continuer une numérotation plus régulière des versions. Bref, Perl serait devenu trop "vintage" pour séduire le plus grand nombre.

    "Oh, vous programmez toujours en Perl ?" semble être une phrase de plus en plus entendue. On peut rétorquer que Perl est toujours adapté aux besoins, que tout ce qui est "vieux" n'est pas nécessairement dépassé, etc.

    Mais l'idée qui reste est que la nouveauté est ailleurs.

    D'autres développeurs – déçus par Perl eux – mettent en avant des raisons techniques. Perl serait "compliqué" avec de nombreux "problèmes internes" difficiles à résoudre. Cette soi-disant complexité viendrait du principe du "There's More Than One Way To Do It" cher aux développeurs Perl.
    Qui ne se privent pas, en retour, de mettre en exergue les problèmes inhérents – et bien pires d'après eux – de Python ou de Ruby.

    Pourtant, c'est bien Python – de plus en plus puissant malgré le moratoire sur sa syntaxe – qui semble de plus en plus séduire les entreprises. Ruby on Rails ne cesse également de gagner des adeptes.
    Quant au PHP, la facilité de sa prise en main en a fait un langage phare.

    D'anciens développeurs – véritables Perl fanboys – sont les plus durs.

    Pour eux, ce n'est ni la communication de Larry Wall, ni le langage lui-même qui sont en cause. C'est la communauté. Le réseau IRC de Perl serait devenu le royaume de l'incivilité, du mépris et du manque de savoir-vivre.

    En déclin ou pas, pour telle ou telle raison, une anecdote ne manquera pas de poser question : la distribution Linux Fedora 12 embarque Rakudo Perl 6.

    Fedora 13 sera livrée avec Python 3.

    Vraiment rien qu'une anecdote ?


    Lire aussi :

    Les programmeurs en Perl seraient les plus malpolis

    Connaissez-vous les huits opérateurs Perl secrets ? Si ce n'est pas le cas, découvrez-les ici

    Les rubriques (actu, forums, tutos) de Développez.com :
    Perl
    PHP
    Python
    Ruby
    Développement Web

    Et vous ? :

    Pensez-vous que Perl est sur le déclin ? Ou au contraire que ces compétences sont toujours très demandées par les entreprises ?


    Source

  2. #2
    Membre habitué
    Je n'ai jamais utilisé Perl mais je sais que je suis passé à Python car il été intégré à Maya (je suis infographiste).

    Ducoup ça me fait me demander une chose:

    Si perl a perdu des "part" de marché comparé à Python, ne serai-ce pas du au fait que python s'integre facilement à d'autres logiciels, s'offrant une "raison d'y passer" plus valable?

  3. #3
    Membre régulier
    Vu le nombre de posts qu'il y a sur ce forum, c'est facile de se faire une idée de la popularité actuelle de Perl.

  4. #4
    Membre du Club
    En même temps je veux pas troller mais 95% des sujets sur ce forum sont soit sur le Java soit sur le .NET alors bon...

  5. #5
    Membre actif
    Sentiment
    Le problème de Perl, c'est une syntaxe peu (re)lisible et la faiblesse (du moins à l'époque où j'ai côtoyé le langage) de la gestion orienté objet.
    En outre, s'étant piqué la vedette sur le Web par Php et Java, il est normal qu'il ne soit plus sous les spotlights.

  6. #6
    Membre éprouvé
    Code perl :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # perl
    $i=0;
    $informations = "a:b:c:d";
    @tempChars = split(/:/, $informations);
    print $tempChars[$i];


    Code python :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    # python
    i=0
    informations = "a:b:c:d" 
    tempChars = informations.split( ":" )
    print tempChars[i]



    Code c# :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //c#
    byte i = 0;
    string informations = "a:b:c:d" ;
    string[] tempChars= informations.Split( ":".ToCharArray() );
    System.Console.WriteLine(tempChars[i]);



    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //action script
    var i:int;
    var informations:String = "a:b:c:d";
    var tempChars:Array = informations.split(":"); 
    trace(tempChars[0]);



    On en conclura ce qu'on voudra
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  7. #7
    Membre chevronné
    En même temps perl et ces 8 opérateurs secrets, il fait un peu langage de barbu...

  8. #8
    Membre averti
    Tu veux démontrer quoi ferber ?

  9. #9
    Membre éprouvé
    Citation Envoyé par gannher Voir le message
    Tu veux démontrer quoi ferber ?
    Citation Envoyé par ferber Voir le message
    On en conclura ce qu'on voudra

    Hum je ne pense pas qu'il y ais grand chose a démontrer sur si peu de ligne.
    Le but été peut-être juste de présenter/comparer simplement des éléments de base de syntaxe.
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  10. #10
    Membre chevronné
    Citation Envoyé par gannher Voir le message
    Tu veux démontrer quoi ferber ?
    Très bonne question...
    Surtout que:
    Citation Envoyé par ferber Voir le message

    //c#
    byte i = 0;
    string informations = "a:b:c:d" ;
    string[] tempChars= informations.Split( ":".ToCharArray() ); ça marche comme ça: string[] tempChars= informations.Split(':');
    System.Console.WriteLine(tempChars[i]);
    Vu sur un paquet de cigarettes: "Fumer peut entrainer une mort lente et douloureuse"
    - Vivre aussi... Ce n'est pas forcément moins douloureux et c'est même beaucoup plus lent...

  11. #11
    Membre averti
    Hum je ne pense pas qu'il y ais grand chose a démontrer sur si peu de ligne.
    Le but été peut-être juste de présenter/comparer simplement des éléments de base de syntaxe.
    C'est bien ce qu'il me semblait.
    Mais le code que tu proposes est tellement de base qu'on ne verra jamais les différences au niveau difficulté de relecture d'un code .

  12. #12
    Membre éprouvé
    // je préfère
    //ancienne habitude
    //http://msdn.microsoft.com/en-us/library/system.string.split%28VS.71%29.aspx
    string[] tempChars= informations.Split( ":".ToCharArray() );
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  13. #13
    Membre éprouvé
    Citation Envoyé par gannher Voir le message
    C'est bien ce qu'il me semblait.
    Mais le code que tu proposes est tellement de base qu'on ne verra jamais les différences au niveau difficulté de relecture d'un code .
    C'est sur.
    Mais il permet déjà d'apprécier ou pas le style de syntaxe.
    Et me conforte dans l'idée que je n'apprécie pas la syntaxe de perl.
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  14. #14
    Membre expert
    Citation Envoyé par LooserBoy Voir le message
    Très bonne question...
    Surtout que:
    Je préfère également passer un tableau de Char à Split, de plus, impossible de compiler en mode Strict sans passer un tableau de Char.

    Pour en revenir au sujet et à l'exemple de feber, Perl semble être devenu un langage obsolète. C'est le seul dans l'exemple qui ne possède pas de méthode Split sur l'objet String (encore faudrait-il qu'une chaine soit un objet dans ce langage).
    Studio de création digitale
    http://bonapp.studio

  15. #15
    Membre chevronné
    @ThomasR et ferber: j'avais oublié de dire "aussi"
    j'utilise rarement le mode strict...
    Vu sur un paquet de cigarettes: "Fumer peut entrainer une mort lente et douloureuse"
    - Vivre aussi... Ce n'est pas forcément moins douloureux et c'est même beaucoup plus lent...

  16. #16
    Membre éprouvé
    Citation Envoyé par ThomasR Voir le message
    Je préfère également passer un tableau de Char à Split, de plus, impossible de compiler en mode Strict sans passer un tableau de Char.
    //J'avoue quand même que la surcharge suivante ne me semblait pas exister
    //du coup par habitude je n'ai pas pensé à vérifier
    public string[] Split(params char[] separator);
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

  17. #17
    Membre habitué
    Perso je fais du perl, et je me suis à Python très recemment,

    J'utilise toujours les deux, mais pas du tout pour les même choses !!!!

    Perl : script système, je l'utilise comme un super bash, et pour ça c'est super !

    Python : langage de prog interprété, je l'utilise à la place de Java ou .Net pour faire des applis qui n'ont pas du but entreprise.

    Un très bon cours de Python où il donne son avis sur Perl/Python, mais de façon plutôt objectif.

    http://www.swaroopch.com/notes/Python


    Perl ce veux concis, car l'objectif c'est d'être efficace dans son script, pas de faire des grosses applis.

  18. #18
    Membre régulier
    En outre, s'étant piqué la vedette sur le Web par Php et Java, il est normal qu'il ne soit plus sous les spotlights.
    Pour en revenir au sujet et à l'exemple de feber, Perl semble être devenu un langage obsolète. C'est le seul dans l'exemple qui ne possède pas de méthode Split sur l'objet String (encore faudrait-il qu'une chaine soit un objet dans ce langage).
    C'est moi ou php non plus n'a pas de méthode Split sur l'objet String ?

    Il est dit dans plusieurs articles que j'ai lu ici et là que perl est très efficace pour tout ce qui est expression régulières et traitement des textes etc.
    Si on en crois ce que disent ces articles, on peut penser que ne pas avoir de méthodes Split sur les string est plutôt un gage de performance.

  19. #19
    Nouveau membre du Club
    Peut-être pas une bonne comparaison
    Je pense que la vocation de Perl n'est — de toute façon — pas très orientée web. Pour faire des scripts Shell sur un serveur Linux, il est vraiment fort. Il a été pensé, à la base, beaucoup plus comme un langage d'administration de serveur. Je crois que la raison pour laquelle, il a été mis de l'avant, du point de vue du web à l'époque, c'est tout simplement qu'il n'y avait pas vraiment d'alternative.

    Corrigez-moi si je me trompe.

    Citation Envoyé par ferber Voir le message
    # perl
    $i=0;
    $informations = "a:b:c:d";
    @tempChars = split(/:/, $informations);
    print $tempChars[$i];


    # python
    i=0
    informations = "a:b:c:d"
    tempChars = informations.split( ":" )
    print tempChars[i]


    //c#
    byte i = 0;
    string informations = "a:b:c:d" ;
    string[] tempChars= informations.Split(':');//.ToCharArray()n'est pas nécessaire.
    System.Console.WriteLine(tempChars[i]);


    //action script
    var i:int;
    var informations:String = "a:b:c:d";
    var tempChars:Array = informations.split(":");
    trace(tempChars[0]);


    On en conclura ce qu'on voudra

  20. #20
    Membre éprouvé
    Citation Envoyé par viking1404 Voir le message
    C'est moi ou php non plus n'a pas de méthode Split sur l'objet String ?

    Il est dit dans plusieurs articles que j'ai lu ici et là que perl est très efficace pour tout ce qui est expression régulières et traitement des textes etc.
    Si on en crois ce que disent ces articles, on peut penser que ne pas avoir de méthodes Split sur les string est plutôt un gage de performance.
    C'est une question que je me pause de temps en temps, mieux vaut 100000 occurrence d'un objet de type "A" ayant une chaine et une méthode( non static ) "b" ou
    100000 occurrence d'un objet de type "A" n'ayant une chaine et une methode externe a la classe "A" utilisée pour manipuler les objects de type "A". Selon mes testes (en c# ) il vaut mieux que la méthode soit externe. Mais si on sort tout les membres de toute les classes on se retrouve plus vraiment dans de l'orienté objet. Quoi que ça mérite réfléction.
    Flash player ActionScript Virtual Machine 2 http://www.mozilla.org/projects/tamarin/
    fonctionnement de la machine virtuel : (ActionScript Virtual Machine 2 (AVM2)) :
    http://www.adobe.com/content/dam/Ado...m2overview.pdf

###raw>template_hook.ano_emploi###