Problem with Perl 6 was that it's too ground-breaking, without having the resources of a huge company (like Sun, MS).
But it doesn't matter because you can't find the combination of features it provides in other languages ...
* full OOP
* optional typing
* multi-dispatch
* macros
* cool pattern matching
* functional features ... map, fold are at home ;)
* continuations / coroutines
* transactional memory
* eventually it will be compatible with every package on CPAN
Personally I don't like Perl (either 5 or 6), I'm more interested in Parrot because what is widely viewed today as being general-purpose VMs (the JVM / .NET) are a poor choice for dynamic languages.Consider that the JVM and .NET are stack-based. Because of that efficient continuations passing style is impossible on top, and that's a PITA because you can build any control structure on top ... tail-calls, closures, coroutines, exceptions, green threads ... can all be implemented efficiently in terms of CPS.
Another thing against the JVM / .NET is that they'll never earn optimizations for dynamic languages that could impact the performance of first-class citizens. You can forget about an efficient tracing-compiler on top of those, simply because such optimizations are not cheap and can impact the performance of Java / C#, and those VMs are not low-level enough to implement it at a higher level.
And for instance, personally I'm skeptic that InvokeDynamic on the JVM will deliver that much performance. Yeah, it provides a mechanism for a monomorphic inline cache, and from there the JVM can do stuff like code-inlining of call-sites.
But it doesn't do tracing of types, which means that code like the following ...
sum = 0
for i in range(1000):
sum += i
will always pay for the price of boxing/unboxing of those primitives, an optimization that current Javascript VMs and LuaJIT 2 are doing.So if Parrot delivers, it will be one heck of an alternative. Either way, its interface is nice and you can use it right now for prototyping new languages.
On the other hand, it's already a pretty good time to play with Rakudo Perl 6. It's still got some rough edges, and it's slow, but it's also expressive and powerful.
But if popularity is a factor, then go PHP...
I find language specific jobs incredibly lame. Language is a small factor in what I do. I just want to be able to say, "I'm gonna do it in Perl." and not have everyone groan and not want to work with me on it.
Something similar goes for most any language, except (probably) Java and PHP. Unless you already live in e.g. London or some other hub for a given environment.
I hope Perl 6 changes that. Is it ready to use?