我一直在考虑学习 Perl。我应该学习 Perl5 还是从 Perl6 开始?
5 回答
Perl 5 如果您想要 CPAN,Perl 5 如果您想要可接受的运行时性能,Perl 5 如果您想要稳定性和完整的语言。Perl 6 如果你想玩世界上最漂亮的玩具。
当然,它们并不是互不相容的——我写 Perl 5 是为了报酬和我的大部分“严肃”开源工作,而 Perl 6 是为了好玩。但是我写 Perl 的时间已经够长了,以至于我对Perl 5 感到很舒服,可以在业余时间切换和编写 Perl 6。
但是对于刚起步的人来说,当然你只想专注于一种语言,并且对于大多数实际目的,该语言应该是 Perl 5。Perl 5不会在未来 10 年的任何时候消亡,无论 Perl 6 取得了多大的成功,即使 Perl 5 和 Perl 6 是完全不同的语言,你从 Perl 5 中学到的很多东西仍然会帮助你获得如果您将来选择学习 Perl 6,请从 Perl 6 开始。
这是Perl6 网页的引述(重点是我的):
Perl 5 和 Perl 6 是 Perl 家族中的两种语言,但属于不同的谱系。如果您正在寻找生产就绪代码,请使用 Perl 5。
Perl5 是成熟的。Perl6 正在开发中。
Perl5。
如果你愿意进行全新的开发,并且可以等待 N 年直到 Perl 6 真正出来,你可以学习 Perl 6。但实际上,Perl5。
编辑澄清:Rakudo Star,一个
Perl 6 的有用、可用、“早期采用者”发行版
最近引起了一些关注,但它不是完整的或最终的,并且还没有真正准备好在生产环境中部署。如果你在未来一三年内寻找一份新工作,它不太可能帮助你获得那份工作。也许最重要的是,如果一个企业对 Perl 6 感兴趣,那么它很可能也有一些 Perl 5 基础设施,并且在学习Perl 6 等明显较新的语言之前,您可以通过学习 Perl 5 及其局限性来更好地理解它.
如果您只是在寻找“乐趣”,您可能确实更喜欢 Perl 6...
Perl 6 没有发布日期。
推荐在学习 Perl 6 之前学习 Perl 5 有几个原因。
- 关于编写 Perl 5 程序的书比 Perl 6 程序的书要多。
- 用 Perl5 编程的信息比用 Perl 6 编程的信息多。
Perl 6 仍处于设计过程中。这意味着你现在学到的一些东西,以后可能不适用。- 有很多优质的 Perl 5 模块,而 Perl 6 模块的数量相对较少。
- CPAN
- Perl 6 的大多数模块目前只是 Perl 5 模块的重新实现。
- Perl 5 不会消失。
- Perl 5 语言的大多数当前版本都是在 Perl 6 规范工作开始后问世的。
- 可以说 Perl 6拯救了Perl 5。
推荐 Perl 6 而不是 Perl 5 也有几个原因。
- 它已经过重新设计,使不同的事物看起来不同,而相似的事物在更大程度上看起来相似。
- 并行性已被设计到语言中
- 许多可以说是相互冲突的范式已经以一种感觉好像它们只是整体的一部分的方式结合在一起。
- 更好的默认对象系统
(Perl 5 中的 Moose/Moo/etc 也很棒,并且已被复制到其他语言) - 特殊情况较少。
- 有更多的方式来表达您的想法,这使您可以选择一种更易于阅读的方式。
- 元运算符
- 普通运算符只是子程序,它允许您添加新的,并扩展现有的。
(不要将现有的运算符用于它们不是为它们设计的东西,添加新的)
Perl6 自2000年 7 月以来一直在开发中。你决定是否要等待它。
Perl5 仍然被推荐用于生产代码,并且有一个庞大的支持社区,但是,作为 Perl6 的证明,如果您遇到问题,它更有可能来自该语言的新添加,而不是 Perl5 中的那些东西。
Perl6 “发布”后,Larry Wall 和其他人创建了一个翻译器,如果这有助于您做出决定,它将把大部分(如果不是全部)Perl5 代码转换为 Perl6 语法。