http://www.perlmonks.org?node_id=1027718


in reply to Re^4: Does Perl Have a Business Plan?
in thread Does Perl Have a Business Plan?

Good joke. :-)

No, it's not joke.

If Perl6 did today, 90% of what Perl5 already does -- with 90% or even 70% of the performance that Perl5 does it -- it would be usable for many non-performance critical applications with the benefits of cleaner syntax and easier maintenance now; and the promise of lots of good stuff to come in the future.

Marketing it would be a simple as demonstrating the concise, clarity of like for like code against Perl5, Python, Ruby et al.

That would be enough to encourage early adopters and start both discussion and the exploration of what it is capable of. From that would come the kick-starter application, and interest, and a wider audience and wider contribution. It could then sink or swim on its own merits rather than on sound-bite marketeering, dubious statistics or patriarchal request.

Marketing based on giving people what they want -- rather than making them want what you have got -- is more reliable; more honest; and actually quite easy.

And people want a cleaner, clearer, simpler, more orthogonal Perl, and have done for a long time. But they are not prepared to throw the baby out with the bath water.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
Re^6: Does Perl Have a Business Plan?
by Propaganda.pm_rj (Acolyte) on Apr 09, 2013 at 13:17 UTC
    No, it's not joke.

    Then the "tragedy" statement applies.
    I cannot argue with (shortened quote):

    if ... would ... would ... would ... would ... could ..."

    It is neither wrong nor right. It's not verifiable, and highly hypothetic (see quote). More hope than fact, actually. Sure, if all these would's and could's would be in place, you could hope that some early adopter would catch on.

    Yes.

    So what? Then of course you'd hope that some kind of bootstrap process comes into existence, and the incoming adopters start to be less and less "early", until we have a Perl6 hype and girls start tearing of their shirts if they see a guy wearing a Perl6 T-shirt. Yeah. Why not? Phantasies are not illegal.

    Unfortunately my estimate of the situation (and of your estimate of the situation) differs significantly. You completely/elegantly ignored the ROI topic I pointed to. You know - even todays early adopters aren't what they used to be. Significant amounts of early adopters - I mean. Sure, in todays worldwide IT-crowd counting tens of millions (possibly more) you will find a few die-hards that can adopt almost anything. If you hope for that, then I agree. Yes, that can happen.

    But try to be honest to yourself. Do you really expect, that from this early adoption would come the kick-starter application, and interest, and a wider audience and wider contribution possibly even self-sustaining? As I wrote above: more hope than fact.

    Please don't get me wrong. I too see Perl6 as promising. However, at the current moment I do not see anything of relevance being done to offer at least some Perl6 ROI. Not even for early adopters. (please do not confuse early adopters with temporary tryout hackers)

    However, in my humblest opinion, that situation would radically change, 180°, if there was a Perl5 to Perl6 converter. Here I agree with your 90% estimate. Maybe even 80%. If it could automatically convert 80% of the pure-perl CPAN modules to Perl6 ... BINGO! You would:

    • Have proof, that Perl5 and Perl6 are entangled sister projects that benefit each other
    • Perl6 would benefit (huge surge of resources)
    • Perl5 would benefit (opened migration path)

    Until then, Perl6 is - and I would like to quote Richard Foley here - "Basically an excercise in academic masturbation". And I quote Richard here, because I do agree with him. As me the perl hacker, and me the upper management guy.

    Why is such a converter not being done? Because it's hard I'm being told. Sorry. Before such a thing is not "in place" I - as a manager - cannot take Perl6 seriously. However, IF such a thing is in place, I most certainly know, that I would authorize the migration of some in-company tools (not customer projects - I'm not that bold) to Perl6.

    And allow me the corollary, that during the development of such a converter, Perl6 - the language - would gain a development boost, because now it would have at least some code being benchmarked with.

    Sorry if anyone is insulted by anything I wrote - just trying to express my sincere opinion.

    propaganda.pm - Not just another Perl Mongers Group.
      You completely/elegantly ignored the ROI topic I pointed to.

      Your link lead me to a blank 'Sign Up to see the Wonderful Goodies' page. I haven't stuck my hand in a lucky dip box since I was a kid.

      Unfortunately my estimate of the situation (and of your estimate of the situation) differs significantly.

      Yes. Does that make you automatically right?

      If Perl6 is so obviously dead in the water, why are you bothering to attack it?

      I would like to quote ...

      Ah! Appeals to -- for all intents and purposes, random -- higher authority, the last chance saloon of unreasoned zealotry.

      Do you quote him because he is right, or is he right because you quote him?

      that situation would radically change, 180°, if there was a Perl5 to Perl6 converter.

      And now finally to the agenda. But, are you promoting a converter you have written; or recruiting for the magic bullet you perceive?

      If you ever unlock that door to your vision, we might find out.

      In all likelihood this is just another 'I've a great idea and I've written a thesis and knocked up a web page to present it; now all I need are some donkeys to do the work' to raise my phfantastical vision to reality; but I'll keep an open mind for now.

      If it could automatically convert 80% of the pure-perl CPAN modules to Perl6 ... BINGO!

      Sorry, but I think you are wrong. Indeed, I think that perhaps the second worst thing that could happen to Perl6 is the creation of such a tool. Why?

      • Because some large percentage of the Pure-perl modules are dross unworthy of persisting.

        Large numbers of the modules on CPAN are newbies first goes at writing modules; 90% boiler plate; 10% wasted effort.

        Ranging from: trivial OOified replications of; or ill-conceived "corrections" to; misunderstood built-in functionality.

        To: badly designed, or badly written, or clumsy interfaced, or theoretically pure but with horrible performance, or just plain broken. And sometimes all of those.

        Written as stand alone projects without the benefit of real world application, in order to gain experience, or simply to have a presence on CPAN to which they can point prospective employers/customers. Token gestures of 'contribution'.

      • Because it would lead to the persistence of the whole never-mind-the-quality-feel-the-width ethos that pervades unknowing's view of CPAN today.

        There are probably less than 100 (certainly less than 500) vital, critical, modules on CPAN -- ie. those that fulfill 90% of the use statements seen in the wild. And most of them will have an XS component that would prevent automated conversion.

        And of those that are pure-Perl, the best, most used, most indispensable ones will make extensive use of all of the quirks and guru-tricks that at the same time, make Perl5 so powerful and productive; but also, so difficult for initiates and part-timers.

        For you magic converter to be able to port these, Perl6 would need to replicate all of the "bad behaviours" -- bugs-made-features; quirks and dark corners -- that are the reasons for both its existence and the desire to have it. And if Perl6 did that, it would be little better than Perl5 and lead to all the same problems.

      • It would concentrate the efforts of the must-have-a-presence-on-CP6AN developers in exactly all the wrong places.

        A line for line conversion of Perl5 to Perl6 won't benefit from what makes Perl6 so desirable. Instead of looking at the requirements and then using the power and elegance of Perl6 to satisfy them in the best way it can; effort would be concentrated in finding boiler-plate replacements for Perl5 idioms and then applying them as widely as possible.

      • It would encourage and facilitate the persistence of the scatter-gun approach to library design that is characteristic of the 90's approach to language library design in general and of CPAN in particular.

        The whole free-for-all for top-level name-spaces; and stick-it-in-wherever, uncoordinated approach to getting-it-out-there. A first-come longest-lived and highest profile namespace landgrab, with a total lack of control over either logical structure or quality.

        Step back and take a look at the way library design has evolved in other languages. Java and C++ are good starting points. Look at the STL of the C++98 and the STD::* classes of C++11. The wide, deep, meandering of the former and the concentrated, coordinated, minimalism of the latter.

        To succeed, Perl6 needs CP6AN to be designed, coordinated and controlled.

      • Automatically generated/converted code is crap.

        If you start with bad code prior to conversion, you'll end up with worse code after it.

        The Perl6 core libraries need to be designed to the strengths of Perl6; and written using the best of Perl6 idioms. Anything less will serve as a bad reference for new authors and reflect badly on Perl6 as a whole.

      Logic dictates that if the first examples of Perl6 -- its libraries -- that people encounter are bad examples; then that is what they will write. And that would be the final nail in the coffin that has been sat, ready & waiting in the corner for a very long time.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        test (preview works, create gives a "Tough beans"-permission denied) Ah... so my answer is too long... ROFL. But updating works.
        Your link lead me to a blank 'Sign Up to see the Wonderful Goodies' page.

        The ROI link should work now. It hasn't also disapeared from the original document. Sorry for the glitch. And it's not about signing up for goodies, it's just that not everything that is to be published on the page is published immediately. You know - we're trying to master a Perl-based Wiki there. We're new to it and it has this inherent Perl software ergonomy charm. ;-) Even if you tried to sign up, it wouldn't happen automatically. You would have to apply for Propaganda.pm membership.

        Yes. Does that make you automatically right?

        Of course not. I was merely stating that there is a controversy. But now - after your answer. Yes, I think I'm right. Your view on the matter seems fairly restricted.

        If Perl6 is so obviously dead in the water, why are you bothering to attack it?

        Ah. You see ghosts. I didn't say Perl6 was dead in the water, nor was I attacking it. I said, I see potential and I also said, that the hope "if we had Perl6 all marketing it would be a childs play" was naive because... (see my post). So if there was something I attacked, it was the naivety about the concept of technology adoption in your post. If that represents the consensus among Perl6 developers (don't know), then Perl6 has still potential, but will not succeed.

        Ah! Appeals to -- for all intents and purposes, random -- higher authority, the last chance saloon of unreasoned zealotry. Do you quote him because he is right, or is he right because you quote him?

        I'm not entirely sure if RF is "higher authority" and I actually feel being accused of zealotry as a compliment. Don't feel that way, and if I appear to core Perl folks as such... wow. Thanks. Because we both are civilized people, I think it is only fair if you call me an unreasoned zealot while I call you a naive marketing anti-talent. Maybe this allows us to speak on one level and return to the facts again. Yes?

        In all likelihood this is just another 'I've a great idea and I've written a thesis and knocked up a web page to present it; now all I need are some donkeys to do the work' to raise my phfantastical vision to reality; but I'll keep an open mind for now.

        Oh. I didn't know these things happen that often in the Perl community. And no, unfortunately I even haven't written a thesis (about this). Yes, a "web page" has been knocked up, but not for this particular topic. But on on this web page we will most certainly talk about "knocking up" "Perl propagating" web pages in Wordpress or using mailman, the CPAN quality fiasco or whatever. Different story.

        And it's not "I", it's the Propaganda.pm team. If anyone there has objections to this "zealotry" - as you say - he/she (yes, we're a mixed bunch you know) is invited to object. The Perl5->Perl6 converter is nothing but a small step (see 3.1.2.3) and totally unimportant now (compared to other things). It's just by a factor of one thousand more important than other things being done in Perl6 right now, so I thought I could mention it. Let's see:

        Sorry, but I think you are wrong. Indeed, I think that perhaps the second worst thing that could happen to Perl6 is the creation of such a tool. Why?

        :-) Of course, the most important thing for me is the second worst thing to you. Therefore anti-talent. You see? No? Aren't you aware how technic-centric your arguments are? How limited that view is? You really think it is the developer, the early adopter who is responsible for the adoption of a new technology? Oh man... Hint: Have a look how new programming languages like Go or Dart are being prepared for adoption. And LEARN for gods sake! Because even in the technical domain, your arguments are void. But OTOH I see some potential for agreement here:

        Because some large percentage of the Pure-perl modules are dross unworthy of persisting. Large numbers of the modules on CPAN are newbies first goes at writing modules; 90% boiler plate; 10% wasted effort.

        YES! I agree! We should perhaps try to find a quantitative estimate to "large percentage", but in general: You are right. CPAN quality is to some large percentage ... well, just what you said. I'm somewhat surprised about that harsh judgement, because that's what I say, while I keep hearing ... "but we have CPAN". Ok, so CPAN having cruft/bad modules is your 1st argument against a converter. Ok. We remember that.

        Your second argument is, that those modules that are not sh*t, cannot be converted or the necessities in the Perl6 feature set for their successful conversion would drag the clean and orthogonal (sic!) design of Perl6 into the mud. In that argument you speak of something between 100 to 500 relevant modules. I would kill, to get this list. So better prevent death toll and provide that list. Phalanx anyone?

        Your third argument is, that - even if such a conversion took (successfully) place - the result would be bad. And even improving it wouldn't show/let play the "whole Perl6 glory", because these would be only patches without some global concept.

        Your fourth argument is tackling the CPAN problem with namespace squatting and then - 5th - you basically state that generated/converted code is crap.

        Starting with your 5th argument: Hurry, Cambridge UK has next 2 days a nice conference about code generation. Maybe there's something to learn. As every (byte)compiler generates code, by your definition, ALL code on this planet is crap. Certain metrics applied, you are right. Can you imagine that in the 90ies, a very competent m68k Assembly/C guru told me about his observation, how the GCC already at that time, made surprisingly efficient machine code (using surprising register overflows) an assembly programmer probably wouldn't have thought of?

        Are you aware of the situation, where CPython was much faster than PyPy and today, thanks to the JIT compiler in PyPy it can run simple physics simulations by a factor of 20 to 25 faster? Oh! You didn't mean "machine/byte code" when you talked about code generation? Ok, then please state so next time. Never mind. You are wrong on any account regarding code generation. Yes, the terror of the programmer. Machines being able to generate better code than the programmers. Out of what? Out of more abstract concepts than just source code. Or out of other source code. Yes, that is called a converter. If I were you, I wouldn't reference the 90ies that often, because at some occasion one could get the impression that's where you got stuck.

        As the 4th argument, namespace litter. YES! That is a problem. With CPAN. YES! Do not let us do this with a CPAN6 too! YES! Shove all converted code to P5P6 namespace - or whatever. Where it can live with it's stigma of 2nd class code. Until there is something better in the shiny orthogonal 1st class CPAN6 world. But at least THERE WILL be something to bootstrap with. Same as C++11 was not the first thing that hit us.

        Your 3rd argument basically states, that refactoring with Perl6 is impossible. Maybe it's even impossible with Perl5. Hey - maybe we should even scrap evolution. You know - that funny thing Charles Darwin babbled about. I mean evolution as optimization effort can only find a local maximum, not the global one. Clearly not the Perl6 way. We want the global maximum. From the start. Creationists unite (and bring us Perl6)! If there was something to attack on Perl6 it would be this (naive) "make it right from the start" approach/mindset.

        Your 2nd argument states such a converter cannot exist. Or - if it would exist - Perl6 would get polluted. Uh! Where I see real-world-benchmarking (features, not speed), you see pollution. So stay in your hygiene chamber. Do not let the bad real-world in. Sweet dreams - no? And basically by that argument you state, that Perl6 is not as powerful as Perl5 is. You just do not want to admit that, so you cover this up in "Perl6 would get polluted if it had to emulate all the Perl5 glitches". Yeah - right.

        So what remains, is agreement on argument 1. CPAN is a pile of cruft. I still do not see how this invalidates a P5toP6 converter. Also a partial agreement on argument 4, where I think is a very easy and evident solution. What I DO see, is how you - again - evaded my argument of entanglement between Perl5 and Perl6. It seems we're thinking in completely different categories. Unfortunately, you cannot get a garage into a car. I understand all your arguments perfectly. And they show a very narrow, limited view of the IT-world. Therefore it is me who is in duty and responsible for extending that view.

        If you ever unlock that door to your vision, we might find out.

        First, please try to speak for yourself, or identify the group you refer to with "we". Even then, these things are not about democracy or majorities. If you find a group of 100 "we"'s who say "No, we ain't doin' no stinkin' converter" and if I find a group of 5 dedicated people who "yep - we do it" and then do it - the smaller group decides. Anyway, let's stick to this topic. If we manage to clarify some things here, we may move to the even bigger picture at some later time.

        Let's think about the hypothetical (project) manager A in company X. Let's even assume, Propaganda.pm has helped to rectify the shitty image of Perl - against all odds and "we"'s - to the extent, A is part of a growing group of managers worldwide who at least are considering the use of Perl for some next project. Let's shift a little bit into the future and assume we have that situation now. Question: would the existence of a Perl5->Perl6 converter help, hurt or just not matter for the decision to make that project in Perl5? It would not hurt, except in the case, where the decision would be more radical i.e. to deploy Perl6 directly because one could eventually augment with converted Perl5 "legacy". So either Perl5 or Perl6 would benefit - depending on the mind boggling decision process of said manager. q.e.d.

        Let's not think aout the developer. Because most of the time it is NOT the developer who decides which technology to adopt. Most of the time this decision is made based on what some developers say, what some managers think (black magic there) and if the decision is made, developers are told what to use or simply new developers are acquired to do so. If your experience is different, congrats or condolence. Pick one.

        Again - a Perl5toPerl6 converter is not the most important thing for Perl right now. It is, however, right now the most important thing for Perl6, but if you disagree, I can live with that. I'm sure you can equally well live with the knowledge that there is at least one guy shaking head over the Perl6 "concepts" you've presented so far.

        The most important thing right now, is to improve the Perl image. OUT THERE. Not here in the "echo chamber". So that's what I will try to contribute to. Having well-respected people within the Perl community standing totally in the way comes only as a surprise, explains perfectly the current situation Perl is in, but will in the long run have no effect. Fortunately.

        propaganda.pm - Not just another Perl Mongers Group.
      You completely/elegantly ignored the ROI topic I pointed to.
      Twas not so hard. The linked page requires login and password.
        Uh! You are right. Sorry for that. Article is published now.
        propaganda.pm - Not just another Perl Mongers Group.