Raku | ||
Date de première version | Spécification : 2001-présent, mise en œuvre par Rakudo Star, première version stable annoncée le 25 décembre 2015[1] | |
---|---|---|
Paradigmes | Objet, impératif, fonctionnel, dynamique | |
Auteur | Larry Wall | |
Développeurs | The Perl Foundation | |
Dernière version | Rakudo Star 6.d Diwali/ | |
Typage | Fort, dynamique et/ou statique, graduel | |
Influencé par | Haskell Perl Common Lisp Ada META II (en) APL Ruby Python Smalltalk Self |
|
A influencé | Perl, Haskell | |
Implémentations | Pugs, Rakudo (initialement via Parrot, actuellement avec MoarVM et JVM) | |
Écrit en | Raku | |
Système d'exploitation | Multi-plate-forme | |
Licence | Artistic License 2.0[3] | |
Site web | https://raku.org/ | |
Extension de fichier | raku, rakumod, rakudoc, rakutest et t | |
modifier |
Raku (anciennement Perl 6) est un langage de programmation qui fut un temps considéré comme la sixième version majeure de Perl. Il s'agissait alors d'une refonte profonde du langage, aussi bien dans sa conception que dans son implémentation, rompant avec l'exigence de rétrocompatibilité qui avait primé pour les versions majeures précédentes, bien qu'un mode de compatibilité avec les versions antérieures soit prévu dans les spécifications.
Le nom Raku[4] a été choisi comme « nom de scène » par Larry Wall en réponses aux protestations émanant des partisans de Perl 5, qui souhaitaient que le projet abandonne l'appellation Perl afin de ne pas donner l'impression que Perl 5 était destiné à être remplacé.
Si Raku n'est donc plus considéré comme une nouvelle version de Perl, il garde tout de même l'esprit du langage qui laisse une grande liberté au programmeur et lui permet une expression concise. Raku reste un langage générique et permet toujours de programmer des unilignes, mais il facilite aussi l'écriture de programmes importants, grâce à des fonctionnalités telles que le typage statique des données et un meilleur support de la programmation orientée objet.
Contrairement à Perl, Raku n'est pas défini par une implémentation de référence, mais par des spécifications en langage naturel, ainsi que par un ensemble de codes test[5], dont la rédaction a commencé en avril 2001[6]. Ces spécifications sont publiques et par conséquent tout développeur est libre de créer son implémentation. Raku ne dispose donc pas d'une implémentation unique. Historiquement, au moins trois projets ont tenté d'implémenter le langage ou un sous-ensemble de celui-ci. En 2018, seul Rakudo fait l'objet d'un développement actif.
La Fondation Perl détient le copyright sur l'implémentation Rakudo, qui cible les machines virtuelles JVM et MoarVM[7]. MoarVM est une machine virtuelle spécifiquement écrite pour Rakudo. Rakudo est lui-même en grande partie écrit en Raku.
Le 28 novembre 2015, les équipes de développement de Raku / Rakudo ont annoncé que la distribution 2015.11 de novembre 2015 constituait une version bêta utilisable et stable de Raku[8].
Pendant plusieurs années une remarque humoristique perdurait concernant la sortie de Raku au sein de la communauté Perl. À la question « Quand le langage Perl 6 sera-t-il disponible ? » (le nom « Perl 6 » était de vigueur avant le nommage), la réponse habituelle était « à Noël », mais sans préciser l'année. En 2015, c'est-à-dire après quinze ans d'attente, la version dite « de Noël » est finalement annoncée[9],[10].
Le logo de Raku est appelé Camelia[11]. C'est un papillon, sur les ailes duquel on peut lire la lettre P et le chiffre 6 (le logo date d'avant le renommage en Raku).