我一直在考虑学习Perl。我应该学Perl5还是从Perl6开始?
如果你需要CPAN、可接受的运行性能以及完整稳定的语言,那么Perl 5是一个不错的选择。如果你想要玩世界上最酷的玩具,那么可以选择Perl 6。
当然,它们并不相互排斥 - 我用Perl 5来写代码并从中获得报酬,也用Perl 5来进行大部分“严肃”的开源工作,并用Perl 6来娱乐。但我已经写了足够长时间的Perl了,以至于我已经对Perl 5非常熟悉,可以在业余时间切换到Perl 6来写代码。
但对于初学者而言,当然你想要专注于一门语言,而这门语言应该是Perl 5,因为它可以满足大多数实际需求。Perl 5不会在未来10年内消失,无论Perl 6取得多大的成功,尽管Perl 5和Perl 6是明显不同的语言,但你从Perl 5所学的很多东西仍然会帮助你开始学习Perl 6(如果你将来选择学习的话)。
以下是来自Perl6网页的引用(重点是我的):
Perl 5和Perl 6是Perl家族中的两种不同谱系的语言。如果你正在寻找生产就绪的代码,请使用Perl 5。
Perl 5已经成熟稳定,而Perl 6仍在开发中。
Perl5。
如果你愿意进行全新的开发,并且可以等待N年,直到Perl 6实际上发布,那么你可以学习Perl 6。但是,真正的选择是Perl5。
编辑以澄清:Rakudo Star是Perl 6的一个有用、可用的“早期采用者”分发版,最近引起了一些关注,但它并不完整或最终版本,也不适合在生产环境中使用。如果你在未来一到三年内正在寻找新工作,它不太可能帮助你获得这份工作。也许最重要的是,如果企业对Perl 6感兴趣,很可能它也有一些Perl 5基础设施,因此在学习Perl 6之前,最好先学习Perl 5及其限制,以更好地理解它。
如果你只是想寻找“乐趣”,你可能确实更喜欢Perl 6……或者你可能更喜欢Perl 5,因为它有更广泛的预打包模块可通过CPAN获得。
目前还没有Perl 6的发布日期。
推荐在学习Perl 6之前先学习Perl 5有几个原因。
Perl6自2000年7月开始开发。您可以决定是否要等待它。
对于生产代码,仍建议使用Perl5,因为它拥有庞大的支持社区。尽管作为对Perl6的证明,如果您遇到问题,更可能是由于语言的新添加而不是Perl5中已有的内容。
一旦Perl6“发布”,Larry Wall和其他人创建了一个转换器,可将大多数(如果不是全部)Perl5代码转换为Perl6语法,如果这有助于您的决策。