Perl对OOP有哪些优缺点?

Nat*_*oob 7 oop perl

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

Sin*_*nür 23

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

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

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

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

如果您的程序很好地实现了封装,多态和组合,那么它们将更容易理解,扩展和修复.这将使你在更好,更快地完成工作方面具有优势,这将使你比那些把东西扔到墙上的程序员更有价值.

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

至于OOP:

  • Perl很简洁.
  • Perl不要求您将所有内容视为对象.
  • Perl不会强制您使用继承作为代码重用的主要机制.
  • Perl使用组合代码重用非常简单.
  • Perl的词法范围和闭包有助于封装.
  • Perl允许多重继承.
  • Perl允许运算符重载.
  • 使用Perl,您不仅限于使用其他人十年前决定的"真正的设计原则".
  • 我肯定会忘记许多其他相关的内容.

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

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

您可以决定在这些框架中使用多少OOP技术.

我最近爱上MooseDancer的组合.

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

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

我在Perl编程的第一次尝试仍然可以在网上找到疣和所有.我开始的原因很简单:我想做一些简单的事情,这会让我感到快乐.

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

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


Cur*_*urd 13

你问"未来Perl程序员的报酬有多好".

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

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


DVK*_*DVK 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或其他任何语言无关,而是因为你知道其他事情我上面列出的以及您学习特定于工作的业务知识和新语言的能力.