Perl 6 - Définition et Explications

Introduction

Perl 6
Camelia.svg

Apparu en Spécification : 2001-2010, mise en œuvre partielle par Rakudo Star
Auteur Larry Wall
Développeurs The Perl Foundation
Paradigmes Objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans...), impératif, fonctionnel, dynamique (Le mot dynamique est souvent employé désigner ou qualifier ce qui est relatif au mouvement. Il...)
Typage Fort, dynamique
Influencé par Perl, Haskell, APL, Ruby (Ruby est un langage de programmation libre. Il est interprété, orienté objet, et...), Python, SmallTalk, Self
Implémentations Pugs, Parrot
Système d'exploitation Multi-plate-forme (Un logiciel multiplate-forme est un logiciel conçu pour fonctionner sur plusieurs plates-formes,...)
Site Web (Un site Web est un ensemble de pages Web hyperliées entre elles et mises en ligne à une...) http://dev.perl.org/perl6

Perl 6 est une refonte totale du langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain...) Perl.
Cette refonte garde l'esprit du langage qui laisse une grande liberté au programmeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise du logiciel en...) et lui permet une expression concise.
Perl 6 reste un langage générique et permet toujours de programmer des unilignes mais propose un bien meilleur support pour l'écriture de programmes importants.
Le langage de documentation, Pod, un langage de balisage léger a été amélioré et mieux intégré pour permettre la programmation lettrée (La programmation lettrée (ou programmation littéraire) est une approche de la programmation...). Une première version légère de Perl 6 appelée Rakudo Star a été livrée le 29 Juillet 2010. Le logo de Perl 6 est appelé Camelia. C'est un papillon, on peut lire P sur une aile et 6 sur l'autre.

Perl 6 n'a pas pour objectif premier d'être rétrocompatible avec Perl 5, même s'il est prévu un mode de compatibilité (Un mode de compatibilité est un mécanisme logiciel qui émule un processeur, système...) et la possibilité d'appeler les modules des paquetages existants de CPAN.

Le langage permet toujours d'écrire des programmes très concis, notamment avec le support d'hyperopérateurs similaires aux opérateurs de manipulation de tableaux dynamiques du langage APL. C'est un des aspects de la syntaxe concrète (La concrète est une pâte plus ou moins dure obtenue après extraction d’une...) qui permet de paralléliser l'exécution de portions de programmes.

Le langage est complexe mais il est toujours possible de programmer dans un sous-ensemble (En mathématiques, un ensemble A est un sous-ensemble ou une partie d’un ensemble B, ou...) restreint du langage. Il inclut beaucoup de fonctionnalités qui, pour d'autres langages, appartiennent généralement à des bibliothèques logicielles. Ainsi le système d'expressions rationnelles a été entièrement refondu et constitue aussi un moteur (Un moteur (du latin mōtor : « celui qui remue ») est un dispositif...) d'analyse syntaxique puissant et rapide grâce à un contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de...) très fin du retour sur trace (TRACE est un télescope spatial de la NASA conçu pour étudier la connexion entre le...).
Il est complètement (Le complètement ou complètement automatique, ou encore par anglicisme complétion ou...) intégré au système objet.
Le système objet, minimaliste en Perl 5, supporte maintenant le dispatch multiple, les rôles et la réflexion.
La programmation orientée prototype (La programmation orientée prototype est une forme de programmation orientée objet sans classe,...) et la programmation orientée objet (La programmation par objet (du terme anglo-saxon Object-Oriented Programming ou OOP), est un...) sont toutes deux possibles car le programmeur peut modifier le comportement par défaut des métaclasses et du mécanisme de dispatch vers les méthodes et multiméthodes. Les rôles sont un système de composition de code similaire aux mixin (Un mixin, aussi appelé sous-classe abstraite, est une classe abstraite. C'est un cas de...) mais de granularité inférieure à la classe.

Les concepteurs de Perl 6 ont apporté un soin tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou...) particulier à la syntaxe du langage qui avait été notablement alourdie en Perl 5 avec l'ajout du support des références. Les principes directeurs dans la conception du langage sont : le principe de Huffman, la lisibilité, l'extensibilité. Chaque aspect du langage est hautement paramétrable via des constructions lexicales ou syntaxiques appelés adverbes ou modificateurs. Certains opérateurs sont des caractères Unicode (Unicode est une norme informatique, développée par le Consortium Unicode, qui vise à...) mais souvent un alias plus verbeux en ASCII est disponible. L'interopérabilité (L’ interopérabilité est la capacité que possède un produit ou un...) avec les bibliothèques d'autres langages dynamiques de haut niveau est un but à terme grâce à la mise en œuvre de ces langages par le même moteur (Pugs ou Parrot).

Le typage explicite du contenu d'une variable (En mathématiques et en logique, une variable est représentée par un symbole. Elle...) est optionnel. Le typage des données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent...) est donc statique (Le mot statique peut désigner ou qualifier ce qui est relatif à l'absence de mouvement. Il peut...) lorsqu'il est explicite ou inferré, dynamique sinon.
Le programmeur dispose donc d'un continuum entre la programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent...) lâche typique des langages de script et la rectitude et les performances d'un langage à typage statique. Typiquement, un programme évoluera au cours du temps (Le temps est un concept développé par l'être humain pour appréhender le...) vers un typage plus "serré".

Perl 6 devrait être un langage rapide car, outre le typage statique, le support de la parallélisation, ses implantations supportent la compilation à la volée en code natif.

Page générée en 0.077 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique