学习Raku(之前称为Perl 6)是否值得?

28

我有机会参加一个为期两天的Perl 6课程,使用的编译器是Rakudo。

我不想引发宗教战争,但这值得花时间吗?有没有理由相信在未来两年内Perl 6将在实际应用中变得实用?现在有人有效地使用它吗?

更新

我参加了这个课程并学到了很多。然而,在第一天结束后,我的头脑有些混乱。Perl 6中有大量的很酷的想法,看到哪些想法能够传递到其他语言中将是有趣的。

总体来说,这是我时间上的积极利用,尽管我在第二天无法吸收那么多。如果是一个三天的课程,那就会是无效的,因为你可以在短时间内处理的信息是有限的。


9
Perl(任何版本)现在比以往任何时候都不受欢迎,您认为它将在2年内更受欢迎的原因是什么? - user177800
13
如果两年内没有变得更加流行,那么学习任何东西都没有意义吗? - David Thornley
14
我正在学习Perl 6,以便能够编写《Duke Nukem Forever》的修改程序! - Martin
6
如果你无法为此提供商业理由(除了为了学习和个人成长之外),那就不要做。或者……你可以自己去做,或者在能够更好地证明其商业价值时再去做。听起来你很想做这件事,但需要一个有说服力的与商业相关的论据,在目前可能并不存在。 - FrustratedWithFormsDesigner
30
“模糊棒棒糖”使用的“比以往任何时候都不流行”的说法可以用于任何编程语言。随着Clojure和Scala变得流行,“Java比以往任何时候都不流行”。随着F#的流行,“C#比以往任何时候都不流行”。随着Ruby的流行,“PHP比以往任何时候都不流行”。当然,这并不是要将Perl与Java、C#或PHP进行比较......但你看到我想说什么了吗?这个说法完全无关紧要——Perl有成千上万的活跃模块作者,还有更多的活跃用户!而且,Perl 6现在比以往任何时候都更受欢迎。 - jrockway
显示剩余7条评论
5个回答

34
如果我有这样的培训机会,我会接受。即使是在COBOL方面。
我认为培训机会不仅是学习最新技术的机会,更是学习新思想、概念、平台和语言(只是了解其他实现方式)以及结识新朋友的机会。
我认为任何培训都可能值得我花时间参加,特别是如果费用可以被覆盖的话。在培训班上,你通常会学习(或重新学习)适用于你选择的编程语言的内容。 注意:也许值得指出的是,我对软件开发和编程语言持非常学术化的态度。

2
总的来说,我同意你的观点。然而,如果他的雇主要为这门课程付费,他可能会冒着成为公司新的“Perl 6”专家的风险。 - Justin Ethier
3
我非常赞同你表达的哲学观点,并且我也倾向于从学术的角度来看待编程。几周后,我会回帖告诉大家这是否值得。 - Andres
6
正如我在回答中提到的,Perl 6包含了大量新概念和现代脚本语言中从未出现过的旧概念。即使在网上阅读有关该语言的内容也会让人大开眼界。 - rjh

30

这个问题已经得到了回答,但我也想说:

Rakudo Perl 6目前是Perl 6的事实标准实现。它具有最多的功能、最大的社区和令人印象深刻的开发速度。首个“1.0”版本Rakudo Star计划于2010年4月发布。

Perl 6还可以在Parrot上运行,它是一个虚拟机,已经能够运行另外几十种语言,包括Python。多种语言互相交互和调用各自的模块/API的范围非常广泛。

即使您不打算使用Perl 6,由于该语言的范围非常广泛,并包含许多新的或借用但尚未成为主流的范例,因此它将对其他脚本语言产生不可否认的巨大影响。仅出于这个原因,就值得熟悉它。


当然,这已经过时了;Rakudo现在正在考虑在其他VM上运行,例如.NET CLR。 - rjh
更加过时的是,因为Perl 6已经更名为'Raku',并且在所有意图和目的上等同于Rakudo Perl 6! - rjh

7

学习Perl会有什么坏处吗?除了时间和金钱成本外(这些显而易见),还有什么需要权衡的成本,阻止你学习它吗?在我看来,学习任何东西都是好事。 ;)


3
好的,还有你本可以用这两天做其他事情的成本 - 以及你需要额外花费的时间来使用Perl6以便学习能够保持下去。这是一个相当重要的成本! - Brooks Moses
3
@Brooks:你说的有道理,但是除了“语言”之外,培训课程还可以获得更多的收益。这些其他方面也值得考虑。 - Frank V
两天时间对我来说是一个相当大的时间段。我甚至可以在24小时内学会WPF(http://www.amazon.com/Sams-Teach-Yourself-WPF-Hours/dp/0672329859),这样做是否更好呢? - Andres
2
要真正地学习它,我觉得24小时不够,特别是如果只是读书。有熟练的教练,两天可能会更好,但仍然只是一个开始。 - FrustratedWithFormsDesigner
是的,那些“24小时自学X”系列的书籍声誉很好。任何认为读了其中一本书就能够掌握一门工具的人,肯定从未花时间真正精通过某个领域。否则,他们会意识到熟悉、熟练和深入知识之间的差异。24小时永远无法提供对一个非平凡主题的更多了解,只能带来熟悉感。 - daotoad

6
如果你想使用Perl的任何版本,那么Perl 5是一个好选择。我认为除了实验之外,没有人在使用它。然而,Perl 6及其Parrot虚拟机作为动态语言的“第四种”平台具有很大潜力,介于“在自己的虚拟机中运行”、“在JVM上运行”和“在.NET CLR上运行”的当前选择之间。
许多对Perl 5的清理工作正在进行,以使Perl 6不再像文化冲击,因此如果学习Perl是目标,那么这不会伤害到你。

2
大部分Perl5的清理工作是因为Perl5程序员迫切希望使用Perl6的新功能。 - Brad Gilbert

3

个人而言,我认为学习Perl 6仅仅因为其增加了指定语法和解析任务规则的能力就值得了。这是一个伟大的、有用的功能,其他主要的通用编程语言今天都没有。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接