"Perl 6 Myths"
Version: 2 (8th German Perl Workshop, 2006)
Duration: any(5..10) minutes
This talk is about Perl 6, not about Parrot.
Perl 6 is an April fools joke
No, Parrot was that.
String concat is underscore
No, it is tilde (~).
Backward compatibility is broken
No. Perl 6 can use CPAN modules.
The implementation must handle mixed P5/P6 programs correctly.
There will perhaps be a conversion script.
Perl 5 is good enough
Perl 5 has slow subs, unreadable internals, and no specification.
Threading in Perl 5 is a problem.
Perl 6 development is closed and secret
Almost everything happens in public mailing lists.
You can join today and hack away at Parrot, Pugs, and the many subprojects.
Perl 6 blocks Perl 5 development
Different people work on the different projects, so no.
Because context switches are hard, and time is limited, this is a natural situation.
Perl 6 improves
Perl 5 sometimes, even. Perl 5.10 will have:
- //, err (defined-or)
- ~~ (smart match)
- given, when (switch)
Perl 6 is harder than Perl 5
There is more to learn, but it will not get harder.
Consistency (less exceptions!) and new ground breaking features make things easier.
The end result, I think, is balanced.
Perl 6 is slower
Whoever says this, is either paranormally gifted...
...or basing the claim on the current state of Parrot or Pugs, which are nice
software but not quite ready for production, and no indication of the final
CPAN-modules lose their value
Through Ponie, many Perl 5 modules will be usable in Parrot.
Pugs already compiles Perl 6 to run on Perl 5. We will make CPAN modules
transparently accessible to Perl 6 programs.
And of course we get modules for free from languages that switch to Parrot.
There are 0 lines of code in Perl 6
Simply not true.
We have 35_000+ lines of Perl 6 tests, 7_000+ lines of examples, all written
in Perl 6.
Perl 6 depends on Parrot
Even though The Plan prescribes that Perl 6 will run on Parrot, and that Parrot
is written primarily for Perl 6, we can have Perl 6 without Parrot.
(Parrot), its own evaluator, and... the Perl 5 runtime.
The rest of the world makes the standard
Other languages often have good features, and we should steal them.
The dot is stolen because it is better.
It saves two keystrokes (67%), one character (50%), and visual clutter.
The dot makes it Java-like
That's up to the users. I think we can make it Ruby-like, Python-like, or Perl
6-like instead of Java-like.
$i++ is still there. Don't worry, we won't have
Obfuscation and golf will die
Perl 6 has many new ways to obfuscate and shorten code.
There's less flexibility in where you can put whitespace, but you get
hyperoperators, junctions, and twigils to compensate. If you want to write
unreadable, ugly code, you still can!
It'll take years until we have Perl 6
Pugs is already around, and you can play with it as much as you like.
Perl 6 will be released when it's ready.
If you want to help make it ready, please contribute!
It's hard to contribute
We try to make it easy.
Committer bits are given out to everybody, there is a shared development machine
you can get free access to, there are open mailinglists and IRC channels.
Perl 6 is not Perl
By the same logic, neither was Perl 5. Or Perl 4. Or Perl 3.
...or Perl 2 (which changes /\.\*/ to /.*/).
Try to look at some Perl 6 programs; they really feel Perlish.
My Perl 5 knowledge will be useless.
Perl 5 is not going away. In fact, Perl 5.9 has many Perl 6 features you can
start using -- see "features.pm" for details.
Unlike proprietary technologies such as J2EE or .NET, the transition
to Perl 6 will be gradual.
Don't believe in myths, don't believe in the FUD (fear, uncertainty, doubt)
that people spread. Instead, believe in Perl 6, and the many people who spend
lots of time on making it happen.
This talk is in the Pugs subversion repository, under
Please join us in #perl6 on Freenode.