in reply to What is it about perl that makes perl so cool?

Please bear with me when I say that feel like Perl is much harder to learn than Pascal, C, and C++ (my other languages). Everything in those languages is very clear-cut and plainly specified, and a fairly complete understanding of them is achievable, and necessary, for any competent programmer.

Perl, on the other hand, is so complex and subtle that to truly understand how the language works, you have to study a book like <cite>Advanced Perl Programming</cite>. How many Perl programmers actually reach that level? Learning Perl is a lot like growing up. As you get more and more sophisticated, the grown-ups give you more and more complicated explanations of how the world works.

You can imagine plotting every language as a point in a quarter-plane, where the x-axis indicates how difficult it is to understand the language, and the y-axis indicates how productive you can be without understanding it. (You have to imagine a different graph for every meaning of the word "understand.") Perl would be very, very far from the origin, and C would be very close to the origin.

My current understanding of Perl is filled with holes, comforting lies fed me by the Perl grown-ups, and things that I've simply made up -- yet I can write complex programs from scratch. This would not be possible in any other language that I've seen.

It also explains why I'm writing big, useful, complex programs in Perl and at the same time feeling like a complete beginner. In Perl, I haven't yet gotten past the feeling that at any time my code might wander into the dark area where my current understanding will deceive me. Judging by my productivity, though, rather than by my gut feeling, Perl wins for ease-of-learning by a mile. That's the bottom line.

  • Comment on Re: What is it about perl that makes perl so cool?