跳转到内容

Moose 编程/前言

来自维基教科书,开放世界中的开放书籍

一本书的首要目标应该是说服读者在头五分钟内值得阅读。读完这篇前言不应该花你五分钟。

我应该读这个吗?

[编辑 | 编辑源代码]

这本书是免费的,而且是免费的,我可以随意告诉人们如何节省时间:如果以下情况适用于你,请不要浪费时间,离开吧

  • 你不使用 OOP 范式,而且你不关心你错过了什么。
  • 你不会考虑让你的 perl 程序依赖于 CORE 发行版中不存在的模块。
  • 你认为所有看起来像 perl 外部的语法都很糟糕。[1]
  • 你是那种在完成之前进行基准测试的程序员,或者你不会妥协执行速度。
  • 你不喜欢彻底的改变。

告诉我你在用什么

[编辑 | 编辑源代码]

让我从问题开始:perl5 很老,而且很陈旧。

Perl5 的 OOP 范式迫切需要一个整容。它不仅缺乏其他编程语言的功能,而且它所拥有的功能也不好。Moose 会刮掉这些陈旧的东西,并将这些不足抽象化。所有 hail the shiny newer Moose-powered perl。

Moose 是一个笨拙的宝石,告诉你它是什么,更像是一种枯燥的学究式练习——我们将在稍后讨论。Moose 做了很多事情,它有雄心勃勃的目标,但除了它想完成的事情之外,你会发现它提供了以下内容

  1. 它将消除对各种模块的需求,这些模块有助于弥补上述老旧问题。
  2. 它将使编程更有趣,更不乏味。为了进一步帮助炒作催化剂,它将使有趣更有趣,使乏味更有趣,使乏味的存在更少,而且...或者其他什么...
  3. 它将提供一个通用的框架,你可以用它快速构建原型,并将现实世界的问题融合在一起。
  4. 它将让你在现实世界中练习另一个新兴的范式:AOP

准备好放弃你所有的旧的 perl-OOP 惯例。Moose 与它们不兼容:它单枪匹马地取代了它们!不再需要Class::Accessor,也不再需要在你的应用程序中使用ref()编写手动检查。使用 Conway 的诅咒NEXT的日子一去不复返了,或者为了完成工作而违反黑盒规则。令牌、模型和事件是所有你应该考虑的事情。Moose 将以一种完全非个人化的、预先设想的、当然也是完全客观的方式为你考虑剩下的事情。

还有一件事,这本书通过比较“(旧的)perl 方式”和“(新的)Moose 方式”来教授 Moose。如果这个类比让你感到困扰,你可以在 CPAN 上找到不有趣的 Moose 文档。

此外,本书还包含一套语法文档,这些文档肯定更中立。

  1. ^ Moose 不是一个源代码过滤器。语法看起来像原生 perl 以外的原因是,在 Perl 示例中任何地方都没有采用bareword=>()这种习惯用法。Moose 没有源代码过滤器的那种巫术。
华夏公益教科书