in reply to Why so much hate?
Here's an excerpt from Bjarne Stroustrup; someone who has made a career of developing, using, teaching, and defending a language that is possibly more used, and more hated than Perl, while being at least as useful in its own domains. (stroustrup.com):
- If you think so, go use what you consider better. It may indeed be better than C++ for your purposes.
- C++ is a very useful language that is used successfully by MANY people in MANY application areas. I guess that is a large part of what bothers some. By being successful, C++ offends many who have strong notions of what else ought to be successful.
- The major cause of complaints is C++ undoubted success. As someone remarked: There are only two kinds of programming languages: those people always bitch about and those nobody uses.
- C++ isn't perfect. That is well known and acknowledged from the start. It is, however, a reasonably carefully thought-out language where the design is based part on acknowledged principles and part on solid experience and feedback from actual use. See my book The Design and Evolution of C++ for an exposition of the aims of C++, the design process that led to the current language, the reasons for particular design decisions, etc.
- I wish I had an electronic equivalent to a little duck-horn, so that a rude BEEP was triggered by every unsupported derogative statement about C++. The noise would be deafening, though. An increasing number of people seem to relish displaying their ignorance and poor manners by snide remarks and gratuitous inaccuracies.
- At a recent conference, a speaker asked for a show of hands and found that twice as many people claimed to hate C++ as had ever written even a single small C++ program. The only word for such behavior is bigotry. In dealing with the current wave of C++ bashing, we should remember that bigotry is bred by ignorance and fear.
- It should also be remembered that if bigotry is not opposed but allowed to fester and sow distrust real harm results.
One could substitute Perl for C++ in every one of those bullet points, and it would be equally applicable. COBOL was useful in its era, in its domain as a business language, though it probably was applied to problems that were too big for the facilities it provided for large-scale applications. Poorly written <<any language, including Perl>> also doesn't scale well for large-scale applications.
Perl, unlike COBOL, does scale reasonably well. And like C++, it's intimidating at first, and the deeper one digs, the more one finds to be intimidated about. But also like C++, (probably even more-so) with Perl a "baby subset" of the language can be useful to newcomers, and it's possible to become productive without mastering all the dark corners.
If you're looking for some "what's next" books: Modern Perl (chromatic), and Higher Order Perl (Mark Jason Dominus) might be good reads. Also, even though it's a few years older than the current state-of-the-art, Mastering Regular Expressions, 3rd Edition. Modern Perl and Higher Order Perl are each available legally for free.
Update: Instead of focusing on what others (possibly who haven't really given it a chance) say, focus on those things people who use Perl enjoy about the language; its expressive, powerful syntax; its DWIMery; and probably most of all, the CPAN. Perl is, after all, the syntax one must use as the price of admission to all the code available on CPAN.