Object Orientedness In General.

Stereotypically the bless function is used to bless objects with a class name. My understanding is that the bless function is there specifically to allow for ‘Object Oriented Programming.’ Object Oriented Programming is defined as ‘object-oriented programming (OOP) is organized around "objects" rather than "actions," data rather than logic.’ (whatis.com) This lends itself to the taxonomical data (and code) structure that a lot of programmers use today.

However, the question of what constitutes an object seems to be hazy to me. The bless function, as well as many other object oriented structures can be applied to a more liberal definition of objects. CGI::Application illuminates this point well. There is not inherent data structure the object represents; instead it passes whatever the programmer deems to be consequential. However, it serves as a good way to ‘hide’ the internals of the program from the user (What could be easier than $app->run?), as well as model the generic process for CGI applications.

Can a process constitute data? What does constitute data? Are we allowed, or should we use OO functions, in a case like CGI::Application, if this is not true?

A Tangent Line:
To me, CGI::Application seems to be a perfect example of perl’s flexibility in objects. Disregarding the discussion about object oriented programming itself: Is the CGI::Application package just an attempt to do what is ‘intuitive’, and therefore just utilizing an inherent ‘feature’ of perl? Can a person misuse that feature?
Gyan Kapur
gyan.kapur@rhhllp.com

In reply to Creating Applications Using OO Techniques. by Revelation

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.