Perl creator Larry Wall
You once listed the three virtues of a programmer as laziness, impatience and hubris. a) In what way do you think these virtues can be fostered by the way a language is designed, or are they merely a characteristic of a developer? b) How does the design of Perl encourage those virtues?
If you are lazy you look for shortcuts. If you are impatient you want your program to be done now. And as for the hubris, that makes the programs easier to distribute. That will help programs be used universally and that has some ego value.
My own take on that personally is it's been a privilege not to just write a programming language but invent a new medium of art that other people can work in.
Why has no specification or standard for the language been created?
There has for Perl 6. It's one of the things we decided to change. There will be multiple implementations of Perl 6, so it needs a standard and there will be a test suite.
We have a saying: all is fair if you pre-declare it. The idea with Perl 6 is you start with a standard language and you can mutate it. As long as you follow that refinement process there isn't the problem of ambiguity. There is the problem of multiple dialects, but that will always be a problem.
Have you ever played Perl Golf or written a Perl poem?
I wrote the first Perl poem and played Perl Golf. But I'm more well know for my obfuscation of C rather than Perl. It's been a long time.
What new elements does Perl 5.10.0 bring to the language? In what way is it preparing for Perl 6?
Perl 5.10.0 involves backporting some ideas from Perl 6, like switch statements and named pattern matches. One of the most popular things is the use of “say” instead of “print”.
This is an explicit programming design in Perl — easy things should be easy and hard things should be possible. It's optimised for the common case. Similar things should look similar but similar things should also look different, and how you trade those things off is an interesting design principle.
Huffman Coding is one of those principles that makes similar things look different.
And what about Perl 6? Do you have a release date for this yet? Are you able to talk about the most exciting/interesting new developments with this?
Sure, It's Christmas Day — we just don't say which one. We've been working on it 8 years now and we would like to think we are a lot closer to the end than the beginning. We're certainly well into the second 80 percent.