Raku (langage)

Raku
Logo.

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
SelfVoir et modifier les données sur Wikidata
A influencé Perl, Haskell
Implémentations Pugs, Rakudo (initialement via Parrot, actuellement avec MoarVM et JVM)
Écrit en RakuVoir et modifier les données sur Wikidata
Système d'exploitation Multi-plate-forme
Licence Artistic License 2.0[3]Voir et modifier les données sur Wikidata
Site web https://raku.org/
Extension de fichier raku, rakumod, rakudoc, rakutest et tVoir et modifier les données sur Wikidata

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].

Larry Wall et Camelia le logo de Perl6 lors du FOSDEM 2015

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).

  1. « Christmas is here. », sur Perl 6 Advent Calendar, (consulté le )
  2. « https://github.com/perl6/roast/blob/master/docs/announce/6.d.md#changelog » (consulté le )
  3. « https://github.com/rakudo/rakudo/blob/master/LICENSE », (consulté le )
  4. (en) Pourquoi Raku?
  5. suite de tests officielle, sur github
  6. Apocalypse 1
  7. (en) « A VM for NQP And Rakudo Perl 6 »
  8. « Announce: Rakudo Star Release 2015.11 », (consulté le )
  9. (en) annonce de Larry Wall sur Twitter, «Perl 6 goes live at 2015-12-25 22:00 GMT, a test suite and compiler, as promised. God bless us, everyone!»
  10. annonce de la version Christmas, décembre 2015 sur github
  11. « camelia », sur dépôt svn de pugs, (consulté le )

Developed by StudentB