User: Password:
|
|
Subscribe / Log in / New account

Chromatic: Goodnight, Perl6

Chromatic: Goodnight, Perl6

Posted Feb 13, 2013 13:53 UTC (Wed) by martin.langhoff (subscriber, #61417)
In reply to: Chromatic: Goodnight, Perl6 by raiph
Parent article: Chromatic: Goodnight, Parrot

Thanks raiph for a good comment. Still, I can't fully hop on your boat.

I truly don't want to be trolling you or anyone here. But some essential principles apply, IMHO.

The team is all volunteer, and that warrants a lot of respect. However, if the team doesn't have as its top goal providing a rock solid runtime that is competitive... then they won't. Filling in Perl5/Python shoes is incredibly hard, and it won't happen while meandering through tasks that volunteers find interesting.

Just like completing a release isn't something that happens "naturally", regardless of the paid or volunteer status of programmers. You need leaders to set clear goals, make hard tradeoffs on the project direction and seduce people to follow them even though the tasks might be boring.

You need release managers to be tough at times and reject fixes, push hard for the release criteria (calendar-based, quality-based, whatever).

My comment about "devs not being desperate to complete a product" speaks about that. Current Perl6 devs seem, by all reports, to be having an interesting time. So perhaps Perl6 is a fun research and (personal) development project. That is swell, and in some cases it can overlap with delivering a performing, working product (see git, for example).

Sometimes it doesn't. Lack of clarity and a strong release ten years into it tell me Perl6 is right now an example of the "doesn't" case.

You say that Perl6 will be competitive, and able to fill in Perl5 shoes. IMHO, the current course won't lead there. Targetting the JVM means Perl6 won't be part of any distro's "base" install, as Perl5 is now on Debian, or Python is on Fedora/RH. It means apt-get install perl6 will show a dep chain that will scare sysadmins. Means you'll start arguing about which JVM to install (with the package manager, with people), and which webserver JVM setup too.

This in turn means that the quirks of Perl6 runtime will be all over the place -- when someone reports a bug, instead of just asking "which perl6 release?", you'll be asking "what JVM? version? using tomcat or mod_java or... ?". It is a horrible place to be, so far up the stack.

And it means that you'll be at most as fast/efficient/performant as Java. That's spectacularly uninteresting to me.

Perl5 set the bar so high it is hard to be competitive in that space. My worry here is not that the Perl6 team carps on how hard it is to get so good. It is that the Perl6 team doesn't seem to be interested in achieving the key goals of what Perl5 achieved.

Perhaps I am a grumpy old man. Don't let the bastards get to you. But also don't forget to decide and tell the world whether your top goal is a fun research project or a useful product. Key distinction between the top goal and secondary goal(s).

(Here, ISTR Larry or Damian saying that Perl6 development was optimized for the fun and enjoyment of the developers. If that is true, then that management style has a risk of forgetting to deliver something of relevance to the outside world...)


(Log in to post comments)

Chromatic: Goodnight, Perl6

Posted Feb 14, 2013 3:06 UTC (Thu) by raiph (guest, #89283) [Link]

> if the team doesn't have as its top goal providing a rock solid runtime that is competitive... then they won't.

Aiui you think the only worthwhile Perl 6 deliverable is one that bundles a front and back end in a form that competes with the current perl. I get that and will return to that but first I need to clear up some confusion.

For most of a decade there have been two projects that are distinct though with overlapping concerns. A front end language project (Perl 6) and a back end VM project (Parrot). A few folk are involved with both, but for the most part they are/were separate cultures.

Rakudo is a leading Perl 6 compiler. It has always used Parrot as its VM. After the Rakudo team concluded in 2009 that the Parrot project might not deliver what Rakudo needs in a reasonable timeframe, the Rakudo team began preparing to be able to port to other backends. (Aiui this pissed off chromatic.) By late 2012 the Rakudo team were ready to port to other backends. In November 2012 jnthn began a port to the JVM as a first step in targeting multiple backends. He seems fairly confident he'll have something solid to show at yapcna this June.

In the meantime, the Parrot project kept rolling along. For example, they landed a IO refactor (with regressions) late last year and got a form of threads working a few weeks ago that jnthn says isn't what Rakudo needs. Then a few days ago the Parrot project declared itself stalled and possibly dead. The Rakudo team may need to update their strategy for how they deliver with a solid runtime, but they've had less than a week to react to the news.

Then chromatic writes a post "Goodnight, Parrot" (even though several credible folk have said they want to continue Parrot). Finally, dskoll here at LWN adds insult to injury by renaming this thread "Goodnight, Perl6".

> You need leaders to set clear goals, make hard tradeoffs on the project direction and seduce people to follow them even though the tasks might be boring.

A good description of Larry's brilliant leadership. 12 years in and the productivity is astonishing. Yes Perl 6 was incredibly ambitious but they've basically pulled it off and the result is extraordinary.

> So perhaps Perl6 is a fun research and (personal) development project.

I do see a lot of folk enjoying themselves, learning as they go. I also see a lot of folk doing boring stuff, year in, year out. I see TimToady, jnthn, Moritz, masak, japhb and dozens of others writing amazingly high quality code amazingly quickly. And folk like swarley who's gotten amazingly far in doing a Go port in the less than 2 weeks or so since s/he appeared on the scene.

> (Here, ISTR Larry or Damian saying that Perl6 development was optimized for the fun and enjoyment of the developers. If that is true, then that management style has a risk of forgetting to deliver something of relevance to the outside world...)

Audrey Tang coined the phrase "optimized for fun". In her opinion it was important to do whatever it takes to make devs *productive*. It includes nurturing newbies, creating LHF files (lists of "low hanging fruit"), being liberal with commit bits, encouraging bursts of silliness, whatever gets hackers moving fast and being supremely productive. It works.

Chromatic: Goodnight, Perl6

Posted Feb 14, 2013 3:42 UTC (Thu) by martin.langhoff (subscriber, #61417) [Link]

> Aiui you think the only worthwhile Perl 6 deliverable is one that bundles a front and back end in a form that competes with the current perl.

Pretty much, yes. Everything else is details I should not know unless I plan to hack on Perl6. Or do advanced debugging/diagnostics, I guess.

All the parrot/rakudo/VMs and blah is internals. Good for an in-depth LWN article, but not for when people like me ask about using Perl6 in production.

It is ok to have fun, while being productive. However, your definition of productive does not seem to include delivering a "product" in the form of a /usr/bin/perl6 in a reasonable timeframe.

This all probably sounds more bitter than I intend it.

So I will say: I like the Perl6 syntax and some of its abstraction ideas. Maybe one day Perl6 will be a language I can use for widely-deployed programs. Current directions don't seem promising to me... but I have been wrong before, and will be more than glad if I am wrong on this one :-)

Chromatic: Goodnight, Perl6

Posted Feb 14, 2013 16:55 UTC (Thu) by chromatic (guest, #26207) [Link]

I think you're rewriting history.

Rakudo's spent half of its life thinking about switching away from the one platform where it runs at all to another platform which may or may not even work out. I wanted to deploy Perl 6 to actual paying customers.

I'm sure the developers are having fun, but from the potential user point of view, it's a waste of my time to worry about when the software will actually reach a deployable state. The project's history suggests that's not a priority.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds