Perl 6 现状

  • 谢丽

2014 年 11 月 4 日

话题:语言 & 开发架构

Perl 6是一种语言规范,Rakudo 是它的一种实现,Rakudo Star 是 Rakudo 的一个发行版本,非常像是 Perl 6 的 Alpha 测试版。

Rakudo Star 能够完成 Perl 5 所能完成的大部分任务,但缺少如下特性:

  • Perl 5 的一些 Unicode 特性
  • 非阻塞 IO
  • Perl 格式

还有一些特性是 Perl 5 没有 Perl 6 计划增加但尚未完全完成的,如:

  • 高级宏
  • 线程和并发
  • 用于大型数值型数据集的数据类型

但它已经按照承诺提供了如下特性:

目前,有关 Perl 6 的大部分工作主要集中在 Bug 修复、性能和稳定性上,而不是增加新特性。

虽然按照预想 Perl 6 是 Perl 的下一个大版本,但社区现在将 Perl 5 和 Perl 6 看成单独的项目,它们有各自的团队和项目目标。与 Perl 5 相比,Perl 6 是一门完全不同的语言。它与 Perl 5 不兼容,也不会代替 Perl 5。后者会继续开发和改进,用它编写的CPAN模块还在稳定地增长。虽然有人认为 Perl 6 会杀死 Perl 5,但实际上,Perl 6 促进了 Perl 5 的发展,perl-5.10.x、perl-5.12.x 的核心特性以及诸如MooseautoboxMethod-Signatures等 CPAN 分发包均受到它的影响。

说到 CPAN,它是 Perl 的一大优势,但 Perl 6 尚没有一个丰富的 CPAN 基础设施。不过,它也有一些模块:

另外,在代码比较网站 Rosetta Code 上,有 700 多个 Perl 6 的示例。感兴趣的读者可以参考Perl 6 官方文档对它们进行研究学习,并可以从这里了解 Perl 6 每周的最新进展。

Rakudo Star 安装文件下载请点击这里。希望了解 Rakudo 编译器内部结构的开发人员也可以每月从这里下载最新的源码包自行构建。需要注意的是,这些包中并不包含 Rakudo Star 中包含的文档或模块。


感谢郭蕾对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

语言 & 开发架构