Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister

Re: Learning OOP

by Zaxo (Archbishop)
on Jun 23, 2003 at 03:22 UTC ( #268035=note: print w/replies, xml ) Need Help??

in reply to Learning OOP

Perl has the great advantage that its OO features are flexible and not mandatory.

A language, like Java, that is built around OO must be built around some particular theory of OO. The result is that, in use, your classes must be built to meet the constraints imposed by the language. OO language bigots have immense flamewars over whose OO flavor is purest. The languages they all love to hate are Perl and C++, for leaving the rules up to the developer.

I've been told (by merlyn ;-)) that the book you mention is ideal for your purposes, and that TheDamian's Object Oriented Perl makes the perfect follow-on study.

After Compline,

Replies are listed 'Best First'.
Re: Re: Learning OOP
by steves (Curate) on Jun 23, 2003 at 03:36 UTC

    Of the OO languages I've used, Perl is most like C++, in that it gives you more freedom than most. Both also give you more rope to hang yourself with, but that can (IMO) help you learn a lot too.

    Two of my favorite Perl features are ties and closures. If you learn these, you'll be too spoiled to learn Java.

    Even though you need certain features to do OO "right", it's my opinion that OO is mostly a way of thinking. I've seen C code that's more OO in its design than some poor Java code I've also seen. The thing that forces most people into OO ways of thinking is tackling large problems with identifiable patterns. Most developers innately want to fit the patterns they see emerging from any problem space into neat packages of some sort. If you start thinking that way, OO will follow.

    If you do choose to learn Perl OO be prepared for a lot of people wanting to constantly argue that Perl is not an OO language. Usually, by quietly solving the same problems in less time they go away.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://268035]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2018-05-23 06:08 GMT
Find Nodes?
    Voting Booth?