擅长:python、mysql、java
<p>[免责声明:我主要是Perl程序员,这可能会影响我的判断。然而,我不是一个特别的部落成员,我认为在这个问题上,我的论点是相当客观的。]</p>
<p>Perl被设计成可以无缝地融入Unix环境,这就是为什么它对以OO为主要背景的人(特别是Java的OOP学派)感觉如此陌生的原因。但是,由于这个原因,它被广泛地安装在具有任何类型Unixoid操作系统的机器上,并且许多供应商的系统实用程序都是在其中编写的。同样出于同样的原因,那些既没有安装Python也没有安装Ruby的服务器上仍然可能有Perl,这也使得熟悉Perl变得很重要。因此,如果您的CEH活动包括在Unix上的大量活动,那么无论如何,您都必须对Perl有一定的了解,并且您最好将精力放在它上面。</p>
<p>也就是说,这在很大程度上是一个偏好问题。语言之间没有太多的区别,它们的表达能力实际上是相同的。有些事情在其中一种语言中比较容易,有些在另一种语言中比较容易。</p>
<p>在库方面,我不知道Ruby和Python是如何比较的——我知道Perl让它们相形见绌。再者,有时(特别是当您正在寻找满足共同需求的库时),这样做的唯一效果是您被各种选择所淹没。如果您只想在Python或Ruby的库中很好地覆盖的某个特定领域做一些事情,那么CPAN上大量的<em>其他</em>东西并不一定是一个优势。然而,在利基领域,它很重要,你永远不知道你最终会有什么不可预见的需求(根据定义,是错误的)。</p>
<p>对于命令行上的一行程序,Python是一种非启动程序。</p>
<p>在交互式解释器环境方面,Perl…嗯…好吧,您可以使用调试器,这不是很好,或者您可以从CPAN安装一个调试器,但是Perl本身并不是很好。</p>
<p>因此,我认为Perl对于您的特殊需求确实有一个很小的优势,但仅仅是。如果你选择鲁比,你可能不会更糟。Python可能会给您带来更明显的不便,但它也不是一个糟糕的选择。</p>