为什么我应该使用Perl而不是Ruby / Python / etc?

时间:2011-01-19 20:21:00

标签: perl

我喜欢Ruby并且已经使用它几年来处理日常脚本任务。最近,我有很多人告诉我,Perl就在那里。我没有任何反对Perl的东西,但似乎它有点落后于时代。

然而,这可能只是我的看法,所以我问你们所有人,是什么让Perl如此出色?我真的在这里寻求信息;我想明白为什么这种语言有如此热心的追随者。

5 个答案:

答案 0 :(得分:23)

我知道有很多黑客让Perl去了Ruby。 Python显然也是一种很好的语言。我既不会说也不暗示任何一种情况。

Perl 5的优点

  • 自2005年左右以来,Perl在CPAN和核心版本中都取得了相当大的复兴。 Perl 6通过发送面向角色的OO等概念来帮助实现这一目标。 Strawberry Perl使Windows上的Perl黑客更像* nix。
  • CPAN是巨大的,仍在增长,而且大多数使用较广泛的作者/团队都对错误修正做出了响应。最流行的Perl模块经过广泛测试。 CPAN测试人员最近发送了他们的第1000万份测试报告。
  • 许多大型工具包都有良好的社区关联,可以快速获得专家帮助。
  • 工具链变得非常灵活。
    • perlbrewlocal::libcpanminus的组合可让用户(即使没有root用户)在同一个框中可以访问任意数量的perl版本和库。
  • Java,Ruby,Python做的许多事情都回归到Perl并且具备设施。例如-
  • 它与您希望的一样快速,个性化,可读性和健壮性。
    • 当您急于修复某些内容时,简短的单行内容可以编辑树中的每个HTML文件。
    • 一个清晰而强大的程序,包含基于6或7个合适的HTML / XML包中的任何一个的错误报告,日志记录和反馈,可以为客户端执行相同的操作。
  • Perlmonks。虽然有明显的例外,但Perl社区通常是友好,乐于助人和积极的。
  • 有很多好的Perl工作等待填补。高级语言之间的来回在野外留下了大量的Perl,没有匹配的以Perl为中心的开发者。 (我每年从招聘人员那里得到5-7个冷电话。)
  • 很有趣。在引号中:“Perl has the happiest users。”我不能说出其科学性质,但我可以说我今天只编程,因为Perl存在。许多其他Perl黑客都对这种语言分享了这种愚蠢的眩晕。

请记住,这不是零和游戏。您可以使用的语言越多越好。

答案 1 :(得分:14)

如果我必须说出一个强大的Perl,那就是一个词:CPAN。

与Ruby一起工作,我不是说Perl必然更好或更差,但肯定更成熟。毕竟,它更老了。然而,它不是破旧的。它有很多现代的东西,例如Moose和5.10和5.12更新解决了古老的5.0.x所带来的许多问题。

(如果你想知道:Perl 5和Perl 6是不同的语言。相似的名字是一个不幸的错误。虽然Perl 5确实借用了Perl 6的想法,反之亦然。)

答案 2 :(得分:5)

CPAN。

Perl的语法有时很难看,但是它可以在任何地方的Unix机器上使用,并且命令行可以访问CPAN中的大量软件包(也可以通过浏览器访问),Perl是事实上的因其广泛的适用性和可用性而成为标准。

答案 3 :(得分:2)

目前,IMO使用Perl的主要原因是,您可以非常自信几乎任何UNIX系统都可以使用它,即使是在稀疏的商业UNIX发行版上也是如此。

此外,它还具有一些功能,使其可以非常方便地使用UNIX shell和文件系统。当您需要更多功能时,Perl单行程序在shell脚本编写方便。

如果你不在UNIX机器上,那么与更现代的脚本语言相比可能没什么优势。

答案 4 :(得分:2)

首先,我也喜欢Python和Ruby。事实上,我认为你可以用3种语言中的任何一种做任何事情,你可以在另一种语言中轻松完成。

然而,CPAN是一个很大的优势。我发现自己没有多少时间寻找特定的一般功能而没有找到适合它的模块。 对我来说最重要的是,我可以快速地完成我想要的一切,如果我愿意的话可以用10种不同的方式,但也许这只是因为Perl是我的“母语”。

无论如何,我认为这取决于你想做什么。如果您想创建一个可扩展的网站或Web应用程序,其中包含所有管道(身份验证,授权,会话跟踪,数据库ORM等),可以在Perl中完成,但麻烦不值得。然后使用Python(Django)或Ruby(Rails 3.0 rock)。

祝你好运并注意这个主题的火焰战火焰,这种东西会让你受到伤害;)

罗布