Meta

What’s so exciting in Perl 6 – fighting bugs

Undoubtedly, Perl 6 will bring many new exciting features, and we – Perl 5 users – are really eager to try them out. But what about the beginners or people who just started their Perl adventure?

Well, they’ll also profit, since Perl 6 programs will be much more easier to debug. During his keynote on YAPC::EU 2009 Larry Wall talked about different ways of comunicating errors to the user. But he also announced that Perl 6 won’t only go to great lengths to make the diagnostics of the error easier – it will also give the comprehensive suggestions regarding the fix. Because no matter how strong typing has the language, no matter how straightforward is its syntax and object model, users of this language will tend to make errors. Sure, Ken Thompson is right, but surprisingly, every user starts learning the new language as inexperienced. Once they get experienced, they will understand even the most cryptic messages, but they may never get if the learning curve is too steep (anyone who tried Lisp or Haskell and failed?).

Being a developer means writing software and debugging it. The easier is the debugging, the more time we have to write more software. The more software we write, the more we learn and more experienced we get. But even the experience won’t save us from omitting the parenthesis or bracket, and there are times, when such kind of mistake effects in weird, indirect error message. Larry showed us some examples of Perl 6 signalizing bugs and what was really impressive, was the emphasis on explaining those aspects of Perl that will change during the transition from version 5 to 6. Another thing was some kind of perspective shift – in the phrase parser analyses code written by human Perl 6 is closer to the human part.

And since every single Perl programmer is a human, we will all profit.