Thursday February 22, 2007
07:19 PM
Why ____ Is A Bad Language
I hate uninformed advocacy almost as much as I hate foolishness. Here's my scorecard for Why perl is a bad language. The author:
- Conflates reading speed with comprehension.
- Elevates syntax above all other concerns of understanding such as naming conventions, API familiarity, and problem domain.
- Argues from a very selective consensus from other programming languages.
- Mentions but immediately dismisses the value of a specific area of customization despite the fact that it leads to less punctuation.
- Weighs the experience of dilettantes much more heavily than serious users.
- Fails to understand the difference between string and numeric comparisons.
- Uses the phrase weakly typed as if it had any discernable meaning, without bothering to give even a local definition.
- Demonstrates a stunning lack of familiarity with anything besides a static structural object system.
- Draws an arbitrary strawman line that two ways to do something is better than five without giving an example.
On the plus side, at least the author spelled "Perl" correctly and didn't say anything stupid about "Why are there sigils? That is SOOOO confusing!"
Final score: 2/11.
A Never-Ending Battle (Score:1)
Generally your points don't seem to make much headway among those who have some visceral need to mock Perl -- probably no hope there -- but I expect there are many hackers like me who read your comments and gain more understanding about Perl's usefulness to a professional programmer and why it can make programming fun. I also notice that very few people argue with the points you make :)
Re: (Score:1)
Thanks, Dave. It feels awfully frustrating from the responses, but I'm glad to hear that some of the silent majority of non-commenters finds some benefit.
That's it? (Score:2)
Different is bad. (Score:1)
I was also curious about his statement that "most other weakly typed languages get by just fine with using ==". I decided to look up PHP as an example. It seems that PHP does use == for all types but they had to add === to distinguish "equa
Re: (Score:1)
At least he didn't use the word "intuitive", which as far as I can tell means only slightly more than "strong typing" or "weak typing".