Object-oriented programming has been described, by many people in many places, as a style of programming where you create a thing and ask that thing to do stuff. You, as the user of that thing, don't care how it gets that stuff done, so long as it's done correctly.

I was thinking this morning about how I'd go about explaining to my coworkers why this series of modules that have been created for a project I'm on is really OO, despite the fact that there's a new() function and methods and attributes and everything.

My first thought was to describe OOP as being a hands-off manager vs. a micro-manager. Then, it hit me. A scalar is an object!

Think about it. You use this thing and you have no idea how it does its stuff. You ask for it to be there and it is. You ask it to add something to itself and it does it. You ask it to compare itself to a string and it does it. You ask it to go away by itself when it's done being used and it does. And the same goes for lists and hashes.

While the programmer may have a tougher time writing strictly OO code in Perl, every Perl programmer is using an OO environment whenever they write Perl.


In reply to Why perl is more OO than C++ or Java... by dragonchild

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.