Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked

Re: Why so much hate?

by sundialsvc4 (Abbot)
on Aug 07, 2013 at 13:43 UTC ( #1048353=note: print w/replies, xml ) Need Help??

in reply to Why so much hate?

“TMTOWTDI™ = There’s More Than One Way To Do It” is, of course, a mantra around these parts, even a point of pride, but it is off-putting to a beginner who might have cut his or her teeth with a strongly-typed language (Java ...) which has a strong sense of “compile-time” error checking.   Perl is, by design, very much a “DWITYM = Do What I Think You Mean” system, which must be told, by means of the ubiquitous use strict; use warnings; pragmas, even to provide certain errors and warnings that you might otherwise merely expect.

Is that “a deficiency?”   No.   But I do freely admit that it was a difficult language for me to learn ... and I’ve been doing this 30+ years and counting.   However, like so many other people, it is (among the many languages that I routinely use) a consistent favorite for exactly the sort of tasks that make it “The Swiss Army® Knife of pragmatic, for-a-living, computer programming.”   Ripping files apart, for instance.   Stuff that I didn’t think that it could handle ... that it handled with power.

You cannot consider Perl without CPAN, which at this particular moment contains:   94,134 Uploads; 28.061 Distributions, 123,844 Modules, [contributed by ...] 10,840 Uploaders.   All of these modules are yours for the asking, at no charge, and they will custom-install themselves and self-test themselves upon your computer ... (almost) no matter what kind of computer it is.   All production languages have a similar library of contributed software, but I am of the opinion that Perl’s is one of the most comprehensive and all-around best.   (And, again, I use pretty-much all of the mainstream languages quite regularly, as do, I daresay, most of the folks around here ...)   Let us give proper credit where credit is most-richly due.


It’s interesting and unsurprising that JavaScript was mentioned, as this is a language that is even more difficult to deal with, effectively impossible to debug except “at runtime,” yet it is accepted (sic ...) because it’s still the only game in that town.   Years ago, I started to use haXe for cross-platform software development, and I immediately found to be a tremendous improvement over “ordinary” JavaScript workflows, specifically for its strong-typing and other very rigorous tests.   (It generates JavaScript as one of its outputs, and I heartily recommend haXe for that purpose to anyone even if you use it for nothing else.)

And, at the end of the day, “a Tool is what it is.”   People do tend to have (very) strong emotions about them, but emotions don’t pay (or move ...) the freight.   These are tools, nothing more or less.   Not perfect, not absolute, Warts Included,™ built by equally-warty real people to earn paychecks, and incredibly useful in that regard.   Locomotives are not built for their looks.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1048353]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (9)
As of 2018-01-17 11:15 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (198 votes). Check out past polls.