Well, I think that Perl5 OO is very good and can make everything that a OO should, with everything that Java has (since Java "want" to be 100% OO). Much programmers like to say that for real OO you never can do a global variable. Other says that isn't OO if you haven't types for variables.

Fisrt, in Perl you have global variables because Perl have a concept that you can do everything that you want, and you are not forced to use or not OO, or any thing. About the types for variables, well, Perl don't want to confuse the developer with variable types or conversions, you just need to think about the algorithm. And the variable types are there, at least for C/C++, because they are converted to assembler instructions (to than be machine codes), and the CPU need to know that before. And you win speed with the type (but in Java not, at least should), since you (well, the compiler, or interpreter, or VM) don't need to always check what type of variable is that, and what I need to make to work with 2 different types, who do that is the developer. But every one that already have worked with XS and internal Perl variables saw that a SV (scalar variable) have some states (Flags), like integer, double, string, utf8, etc... and this is a kind of type for variable, but Perl do this automatically for you, including the conversions. But the most interesting thing of the Perl5 interpreter is the speed, that is very good, and Perl5 is the fastest scripting language that have, and even with not "typed" variables the memory management is the best, in cases best than C/C++. Saw some time ago a good article about language comparations.

About the C++ OO, well a lot of peoples say that C++ is not a real OO too. But I think that they are confusing OO with Java, or other thing. OO is a concept of how to organize an app, including the reuse of code. If you have this concepts you can make beautiful classes in C++. And wxWindows is there to show that, one of the best OO librarys in C++. For who don't know what is wxWindows, is a full portable C++ GUI library, that works on Linux, Mac, Win32, Motif, WinCE... For Perl take a look at wxPerl, that is wxWindows linked to Perl.

Just in case:
http://www.wxwindows.org
http://wxperl.sf.net

Final words: Who say that Perl OO is not a real OO just don't know Perl, and this is the problem, who say bad things about Perl always don't know and don't use Perl. Just think something about what Perl is. Well, I use a lot of languages, work with a lot of peoples, talk with a lot of PhD at computer cience, and saw that much peoples spend much time talking about theories, defending the theorie just by the theorie, but forget that the objective of the theorie is to be good at pratic. You can have a language that is good at theorie and forgot the pratic, the final objective of everything. But theorie is still important to have a good vision about all, and is from there that good ideas come. ;-)

... In other words, theorie is like talk about sex without do sex, but camasutra is still interesting. ;-P

Graciliano M. P.
"The creativity is the expression of the liberty".


In reply to Re: Answer: Why is it said that Perl does not implement true object orientation? by gmpassos
in thread Why is it said that Perl does not implement true object orientation? by neshura

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.