IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Nouvelle FAQ Perl6

Le , par djibril

20PARTAGES

0  0 
Je me disais que ça serait bien d'avoir un topic qui regrouperait toutes les infos dispo sur Perl 6...

Tout ce que j'en sais, c'est qu'il tournera sur une machine virtuelle, Parrot. Je ne connais pas sa date prévue de sortie, ni même les nouvelles fonctionalités qui devraient être intégrées...

Et sur Internet je ne trouve pas de document concret qui contiennent ce genre d'infos. Vous en connaissez vous ?

Liens: http://rakudo.org
http://www.programmersheaven.com/2/Perl6-FAQ

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Lolo78
Rédacteur/Modérateur https://www.developpez.com
Le 24/08/2014 à 23:08
Jonathan Worthington vient de faire une présentation à la conférence YAPC::EU (conférence Perl annuelle européenne) sur les résultats du travail accompli depuis 12 mois sur les performances de Perl6/Rakudo. Voici un lien vers ses slides.

Cette présentation est intéressante à bien des égards. Elle explique la stratégie d'optimisation du compilateur qui a été suivie, et donne un benchmark comparant Rakudo il y a un an avec Rakudo actuel, ainsi qu'avec Perl 5.20. Tout n'est pas encore parfait, tant s'en faut, mais les progrès ont réellement été fulgurants.

Bonne lecture.
2  0 
Avatar de djibril
Responsable Perl et Outils https://www.developpez.com
Le 26/12/2015 à 21:48
Premier post 03/06/2006, 15h55 et today 25/10/2015 : Première version 1.0 de Perl 6 .
1  0 
Avatar de djibril
Responsable Perl et Outils https://www.developpez.com
Le 26/07/2017 à 21:43
Bonsoir à tous,

Deux ans après, voici quelques tutoriels sur Perl 6 en français .

aux auteurs !
1  0 
Avatar de Jedai
Expert éminent https://www.developpez.com
Le 03/06/2006 à 16:44
Je suis le développement de Perl6 d'assez près, et je suis près à rédiger une petite FAQ dès que j'ai le temps...

