What projects are currently taking up your time in the programming world?
The Perl 6 design project has been taking up most of my time in the last few years: working with Larry on redesigning Perl, and then explaining our ideas to the wider Perl community. Another part of that job has been experimenting with the new features we're proposing -- prototyping them, sanity-checking them, and then backporting many of them to Perl 5.

And, of course, my restless brain keeps coming up with new modules that aren't in any way related to Perl 6. For example, in the last few months I've released a module for simplifying interactive prompt-and-reply programs, a module that provides a (sanitized) #include-like mechanism for Perl modules, a module that makes it easier to write maintainable regexes, and a module that makes comments an active and useful part of your program.

Other than that, I have an international training business to run and I'm also busy writing a new book on best practices in Perl coding, which will be published by O'Reilly in the first half of next year.

What project, module written, piece of code or work in progress are you most proud of thus far?

The project I'm most proud of is undoubtedly Perl 6. It's going to be a huge leap forward for Perl. And within that project, I think I'm proudest of my work on the concept of "junctions" which I hope will make it very much easier -- perhaps even painless -- for ordinary programmers to use parallel programming techniques in Perl.

There are two modules of which I'm equally most proud. The first is Parse::RecDescent, because it has been of so much benefit to so many people and is now used in some of the most exciting fields of business and research, from Wall St to NASA. The other module I'm especially fond of is Lingua::Romana::Perligata. In contrast to Parse::RecDescent, it's utterly useless in a practical sense, but its concept and execution have an intrinsic elegance that seems to delight many people, both within and beyond the Perl community.

What are your thoughts on the Australian Computer Society's idea to license software developers? Do you think this will create better quality software with more accountability?

I applaud the idea. It's an important sign of maturity in Australian IT, a big step in moving from what is still often a "cottage-based" industry to a more professional structure.

But whether licensing will result in better software or more accountability...of that I'm not so sure. Certification ensures that all registered practitioners have a minimal set of core skills and knowledge, but that doesn't necessarily translate into the experience, the understanding, or the talent required to solve large real-world problems any better.

PHP seems very much in vogue now compared to Perl for Web programming. Do you see Perl gaining more popularity in this area again or should Perl and PHP not be compared?
PHP's popularity for Web development isn't at all surprising. The language is tremendously well optimised for those kinds of programming tasks, and the implementation is very easy to set up. Perl, being a general-purpose programming language, is nowhere near as highly specialised for Web-based development. Comparatively few people seem to need the extra power that Perl can provide (e.g. the enormous resources of CPAN), so PHP's ease-of-use wins out most of the time. As it should.

No matter how much I enjoy programming in Perl, as a computing professional part of my responsibility is to select the right tool for each job. My earlier comments about the impossibility of having a single perfect tool for every design task apply just as much here as well. There is not (nor could there ever be) one single perfect implementation language. Every programming language is optimised for something, which means that every language has to compromise on something else: speed against flexibility, readability against expressiveness, standardisation against portability, portability against native optimisation (i.e. speed).

Unfortunately, many programmers only ever learn a few languages; increasingly, just a single language. Apart from the well-known consequence that "when all you have is a hammer, every problem looks like a nail", this high degree of specialisation also promotes the perception that the various languages are in competition, because as a specialist programmer I have to compete with specialists in other languages. But, to the multi-lingual programmer, languages are just tools, to be selected and used according to the task at hand. Saying that languages compete is as bizarre as saying that hammers and chisels and saws are in competition. For what? The carpenter's mind-share?

So I have no problem whatsoever with PHP being more popular than Perl for Web development. Or, for that matter, with Perl being vastly more popular for system administration tasks. As long as I'm allowed to continue using both of them for the jobs to which each is best suited.

As a professional instructor and senior lecturer at Monash University is there a golden rule or piece of advice you give to programmers?
I think the single most useful piece of advice I have tried to pass on comes originally from Brian Kernighan:

    "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it."

That makes it imperative to write the code as simply and as correctly as you can in the first place. That's what I try to teach.

What will you be talking about at the inaugural Open Source Developers Conference?
I'm really looking forward to telling the Australian Open Source community about Perl 6, especially about the extensive new OO features we're adding to the language. I'm also excited to have the opportunity to talk about my minimalist approach to developing user interfaces and software APIs: a philosophy I call "Sufficiently Advanced Technologies". It should be fun.

Related links

Leave a comment

You must read and type the 6 chars within 0..9 and A..F

* indicates mandatory fields.

Log in


Sign up | Forgot your password?

  • Staff Aussies to pay more for Win 7

    If you are looking to make some money in these troubled times, perhaps importing copies of Windows 7 could be for you. Read more »

    -- posted by Staff

  • Staff Firefox: Greens want it, 3.5rc2 not up to par

    This week's roundup looks at the situation surrounding a campaign to change Outlook HTML renderer, a Greens MP wants to install Firefox but is restricted and all the photos from the iPhone 3GS launch. Read more »

    -- posted by Staff

  • Chris Duckett Microsoft misses the Outlook point

    Ask designers which mail program is the bane of their existence, and you'll find that Outlook tops the list. The reason why the most popular email reader is also the most painful is simple: it uses Word to render HTML emails. Read more »

    -- posted by Chris Duckett

What's on?