学习Perl - 哪个版本?

时间:2010-07-29 21:48:22

标签: perl perl6 raku

我一直在考虑学习Perl。我应该学习Perl5还是从Perl6开始?

5 个答案:

答案 0 :(得分:18)

Perl 5如果你想要CPAN,Perl 5如果你想要可接受的运行时性能,Perl 5如果你想要稳定性和语言完成。 Perl 6,如果你想玩世界上最笨的玩具。

当然,它们不是互不兼容的 - 我写了Perl 5付费和大部分“严肃”的开源工作,而Perl 6则很有趣。但是我已经写了Perl足够长的时间了,我已经足够使用Perl 5来切换齿轮并在我的业余时间写Perl 6。

但是对于刚开始的人来说,当然你只想专注于一种语言,而且对于大多数实际用途,该语言应该是Perl 5。无论Perl 6有多少成功,Perl 5都会在未来10年内随时死亡,即使Perl 5和Perl 6是绝对不同的语言,你学到的还是很多东西如果您选择在将来学习它,Perl 5将帮助您开始使用Perl 6。

答案 1 :(得分:15)

以下是Perl6 webpage的引用(重点是我的):

  

Perl 5和Perl 6是两种语言   Perl家族,但不同   谱系。如果您正在寻找   生产就绪代码请使用Perl   5

Perl5已经成熟。 Perl6正在开发中。

答案 2 :(得分:13)

Perl5的。

如果您愿意进行全新的开发并且可以等待N年直到Perl 6实际上 out ,那么可以学习Perl 6.但是真的,Perl5

编辑澄清:Rakudo Star,

  

有用,可用,“早期采用者”分发Perl 6

最近引起了一些关注,但它并不是完整的或最终的,并且它还没有真正准备好在生产环境中进行部署。如果你在未来一三年内找到一份新工作,那么就不太可能帮助你完成这份工作。也许最重要的是,如果一个企业对Perl 6感兴趣,那么它也可能有一些Perl 5基础设施,并且在你学习之前先学习Perl 5及其限制,你会更好地理解它像Perl 6这样的一种更新的语言。

如果您只是寻找“有趣”,您可能确实更喜欢Perl 6 ......或者您可能更喜欢可用的Perl 5以及通过CPAN提供的各种预包装模块。

Perl 6没有发布日期。

答案 3 :(得分:5)

在学习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也很棒,并且已被复制到其他语言中)
  • 特殊情况较少。
  • 有更多方式来表达您的想法,这使您可以选择更容易阅读的想法。
  • 元运算符
  • 普通算子只是子程序,它允许你添加新的子程序,并扩展现有的程序 (不要将现有的运营商用于他们不适合的东西,添加新的运营商)

答案 4 :(得分:2)

  

自7月 2000 以来,Perl6一直处于开发阶段。你决定是否要等待它。

Perl5仍然建议用于生产代码,并且有一个庞大的支持社区,但作为Perl6的证明,如果遇到问题,它更可能来自语言的新增内容,而不是Perl5中的那些内容。

一旦Perl6被“发布”,Larry Wall和其他人已经创建了一个翻译器,它将大部分(如果不是全部)Perl5代码转换为Perl6语法,如果这有助于您做出决定。