Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
I've come here again to make a suggestion to break up this OOP log jam.

Inspired by this bit of history (Chapter 7 intro) of Cozen's Perl 5 Internals tutorial:

In 1996, someone
* (I think it was Chip. Must check.)
announced a challenge - the first person to write a compiler suite for Perl would win a
laptop. Malcolm Beattie stepped up to the challenge, and won the laptop with his B
suite of modules. Many of these modules have now been brought into the Perl core as
standard modules.
I propose a similar offer be made for "OOP" in Perl. Here's how I envision it going:

  1. Perl inteligensia lock themselves in a dark, smokey room - not being allowed to leave until they generate a minimalfunperlish "spec" for OOP Perl.
  2. Said spec is published with the offer that the first person to publish a $WORKING CPAN module implement it (maybe to an agreed upon top level name space like O:: meant for other implementations) will win a laptop.
  3. Implementation also gets included in Perl core. (this avoids "15th competing standard" problem)
  4. Continue to encourage others to throw their own implementation under said official namespace or (better) work to improve the first one that is created that works.

Goals:

  • make it fun, build some excitement,bring everyone (or most everyone) back together
  • focus on a minimal spec mostly unconnected to silly implementation details
  • encourage participation and competition from everyone
  • make the weight of one's opinion on the matter comensurate with their actual code contributions
  • create a spec worthy of perl and all that is loved about it

What do I mean by minimal?

  • as simple as possible, but not simpler
  • won't prevent future phases or extensions
  • doesn't necessarily require much or any internals hacking
  • lets us Perl golf and doesn't constrain us to putt-putt

If we can get something like this going at the highest levels, I will be the first one to throw down $50 in escrow. If it succeeds, I'd be happy to throw in more towards buying the winner a laptop.

And not to spoil it with my opinion, but I think whomever is involved in the minimal (and fun and perlish) spec creation should at least do themselves the favor of taking a look at how Qore presents OOP in a very Perl-like language. That's not necessarily an endorsement, I don't think it's perlish or fun enough; but it is one more source of inspiration (yanno that we can steal).


In reply to $50 towards a laptop for the winner by perlfan

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (2)
As of 2024-04-25 06:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found