Damian's excellent blog post includes this comment about Dios:

The only three problems with Dios are:

  • It’s not built-in to Perl itself, so its performance is suboptional;[sic]
  • It’s not built-in to Perl itself, so it requires a huge amount of extremely complex multi-layer code to make it feel as if is;
  • It’s not built-in to Perl itself, so it's merely one possible choice amongst the vast and incoherent array of entirely reasonable alternatives already on CPAN.

While the first 2 problems are objective, the third gives some pause for thought.

As JAPH, I like choice. TIMTOWTDI is as close to being the Perl motto as anything else. There are indeed a plethora of class/object/role systems on CPAN. Probably I've only even heard of half of them, used maybe 5% of them and happily continue to use 1% of them.

The concern here is that if/when a class/object/role system is merged into the language itself, what consequence does this have for all those alternatives on CPAN and all the other code (on CPAN and elsewhere) which depend on them? Will development or maintenance of them cease? Will vast swathes of code have to be rewritten as those modules become unmaintained? The problem is not just with 1% of the modules either because my 1% is highly unlikely to be your 1% which will differ in turn from everybody else's 1%.

Perhaps this has already been debated and determined to be a price worth paying. Perhaps I'm overstating the case. Either way I hope the decision to include any such system in the language itself is not one which we shall come to regret down the line.


🦛


In reply to Re: The Corinna RFC for getting modern OO into the Perl core is taking shape by hippo
in thread The Corinna RFC for getting modern OO into the Perl core is taking shape by Ovid

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.