学习Perl - 哪个版本?

Vit*_* Py 10 perl perl6 raku

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

hob*_*bbs 18

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开始.


too*_*lic 15

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

Perl 5和Perl 6是Perl系列中的两种语言,但具有不同的谱系.如果您正在寻找生产就绪代码,请使用Perl 5.

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

  • 值得强调的是,它们是不同的语言,而不是同一种语言的不同版本 (6认同)

小智 13

Perl5的.

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

编辑澄清:Rakudo Star,a

Perl 6的有用,可用,"早期采用者"分发

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

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

Perl 6没有发布日期.

  • Rakudo Star更像是一个技术演示而不是beta.在他们甚至宣布阿尔法之前,还有更多的事情要做.http://rakudo.org/announce/rakudo-star/2010.07 (5认同)

Bra*_*ert 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 6规范开始工作之后,大多数当前版本的Perl 5语言已经问世.
    • 可以说Perl 6 保存了 Perl 5.

在Perl 5上推荐Perl 6也有一些原因.

  • 它经过重新设计,使不同的东西看起来不同,类似的东西看起来更相似.
  • 并行性已被设计到该语言中
  • 许多可以说相互冲突的范式已经被合并在一起,感觉好像它们只是整体的一部分.
  • 更好的默认对象系统
    (Perl 5中的Moose/Moo/etc也很棒,并且已被复制到其他语言)
  • 特殊情况较少.
  • 有更多方式来表达您的想法,这使您可以选择更容易阅读的想法.
  • 元运算符
  • 普通运算符只是子程序,它允许您添加新的运算符,并扩展现有的运算符.
    (不要将现有的运算符用于它们不是为其设计的东西,添加新的运算符)