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

Nat*_*teD 18 perl

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

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

Ash*_*ley 23

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

Perl 5的优点

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

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

  • 虽然我喜欢Perl,但这些都是次要考虑因素.当它执行你需要的东西时使用Perl,而不是当它执行别人需要的东西时.如果Ruby正在为您做,请不要切换. (4认同)
  • 最后一段+1:我没有开始使用Perl编程(我从Basic和C开始),但是Perl是第一种能够真正完成有用的非平凡任务的语言.这对于让我对作为职业的编程感兴趣而不仅仅是搞乱是至关重要的. (4认同)
  • +1所有优点,特别是最后一段.我建议为"优质CPAN代码的广度"添加额外的子弹 - 您更明确地解决了稳定性,但没有为任何给定的特定问题找到解决方案的机会. (2认同)
  • +1提醒我为什么Perl不断拉回来!不知何故,我无法用Perl做任何事情. (2认同)

der*_*ert 14

如果我不得不说出一个强大的Perl,那就是一个词:CPAN.

在使用Ruby的同时,我也不是说Perl必然更好或更差,但绝对更成熟.毕竟,它更老了.然而,它不是破旧的.它有很多现代的东西,例如,Moose和5.10和5.12更新修复了古老的5.0.x所带来的许多问题.

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

  • @Nate CK:CPAN不仅仅是一个庞大的库库,它是一个中央存储库,还有一个用于处理依赖项的工具链. (5认同)
  • @Nate:不是真的,如果你考虑标准库,那么是的,python占了上风,但是当谈到CPAN(即在标准版本之外安装额外的模块)时,我真的相信可能没什么竞争对可用的资源量,以任何解释语言...... (5认同)
  • @DVK感谢提示.我看了一下博客条目(http://www.modernperlbooks.com/mt/2010/12/counting-modules.html),惊呆了发现cpan.org(我得到了Perl模块的数量,而不是CPAN)仅列出了cpan提供的所有Perl模块的大约20%.如果我使用过search.cpan.org,我会得到一个更接近89332的数字.哇. (4认同)
  • @Spaceghost - 这些数字是不正确的 - 请参阅chromatic的"Modern Perl"博客中最近的博客文章,解析CPAN包裹数量以及正确进行此类比较的难度. (3认同)
  • @Nate CK:不确定,因为我还没有真正使用过Python.但即便如此,CPAN仍然是一个很大的优势(它可能不是唯一的). (2认同)

Spa*_*ost 5

CPAN.

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

  • 如果有人向您展示了Perl代码,那么请查看信使.人们不会因为制作精美的艺术品而责怪油漆. (7认同)
  • 这不是语法.它更多地是关于Perl的设计原则之一:有多种方法可以做到这一点!它使语言更美,但文学方式.有时你会看到一段平凡而又漂亮的代码,这些代码可以用更容易阅读的方式编写,但随后却不那么漂亮. (2认同)