Chapter 8. Introduction to Objects
Object-oriented programming (often called OOP)
helps programmers run code sooner and maintain it easier at the cost
of making the resulting programs slower. That is to say, a typical
program written in an OO language will normally run more slowly than
the corresponding one written in a language without objects.
So why would anyone want their programs to run more slowly? Your
programs will take less time to read, write, debug, and maintain, and
on large projects, these factors are important. How much slowdown are
we talking about? Well, that depends. But in general, the more
heavily you use objects, the more it will save time for the
programmer, and the more it will cost time at runtime. Still, you
should remember that computers keep getting faster. Even if using OOP
slows down your program, using next year's hardware
will probably make up for it.
The benefits of OOP become worthwhile when your program (including
all external libraries and modules) exceeds about N lines of code.
Unfortunately, nobody can agree on what the value of N is, but for
Perl programs, it's arguably around 1,000 lines of
code. If your whole program is only be a couple hundred lines of
code, using objects is probably a waste.
Like references, Perl's object architecture was
grafted on after a substantial amount of existing pre-Perl5 code was
already in use, so we had to ensure that it wouldn't
break existing syntax. Amazingly, the only additional syntax to
achieve object nirvana is the method call,
introduced shortly. But the meaning of that syntax requires a bit of
study, so let's proceed.
The Perl object architecture relies heavily on packages, subroutines,
and references, so if you're skipping around in this
book, please go back to the beginning. Ready? Here we go.
|