in reply to Re^2: Perl: friend or foe ?
in thread Perl: friend or foe ?

For the same reason they don't teach quantum physics at a lower level. Nor do you get to use a 747 to get your pilot license. And your grandfather didn't take you out to sea for some shark fishing the day got your first fishing gear.

Perl is a powerful language, but only in the hands of a skilled and experienced programmer. And then only some of them.

I don't know-- I'd probably not count myself a "skilled and experienced programmer." I've taken a few classes in college, but I got turned on to perl in my work as a sysadmin-hobbyist. None of the tasks I wanted to automate were difficult; they were usually minor text transformation and redirection. Perl was great because it /was/ simple. As the camel book says, "Perl is designed to make the easy jobs easy, without making the hard jobs impossible."

For teaching simple programming, perl's great-- you don't need all the magic incantations (class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!");}}) or strange operators (cout << "Hello, world") of other languages. You don't need to fight to teach about data structures (perl arrays are arrays, queues, stacks, and so forth), since they're just /there/ and working. And then there's passing by reference vs. value, which perl largely dwims away. If you want to introduce functional programming as compared to imperative programming, perl lets you do that, too. For basic programming, I'd probably start with perl instead of Java or other similar languages. There's certainly value in teaching C++, especially when you want to start talking about lower level computer guts, but basic programming doesn't generally need/want to talk about memory allocation and other complex problems.

Steve