Mitchell N Charity wrote:
...Perl 6 implementation has been characterized by a dearth of
developers.  There are several reasons for it, but the lack of
implementation development resources has been the defining factor of
the Perl 6 endeavor for several years now.

Building a large project with long term objectives and almost no short-term payoff is probably the most difficult undertaking for an open source volunteer model.

A language intended to supplant an already highly useful language has such a high threshold for achieving usefulness, that it doesn't lend itself to an agile approach, and open source developers are agile by nature - they're motivated by the idea that for a moderate investment of effort, they'll get back some new bit of utility. Working on the foundation for a house that's not going to be built for several years just doesn't offer the kind of reward most developers are motivated by.


The perl community has just not meshed in the way that, for instance,
the ruby and python communities have.

I'm not involved in either of those communities, but I'm not sure the comparison is apt. I bet when it comes to core development, both Python and Ruby emerged from obscurity in a relatively fleshed out and useful form. (Having spent time in obscurity getting fleshed out.) Being new languages they could get by with offering modest core functionality, and still be perceived as useful. Their attraction was their (perceived) novel approach that pulled in unsatisfied developers from other communities.

I think Perl 6 suffers from its affiliation with Perl 5. For Perl developers, Perl already provides high productivity, and there isn't a pressing need to replace it with Perl 6. Sure, Perl 6 sounds terrific, and most will migrate to it, but that's not the same as being motivated to implement the language. Backporting features from Perl 6 to Perl 5, while useful for the language designers and to ease the transition, only reduces the motivation.

For non-Perl developers, Perl 6 is too easily dismissed as being related to this thing they either left behind years ago, they think is old hat compared to what the IT press is talking about, or something they've heard made fun of. Why would they want to contribute to that?

It makes me wonder whether Perl 6 would gain from a rebranding campaign.


When attempting to create a Perl6-class language, the obvious thing to do
is to build on an existing strong language.  But pugs failed to attract
enough Haskell-writing developers, and Common Lisp, OCaml, etc, seem unlikely to fare better.

For someone looking for a practical tool, and not just a playground for language experimentation, these Perl 6 prototypes are unappealing. They come with the built-in assumption that they'll perform poorly (unless proven otherwise), and they feel like they're disposable. Why spend time contributing to something that is pretty much guaranteed to be thrown out?


Elf's purpose is to permit Perl 6 implementation development _in Perl 6_.

Elf is based on the hypothesis that developers could be found if the
implementation language was itself Perl 6.

I like the theory and agree with it, but I think you still need to make a compelling case to address the two prior mentioned problems with a high-level implementation.

One thing I'd want to see is how contributions to Elf is going to benefit whatever is seen as the final production-ready implementation of Perl 6.


So, the idea was, create the first usable partial implementation of
Perl 6, write it in Perl 6, and people will flesh it out and/or
bootstrap off it.

One approach to consider is finding a problem space where a Perl 6 subset can be a compelling solution. Reduce the size of the work that needs to be done to achieve something with practical usefulness and you'll increase your chances of getting developers on board.


() Rakudo/Parrot.  ...there are several known limitations, including
performance.

That's not what you'd expect from that architecture, but I presume that's just a growing pain that'll get worked out with time. The assumption being that a low-level implementation starts slow and gets faster, while a high-level implementation starts slow and pretty much stays there.


But it has developers.

Likely because they feel Rakudo/Parrot are on a direct line to becoming the production-ready solution.


Build out STD/viv into a perl5 and Moose based implementation of
Perl 6.

Is there much hope that that won't perform badly?


The test suite needs, in my estimation, to grow by >10x.
And needs a generative testing system.  Perl 5 suffers from it's lack of
sufficient testing.  And Perl 6 is a much more complex language.

A note of expectation management.  Perl 6 implementation is crawling along
on a shoestring.  A handful of developers digging through the maze of an
understaffed, big and complex bootstrap problem.  Contributing tends to not
be a smooth process.  Which can be quite confusing, and frustrating.  But
even lending an oar, an hour or two a week, can be of value.

It's certainly possible that Perl 6 turns out to be a case of biting off
too much.  Of choosing the wrong problem to work on.

I'd do the following to get Perl 6 past the bootstrap tipping point (I only follow second-hand information on Perl 6 so my apologies for mentioning things that are already being done or have been already proposed and rejected):

1. Raise enough funds for TPF to hire a full time, dedicated project manager (someone from the Perl community willing to work on minimal income). 2. Find a few problems areas where it is believed a Perl 6 subset could offer a compelling solution. 3. Outline the subset of features needed to achieve #2, and get volunteers to write test suites for them. 4. Break down the features into self-contained projects, and put them out to bid. Something a contract programmer could work on for a month or two between projects.
5. Go back into TPF fund raising mode to cover the costs of #4.

The theory being that once you get past the initial tipping point, you'll have a useful tool that will attract developers, and encourage incremental development from that point forward.

I have no idea what, if any, budget TPF currently has. I do know they offer grants from time to time, and I wonder if there has been any effort to parcel out Perl 6 pieces to grant recipients. I don't mean paying for developer proposed Perl 6 projects (I'm pretty sure pieces of Parrot where funded by TPF), but instead specing out (or providing a test suite for) needed bits of functionality to get from point A to B in an orderly fashion.

 -Tom

--
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/

_______________________________________________
Boston-pm mailing list
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to