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.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||