Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Why? Because I plan on rewriting every class I have in Perl6 as soon as possible. I hate Perl5's OO system. With a passion.

I have this same view, only moreso. Not only do I fully intend on rewriting all my Perl OO stuff in Perl6 the minute I can get my hands on a working Perl6, but I have been actively avoiding writing some OO stuff that I would really like to write, because I don't want to write it in Perl5. I choose other paradigms. I use closures. I just put stuff off; if I can manage to procrastinate long enough, Perl6 will save me hundreds of hours of the needless painful toil that would be required to adapt the woefully inadequate Perl5 OO model to implement certain things.

And it isn't just the OO model that's inadequate, either. If you hang out for two days in comp.lang.scheme (for example), you'll discover that Perl5 only supports very limited aspects of the functional programming paradigm. As a programmer totally sold on the value of the multiparadigmatic approach to programming (one of the chief advantages of Perl over other languages), I definitely look forward to having a broader range of functional programming functionality at my fingertips.

And then there's the paradigm that's more-or-less the defining native paradigm of Perl, contextual programming. Kludges like "0 but true" only go so far; sometimes I need to be able to return a value that's "0" in string context but true in boolean context. And I'm tired of worrying about whether my numbers will overflow; strings don't; numbers shouldn't either -- they should automagically promote themselves to bignums as necessary.

As a programmer, I eagerly await these features. The incremental improvements in Perl5 have mostly not interested me; the differences between 5.005 and 5.8.4 are to my way of thinking mostly not worth upgrading, and so I've only bothered when I upgraded whole systems, otherwise leaving an old version of Perl in place -- but when 5.6.0 is out, I'll be installing it (alongside of, not in place of, Perl5) the instant I can get my grubby little fingers on it. Threads? Who cares? We already have a perfectly cromulent fork builtin that doesn't create "thread-safety" issues. Unicode? I live in a small city in Ohio; Unicode is right up there with unicorns and fire-breathing dragons on the list of things I read stories about but don't actually have to be concerned about. The defined-or operator would be really nice, but to me it's not worth compiling my own perl and sacrificing all pretenses of compatibility. (Maybe it would be if I made extensive use of tied variables or lvalue methods that are not idempotent to evaluate, but I don't, so it's not.) But Perl6? I drool in anticipation. I want it even more than I wanted Emacs 21, when Emacs 20 was current -- and I compiled my own copy of 21.0.105 before it was technically released, and this was before I was really comfortable compiling software from source. Oh, yes, I'm looking forward to Perl6. I lay awake at night thinking about it.

As far as selling management, I'm not convinced it will be a major problem. If management's already sold on Perl and the developers are sold on Perl6, they'll pitch it as a major and important upgrade to keep the company current with technology, and enough managers will buy that pitch that Perl6 will gain the momentum to become a dominant market force, at which point the more reluctant managers will start seeing stuff about it in trade magazines and whatnot. (When hosting companies all advertise that they provide Perl6 as a major feature, it'll get noticed, even by people who aren't in the market for hosting.) I think the hard part is selling a large percentage of Perl programmers on learning Perl6 and writing their code in it. There will be some early adopters such as myself, but I suspect a lot of otherwise very sensible people will resist learning Perl6 for months or even years, just because it breaks some Perl5-based expectations. (I must admit, the first time I saw the Apocalypse on regexes I wanted to shake the author and ask him what drugs he was on; later I read it again and started to understand better... I do still think making character classes harder is a mistake (not because of [A-Za-z] but because of amazingly common stuff like [0-9 .]), but rules more than make up for it.) I don't know a solution to this problem, other than word-of-mouth.

;$;=sub{$/};@;=map{my($a,$b)=($_,$;);$;=sub{$a.$b->()}} split//,".rekcah lreP rehtona tsuJ";$\=$;[-1]->();print

In reply to Re: How to Sell Perl 6 by jonadab
in thread How to Sell Perl 6 by Ovid

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, 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, 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.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others rifling through the Monastery: (6)
    As of 2018-05-28 10:46 GMT
    Find Nodes?
      Voting Booth?