To clarify my original surprise that you mentioned Python, I was not disputing that Python is gaining ground, I was challenging you on your reason, namely "OO (inspired by the desire to compete with Python)" because I found it hard to believe that Perl's OO enhancements were in any way inspired by Python's (rather pedestrian and uninspirational) OO features! Far more plausible to me, was for Perl to seek OO inspiration from a stronger OO language, such as Ruby or Smalltalk or CLOS, rather than pragmatic Python. Do you have any citations to support your claim?

From the Moose manual in the "Justification" section:

For Moose, we have "borrowed" features from Perl 6, CLOS (LISP), Smalltalk, Java, BETA, OCaml, Ruby and more, and the bits we didn't like (cause they sucked) we tossed aside. So for this reason (and a few others) Stevan has re-dubbed Moose a postmodern object system.
An academic paper Super and Inner - Together at Last is also cited. No mention of Python. Similarly, in Class::MOP (SEE ALSO section), The Art of the Meta Object Protocol (CLOS), Smalltalk, and many other influences are given. Again, no mention of Python.

Finally, in the original Apocalypse 12, Larry explicitly gave only one reference, namely "Traits: Composable Units of Behavior. European Conference on Object-Oriented Programming (ECOOP), July 2003. Springer LNCS 2743, Ed. Luca Cardelli. by Nathanael Schärli, Stéphane Ducasse, Oscar Nierstrasz and Andrew Black". The only mention of Python is this Larry quote: "Python's attributes suffer from the same misdesign as Perl 5's attributes. (My fault for copying Python's object model. :-)"

In summary then, I'm not aware of any significant Python influence on Perl OO or Moose design. If anyone knows different, please let us know.


In reply to Re^5: Perl archeology: Need help in refactoring of old Perl code that does not use strict (hurry up and wait) by eyepopslikeamosquito
in thread Perl archeology: Need help in refactoring of old Perl code that does not use strict by likbez

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.