Perl对OOP有哪些优缺点?

时间:2010-12-17 13:38:38

标签: perl oop

我想知道Perl对基于OOP的编程有多好。使用Perl进行OOP有哪些优点和缺点,如果有缺点,是否存在编写代码的反向编码方法?任何有关Perl现在使用的信息 - 以及Perl程序员未来的支付情况 - 都将受到赞赏。

3 个答案:

答案 0 :(得分:23)

OOP不是目的,而是达到目的的手段。你的问题是如此广泛,实际上毫无意义。

如果您编写Perl程序,使大型金融机构能够从其投资组合中获得额外的数十亿美元的利润,您将获得丰厚的报酬。

如果您编写Perl程序来解决其他程序员难以解决的问题,那么您将获得丰厚的报酬。

如果您编写Perl程序来处理简单网站的基于Web的联系表单,您也不会获得报酬。

如果你的程序很好地实现了封装,多态和组合,它们将更容易理解,扩展和修复。这将使你在更好,更快地完成任务方面具有优势,这将比那些把东西扔到墙上直到某些东西坚持下去的程序员一样有所收获。

Perl为您提供创建解决方案的自由。自由带来风险和责任。根据你的个性,这可能是好事还是坏事。

至于OOP:

  • Perl很简洁。
  • Perl不要求您将所有内容视为对象。
  • Perl不会强制您使用继承作为代码重用的主要机制。
  • Perl使用组合代码重用非常简单。
  • Perl的词法范围和闭包促进了封装。
  • Perl允许多重继承。
  • Perl允许操作员重载。
  • 使用Perl,您不仅限于使用别人十年前决定的“一个真正的设计原则”。
  • 我肯定会遗忘许多其他相关内容。

和以前一样,你把车放在马前。您应该首先彻底了解OOP而不参考任何特定的编程语言。

对于Web应用程序,Perl为您提供了许多替代方案。 Catalyst是一个非常好的框架。 Dancer可以轻松表达您的Web应用程序的功能。 Plack可以轻松部署它。

您可以决定使用这些框架的OOP技术的数量。

我最近fell in love结合了MooseDancer

注意:鉴于您刚开始学习,我建议(尽管有课堂作业)您不必过多担心语言比较。相反,打开各种语言。在这个时代,它就像等待几分钟的下载开始一样容易。当我第一次决定学习如何编程(略低于30年前)时,纸和笔是我编写程序的唯一方法,我不得不用纸模拟程序的输出。我知道,我知道,无论是两种方式都上山; - )

所以,试验。不要承诺。通过自我实验,您将了解语言的比较优势和劣势。尝试使用各种不同的技术编写相同的应用程序。让任务变得简单。

我在Perl编程的第一次尝试是still available online有疣和所有。我开始的原因很简单:我想做一些简单的事情,让我感到幸福。

尝试简单的事情,完成后会让满意。尝试使用尽可能多的语言来做同样的事情。给Erlang一个机会。

到大学毕业时,就业市场会有所不同。对大学的最好准备就是要有一个广泛的理解,这样你就不会陷入细枝末节,但能够完成别人会为你选择的作业。

答案 1 :(得分:13)

你问“将来Perl程序员的报酬有多好”。

这让我想起了一个去算命的人的故事:

盖伊:我的未来会带来什么? 算命先生:看着我的水晶球,我看到很多很多美元 盖伊:哦,我会赚很多钱!? 算命先生:不,你将成为一名perl程序员。

答案 2 :(得分:13)

Nate - 无论你是否学习Perl,就工作而言只是一个非常小的因素。

特定语言是您所需要的10-20% - 其余的是Web开发,数据库开发,网络编程,软件工程,数据结构,算法,模式和范例(例如OOP与功能与声明等。 ..),沟通,演讲技巧等......

那说:

  • Perl是一门优秀的语言,可以向您介绍几乎所有这些概念。正如在最近的线程中讨论的那样,它可以教你更多关于OOP而不是Java(因为Java只实现了OOP的一些方面),Java根本无法教你函数编程(你需要掌握JavaScript) 。

  • 只知道 Perl可能会让你的求职更加艰难。没有那么多的工作需要Perl和只有Perl(还有一些,只是没有那么多)。

    另一方面,有很多优秀的Perl开发人员比Java猴子少,所以如果你真的擅长Perl,你的工作与可用人才库的比例实际上可能比其他语言更好

  • 还有很多工作需要多种语言。所以你显然需要学习Perl和其他语言(对于就业来说,C#或Java似乎是好赌注。)

  • 重复上述内容 - MAIN(80%)因素表明,无论您是否选择了解Perl或任何其他语言,您可以轻松找到工作以及支付多少费用您了解我上面列出的其他事项以及您学习特定于工作的商业知识和新语言的能力。