De Perl 5 à Perl 6 - Partie 2 : les nouveautés
Un tutoriel de Moritz Lenz et Laurent Rosenfeld
Le 2014-10-25 13:32:53, par Lolo78, Rédacteur/Modérateur
Bonjour,
j'ai mis en ligne ces jours-ci la première partie d'un nouveau tutoriel sur Perl 6, axé sur les différences entre Perl 5 et Perl 6, afin de faciliter la transition vers Perl 6 des lecteurs connaissant déjà Perl 5:
De Perl 5 à Perl 6 - Partie 1: les bases du langage.
Bonne lecture à tous.
EDIT :
Les nouveautés ajoutés dans la mise à jour du 24/12/2015 :
j'ai mis en ligne ces jours-ci la première partie d'un nouveau tutoriel sur Perl 6, axé sur les différences entre Perl 5 et Perl 6, afin de faciliter la transition vers Perl 6 des lecteurs connaissant déjà Perl 5:
De Perl 5 à Perl 6 - Partie 1: les bases du langage.
Bonne lecture à tous.
EDIT :
Les nouveautés ajoutés dans la mise à jour du 24/12/2015 :
- les regex et surtout les grammaires de Perl 6 (§ 7), en particulier la possibilité d'ajouter dynamiquement des nouveaux éléments syntaxiques à la grammaire Perl 6 existante, rendant le langage intrinsèquement malléable et évolutif ;
- un nouveau système de programmation orientée objet (§ 6) particulièrement flexible, puissant et expressif ;
- les fonctions multiples (§ 5) et la capacité de créer dynamiquement de nouveaux opérateurs ou de surcharger des opérateurs existants ;
- un modèle de programmation fonctionnelle (§ 4) très enrichi avec en particulier le support aux listes paresseuses ;
- un modèle de programmation parallèle et concurrente (§ 8) de haut niveau, fiable, facile à utiliser et extrêmement prometteur.
-
Lolo78Rédacteur/ModérateurBonjour,
j'ai mis en ligne ce matin la quatrième partie de mon tutoriel De Perl 5 à Perl 6: Perl 5 à Perl 6 - Annexe1 : Ce qui change entre Perl 5 et Perl 6.
J'ai également modifié la première partie de ce tutoriel pour refléter le fait qu'il est désormais plus recommandé d'utiliser la version de Rakudo Star employant la machine virtuelle MoarVM (plutôt que Parrot), ajouté quelques liens vers cette annexe 1 et mis à jour deux ou trois autres petits points ayant évolué depuis la rédaction initiale de cette première partie.
Bonne lecture à tous.le 03/10/2015 à 13:04 -
Lolo78Rédacteur/ModérateurBonjour,
je viens de mettre en ligne la cinquième et dernière partie de mon tutoriel: De Perl 5 à Perl 6 - Annexe 2 : Les nouveautés du langage: http://laurent-rosenfeld.developpez....rl6/annexe-02/
Parmi les nouveautés particulièrement dignes d'intérêt, on peut citer:- les regex et surtout les grammaires de Perl 6 (§ 7), en particulier la possibilité d'ajouter dynamiquement des nouveaux éléments syntaxiques à la grammaire Perl 6 existante, rendant le langage intrinsèquement malléable et évolutif ;
- un nouveau système de programmation orientée objet (§ 6) particulièrement flexible, puissant et expressif ;
- les fonctions multiples (§ 5) et la capacité de créer dynamiquement de nouveaux opérateurs ou de surcharger des opérateurs existants ;
- un modèle de programmation fonctionnelle (§ 4) très enrichi avec en particulier le support aux listes paresseuses ;
- un modèle de programmation parallèle et concurrente (§ 8) de haut niveau, fiable, facile à utiliser et extrêmement prometteur.
Bonne lecture à tous et passez de joyeuses fêtes.le 24/12/2015 à 14:20 -
Lolo78Rédacteur/ModérateurBonjour,
j'ai mis en ligne ces jours-ci la deuxième partie d'un nouveau tutoriel sur Perl 6, axé sur les différences entre Perl 5 et Perl 6, afin de faciliter la transition vers Perl 6 des lecteurs connaissant déjà Perl 5:
De Perl 5 à Perl 6 - Partie 2: les nouveautés
Bonne lecture à tous.le 04/01/2015 à 13:42 -
djibrilResponsable Perl et OutilsUne bonne façon de se lancer dans le monde de Perl 6 en douceur.le 27/10/2014 à 8:58
-
Lolo78Rédacteur/ModérateurFranchement, je te conseille Perl 5, robut et fiable depuis longtemps, très bien documenté, très bien testé et disponible sur des dizaines d'environnements ou de systèmes différents. De plus, la bibliothèque de modules additionnels (le CPAN) est immense, sans doute la plus grande du monde, tous langages confondus.
En face de cela, Perl 6 est encore en cours de développement, il n'y a pas encore de compilateur complet, bref le langage et son écosystèmes sont encore très immatures, et il n'y a encore que très peu de documentation.
J'aurai peut-être un avis différent dans un an ou deux, mais pour l'instant, Perl 5 est la bonne solution.le 30/10/2014 à 19:08 -
Lolo78Rédacteur/ModérateurBonjour Grondilu,
je te remercie vivement de tes messages qui m'ont permis d'améliorer ce tutoriel PERL.
J'ai modifié l'article en conséquence et t'ai ajouté dans la liste de mes remerciements.
Bien cordialement,
Laurent.le 01/02/2015 à 17:44 -
6ril23Membre avertiJ'ai juste regardé le début mais ça m'a l'air comme d'habitude d'un super boulot.
Je vais m'y pencher plus sérieusement car il y a l'air d'y avoir pas mal de changementsle 27/10/2014 à 13:43 -
Lolo78Rédacteur/ModérateurBonsoir grondilu,
merci de ton message et de tes encouragements.
J'aborde la syntaxe que tu préconises dans le premier chapitre de la seconde partie du tutoriel, consacré aux jonctions.
Au moment où je décris la syntaxe possible que je propose et que tu cites, je n'ai pas encore abordé les jonctions et je cherche juste à donner un exemple de simplification syntaxique par rapport à Perl 5 et à tous les autres langages que je connais.
A ma connaissance, la syntaxe que je propose fonctionne parfaitement:
Code : 1
2
3
4
5
6
7> my $nombre = 10; 10 > print "Vrai\n" if $nombre == 9 or 10; Vrai > say "Vrai" if $nombre == 10 or 9; Vrai
le 29/01/2015 à 0:49 -
grondiluFutur Membre du ClubLa syntaxe est correcte en effet mais elle ne correspond pas du tout à la sémantique suggérée.
Considère ceci:
Code : 1
2> say "Vrai" if pi == 1 or 2; Vrai
Code : > say "Vrai" if ( (pi == 1) or (2) );
le 29/01/2015 à 8:18 -
Lolo78Rédacteur/ModérateurBonjour,
tu as raison, il y a effectivement une erreur de précédence. Il faut ajouter des parenthèses pour que la sémantique soit correcte.Code : 1
2
3
4
5
6
7
8
9
10
11> my $nombre = 10; 10 > say "vrai" if $nombre == (10 or 9) vrai > say "vrai" if $nombre == (11 or 9) Nil > say "vrai" if $nombre == (11 || 9) Nil > say "vrai" if $nombre == (10 || 9) vrai
Cordialement,
Laurent.le 29/01/2015 à 19:55