Commençons déjà par tes questions :

  • La date de sortie ?
    Quand il sera près ! Ok, ça manque d'originalité... Disons que de façon réaliste on peut s'attendre à une version alpha pour le premier trimestre de 2007, et une sortie finale avant la fin 2007. Il y a pas mal d'agitation actuellement dans la communauté Perl6/Pugs/Parrot et ces dates sont relativement probables.
  • Les nouvelles fonctionnalités ?
    Plein de choses, il s'agit en fait d'une refonte en profondeur du langage. Quatres points marquants devrait être :
    1. la fin du changement de sigil ($, @, %, & selon le contexte (on écrira maintenant @machin[0] pour le premier élément de @machin) qui devrait bien simplifier l'emploi des références ($machin[0] est le premier élément de $machin si $machin est une référence sur un tableau)
    2. les listes d'arguments pour les fonctions (on pourra toujours utiliser @_ mais ce ne sera plus la "bonne" façon de faire), avec support pour les arguments nommés et pas mal de choses liées au point suivant :
    3. Perl devient typé, au moins partiellement, et utilisera ces indications de type pour optimiser le stockage et le code, ainsi que pour choisir la bonne fonction en cas de plusieurs fonctions avec le même nom mais des listes d'arguments différents. Le système de type devrait être très puissant et permettre de faire des choses très avancées simplement (comme d'avoir un type entier restreint à un certain intervalle).
    4. Un système d'objet standard beaucoup plus proche des systèmes classiques (on passe d'ailleurs de la flèche au point pour l'invocation des méthodes), mais avec le support des "Traits", une approche récente pour éviter les problèmes du multihéritage tout en en gardant la puissance (ça a l'air très prometteur )
    5. Les regex évoluent pour devenir les rules qu'on peut regrouper en grammar complètes. Pour y avoir jeter un coup d'oeil je peux vous dire que ça promet : en gros on aura la puissance d'un vrai parser intégré au langage, mais avec une syntaxe simplissime. Les regexps actuelles devront être un tout petit peu modifiées, mais à peine, ça pourra d'ailleurs être fait automatiquement (cf la question suivante)

    Et plein d'autres petites choses (ou grandes...).
    Un point important c'est que Perl6 contrairement à Perl [12345] aura une spécification, c'est à dire un ensemble de RFC qui disent comment fonctionne telle ou telle chose. Pour avoir plus de détails sur les nouveautés, vous pouvez consulter les documents de référence : les Apocalypses (Révélations en grec) de Larry Wall , les Exegeses plus concises et explicatives, les Synopsis qui seront les documents de design de Perl6 et qui sont sans doutes les plus à jour. (faites votre choix selon le style qui vous plait le plus, certains des documents sont plus littéraires et d'autres plus techniques. Et rassurez vous, ils sont divisés en parties ce qui vous permettra de vous renseigner sur les points qui vous intéressent le plus).
  • Mes programmes Perl5 fonctionneront-ils sous Perl6 ?
    Probablement non, il y a trop de changements syntaxiques profonds pour ça (rien que les Sigils...) mais il y aura un traducteur de Perl5 à Perl6 qui devrait faire le plus gros du boulot, pourvu que vous n'ayez pas employé de constructions trop obscures... Un étudiant est actuellement en train de travailler dessus à l'occasion du SOC (il se base sur le travail de Larry Wall lui-même qui a récemment passé un certain temps à étendre le parser de Perl actuel pour pouvoir lui faire sortir à la demande un arbre comprenant des détails comme les espaces, qui sont important pour faire un traducteur comme celui-ci).
  • Où est-ce que je peux voir la bête en action ?
    Vu qu'il n'est pas fini, tu ne peux pas encore, néanmoins il existe un projet appelé Pugs qui est une implémentation d'une bonne partie de Perl6 en Haskell (donc c'est assez lent, mais c'est normal pour une démo).
  • J'ai entendu parler de Parrot, c'est quoi ?
    Parrot est une VM (une machine virtuelle, oui comme pour Java ou .NET), elle est spécifiquement destiné au support des langages dits dynamiques (Python, Ruby, Perl évidemment !) et sera la plateforme principale pour Perl6. Son développement n'est pas fini mais elle est déjà très intéressante.


--
Jedaï
0  0 
Avatar de Woufeil
Membre chevronné https://www.developpez.com
Le 03/06/2006 à 18:53
Ah ouais quand même, ça fait de sacrés améliorations ça...

Vu comme ça j'ai l'impression que Perl va être un peu dénaturé tout de même... Notemment pour le typage et les sigils.
Pour l'orientéisme objet, j'étais au courant, je pense qu'un peu plus d'encapsulation ne peut pas faire de mal.
Pour les sous progs, rien à dire, c'est pas plus mal comme ça. Il faut avouer qu'avant c'était un peu galère de faire certains trucs.

Question très importante pour moi, les données vont être typées, soit. Mais est ce qu'on pourra toujours faire des tableaux de scalaires ? Je veux dire par là un tableau dont le premier élément est un entier, le second une string, le troisième une référence à un tableau...
C'était pour moi l'un des plus grands avantages de Perl, ces structures de données totalement hétérogènes. Et c'est encore plus vrai pour les tables de hachages.

A part ça, bah ça sera juste des habiudes à erdre et d'autres à prendre quoi.

Merci de ta réponse Jedai, et je pense que ça serait effectivement une bonne idée que tu nous fasse une petite question dans la FAQ sur le sujet

A propos de la FAQ d'ailleurs, il va falloir tout recommencer en gros, je vois ça d'ici

€dit : oh, j'oubliais, le seul lien vraiment intéréssant que j'ai trouvé : la FAQ Perl 6 !
0  0 
Avatar de Jedai
Expert éminent https://www.developpez.com
Le 04/06/2006 à 0:27
Citation Envoyé par Woufeil

Question très importante pour moi, les données vont être typées, soit. Mais est ce qu'on pourra toujours faire des tableaux de scalaires ? Je veux dire par là un tableau dont le premier élément est un entier, le second une string, le troisième une référence à un tableau...
C'était pour moi l'un des plus grands avantages de Perl, ces structures de données totalement hétérogènes. Et c'est encore plus vrai pour les tables de hachages.
Perl6 va être typé ?! Mais comment vais je faire avec ma liste de <chaîne de caractères ou tableau ou nombre> ?

Pas de panique, Perl6 sera optionnellement typé, c'est-à-dire que si vous voulez typer vos variables, Perl6 utilisera ces indications de type pour optimiser stockage et code et effectuera les vérifications nécessaires (le plus possible à la compilation, sinon à l'exécution) pour assurer la cohérence du système de type. Mais si vous ne voulez pas typer vos variables, Perl fera de son mieux pour vous accomoder, et utilisera le type le plus général pour cette variable (avec peut-être un peu d'inférence de type). Vous pouvez donc tout à fait avoir votre tableau ou table de hachage hétérogène si vous le voulez !
(NB : Le système de type de Perl6 est très puissant et par exemple vous pouvez aussi spécifier qu'une variable est de type "Int|String" (soit "any(Int, String)" ) autrement dit soit un entier, soit une chaîne de caractère, ce qui prend tout son sens lorsque vous utilisez ceci dans une signature de fonction )

Par ailleurs ton lien est intéressant, mais bien sûr j'imagine que pas mal de gens auront du mal à comprendre ce que signifient certains items de la liste de nouveautés... N'hésitez pas à poser des questions et à consulter les documents que j'ai cité plus haut et qui rentrent dans le détail.

--
Jedaï
0  0 
Avatar de Woufeil
Membre chevronné https://www.developpez.com
Le 04/06/2006 à 0:40
Ah, encore une question (ouais, je sais, je pourrais faire un tir groupé, mais c'est tellement plus marrant comme ça ).

Comment ça va se passer pour tous les modules du CPAN ? Ils seront tous traduits en Perl 6 et mis en ligne sur le site officiel ?
Je demande ça car l'une des plus grandes forces de Perl c'est justement les multiples extensions qui existent, ça serait bête de perdre ça je trouve...
0  0 
Avatar de Jedai
Expert éminent https://www.developpez.com
Le 04/06/2006 à 0:53
Comment ça va se passer pour tous les modules du CPAN ? Ils seront tous traduits en Perl 6 et mis en ligne sur le site officiel ?

Tu auras une solution mixte : les plus gros modules, ceux sur lesquels se porte l'attention de la communauté seront traduits en Perl6 pour profiter de tous ses avantages (exemple DBI est en passe d'être réécrit en Perl6 à l'occasion du SoC) et de la rapidité de Parrot, mais pour ceux qui ne seront pas traduits, il sera toujours possible de les utiliser en les appelant en mode compatibilité Perl5 (tu auras une syntaxe du type "use p5 Mon::Module;", il faut regarder du côté de Pugs qui fait ça dès aujourd'hui je crois) dans tes applis Perl6. Evidemment à terme l'idée est que tous les modules se retrouveront en Perl6.

--
Jedaï
0  0 
Avatar de 2Eurocents
Membre expert https://www.developpez.com
Le 04/06/2006 à 15:22
Citation Envoyé par Jedai
  • Un système d'objet standard beaucoup plus proche des systèmes classiques (on passe d'ailleurs de la flèche au point pour l'invocation des méthodes), mais avec le support des "Traits", une approche récente pour éviter les problèmes du multihéritage tout en en gardant la puissance (ça a l'air très prometteur )
Ca, c'est le point qui m'inquiète un peu ... pourvu qu'on ne change rien d'important à l'équivalence "Objet" <==> "Table de Hachage".

Ce n'est surement pas une pratique propre, c'est impossible à modéliser avec les méthodes de conception classiques, mais j'aimais énormément "croiser" mes objets et donner, en "live" à certain des méthodes prises dans d'autres. Je trouvais que l'altération dynamique des méthodes, et pas seulement des attributs, était un aboutissement intéressant en POO.

Maintenant, c'est vrai que je n'ai jamais rien produit de critique en me basant la dessus, mais c'était une expérience de programmation intéressante.
0  0 
Avatar de Woufeil
Membre chevronné https://www.developpez.com
Le 04/06/2006 à 15:29
Citation Envoyé par 2Eurocents
Ca, c'est le point qui m'inquiète un peu ... pourvu qu'on ne change rien d'important à l'équivalence "Objet" <==> "Table de Hachage".
Sur ce point je pense que tu peux malheureusement commencer à faire ton deuil...
Je m'explique les données vont dans la v6 de Perl être fortement encaspulées. A moins qu'on ne créé une table de hachage particulière ou certaines clées ne sont pas accessibles et d'autre si (dur dur je trouve), ça ne sera plus des tables de hachage.

Moi ce que je trouvais marrant dans l'actuelle version des objets en Perl, c'était la génération des accesseurs en bouclant autour d'une fermeture. Très puissant je trouve, plus besoin de se casser le cul à faire 50 méthodes accesseurs.
0  0