Raku(旧称:
Perl 6)は、著名なプログラマーであるラリー・ウォール氏によって設計された
オブジェクト指向スクリプト言語です。その起源は
2000年に遡り、
Perlの次期メジャーバージョンとして開発が開始されました。
2015年12月25日には、
Perl 6として正式な安定版がリリースされましたが、従来の
Perlとの互換性はなく、既存の
Perlソフトウェアを
Perl 6に「アップグレード」することは非常に困難です。
そのため、現在では
Perl 5と
Perl 6(Raku)は完全に別の言語として扱われており、
Perl 6は
Perl 5の後継バージョンとはみなされていません。つまり、
Perl 6への移行は
Perl 5からの単なるバージョンアップではなく、全く新しい言語への移行と捉えるべきです。その後、2019年10月にはRakuへと改名されました。
Rakuの大きな特徴として、言語仕様と処理系が分離して管理されている点が挙げられます。これは、言語仕様の設計と、処理系の
実装が一体となって進められていた従来の
Perl(バージョン5まで)や、他の多くの
スクリプト言語とは異なるアプローチです。Rakuでは、言語仕様のみを定義し、その具体的な処理系は別のプロジェクトとして開発・管理されています。
2015年12月25日に公式の言語仕様の正式安定版が公開され、公式の処理系としてはRakudoが存在し、
2010年8月に最初の「使用可能な」バージョンがリリースされました。過去には
Haskellで書かれたPugsという
実装もありましたが、現在は開発が活発ではなく、歴史的な
実装とされています。
また、Rakuは静的な型付けも可能になった点が
Perl 5からの大きな変更点です。
Perl 5が動的型付け言語であったのに対し、Rakuでは静的な型指定が可能になり、より厳密な型チェックを行うことができます。もちろん、動的な型付けも引き続き可能です。さらに、Rakuでは仮引数の定義もより柔軟に行えるようになっています。
Perl 5でも仮引数は利用できましたが、Rakuではより強力かつ使いやすくなりました。また、
Javaなどではリフレクションが必要となるような仮引数の情報取得も、Rakuでは特別な仕組みなしで実現できるようになっています。
Rakuは、
Perl 5と比較して、さらに柔軟で強力な記述を可能にしています。配列要素ごとの演算や、Lispなどに代表されるポーランド記法も利用できるなど、
Perl 5の機能をさらに拡張したような言語仕様となっています。これらの機能によって、より簡潔で表現豊かなコードを書くことができます。Rakuは、
Perlの進化形というよりも、新たなプログラミングのパラダイムを提案する言語と言えるでしょう。
Hello world
または
または
出典
関連項目
Parrot
外部リンク
ウェブサイト'>公式
ウェブサイト
Perl 6 Documentation'>Official Perl 6 Documentation
Perl 6 and
Parrot links'>
Perl 6 and
Parrot links
p6weekly
pl6anet.org
*
Rakudo.org