Posted by admin (Graham Ellis), 30 August 2002It's part of my job as an author of training courses and a trainer to take a new concept or a new language, and by learning about its structure and minutiae come down to a few broad brush stroke statements that describes what the concept of the language is for newcomers before I delve in more deeply.
Damian Conway and the audience at his lecture last night on Perl 6 made my job easy. Damian's an excellent speaker, and the "oo"s and "ah"s of the audience were a pretty fair indication of the "wow" of the new language and what's going to be imnportant for the career Perl geek. All I have to do is work out what it means for those of you don't live, breath and eat Perl, or who are just now learning it as a fresh language. So here goes:
If you're a current Perl programmer
Perl 6 is not "Perl 5 + 1". It's "Perl 5 - 1 + 2". In other words, there's a huge raft of new facilities that have been on our "WIBNIF" (Wouldn't it be nice if) lists AND there are many new offering that leave us awestruck when they're first described, but then become sheer genius as we come to understand. In all of this, the brave decision has been taken that some of the older parts of the language that have become formally (or informally) depreacated over the years can be dropped, and - bravely - that some features that we love and cherish must also go to allow extensibility, and/or to bring Perl more into line with (example) the use of the "." operator in other languages. The Acronymn "DWIM" will become one that you get to be very familiar with - "Do What I mean"; a Perl 6 philosphy as the language is parsed and run and one that you've seen through a crack in the door in earlier Perls.
So - Perl 6 is NOT compatible with Perl 5. We're promised convertors, and with the extended power of modern computing much of the Perl 5 functionallity / code handling can be built in to the new language - for example m:p5/..../ to
match a regular expression Perl 5 style.
The newness is an extra crispness, a cleaning up of the syntax so that the language is much easier to read, a background automation of so many tasks so that you don't have to code them any more (did you ever wish you had named parameters to a subroutine ... you have ... and you have something better too so that the names can be implicity gathered - don't BOTHER to declare them!).
The new Perl will still not be a language for the fainthearted, and it won't turn coding into a mindless piece of work. Quite the reverse; when you're "there" with understanding it, it'll be second to none in terms of coding speed and efficiency, and it'll be fun too.
Damian concluded his talk "We're giving you the power and the facilities that you've been asking for. Now go use them carefully"
If you're a newcomer to Perl
Perl 6 is going to be a language in which you can achieve a lot very fast indeed. Coding will be quick, and programs will be shorter and very much more self-documenting than you've been used to in other languages, or lead to believe. The language will be excellent for the small "one liner" type task, and also for the larger project where full object oriented design is the way to go.
Many of the facilities in Perl 6 will take your breath away if you've programmed in another language, and the rich veins of faclities will mean that although you'll be able to edit a few lines of code with relative ease, if you do so you'll only be using a tiny proportion of what's there and there would probably be better ways of doing things. Realistically, if you're new to Perl you shouldn't be fooled by a few quick one liners into thinking it's a language you can get to grips with in a couple of days - it's not; you should budget good time to learn it (and to keep learning more about it), but you can also be re-assured that the time you invest in learning will be more than repaid in the very short term as your coding productivity rockets above what you could achieve in another language.
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: email@example.com • WEB: http://www.wellho.net • SKYPE: wellho