A Blog of Very Little Brain

'What does Crustimoney Proseedcake mean?' said Pooh. 'For I am a Bear of Very Little Brain, and long words Bother me.'

I agree to disagree with you

with 6 comments

Having advocacy spoken in your cause is good, until you realise that the advocate may express similar opinions, but use different arguments, some of them contradicting your own, to a point of dispute.

Jonathan Rockway, of Catalyst andblog, made such an argument (emphasis mine):

So finally to the conclusion. If you are like me, most programming you do is about gluing things together with libraries. Perl may not be the prettiest language, but we have so many libraries that you won’t have much time to see the ugliness. This is the reason why people stick with Perl, even though other languages have prettier syntax. It is so easy to get stuff done, and contribute your “stuff” back to the community, that we never even worry about the ugly syntax. It just goes away, and all we think about are solving our problems

I mean, thanks. “Yes, Perl is ugly, and Yes, I would’ve dumped it if I only could, and Yes, I feel like gorging my eyes out every time I use it but, those damn Perl Hackers just filled CPAN with so much stuff, that I can’t.” This isn’t “Perl is good”, but “Perl is bad, but CPAN makes it worth your while”. I’ve only skimmed the comments, but the names “Java” and “python” have already been spotted a couple of times.

try searching for your favorite programming topic on search.cpan. You will probably find that your problem has been solved in an easily-digestible library form. Clicking a few links just saved you from a week of coding

For some, the huge monolith that is CPAN is more a curse than a bless. Suppose you want to work with XML, how do you know whether you want XML::Parser, XML::Twig, XML::LibXML, or any of their derivatives? Suppose you finally settle on XML::Simple, and after a while, encounter some issues, you’ll then hit some newsgroup/forum/mailing list only to find out that you should “not use XML::Simple”. The rule of thumb when it comes to using CPAN is “familiarity through usage”. The user is expected to leaf through the dozens of seemingly similar modules and select that which looks the most fitting to his problem. If said module comes short, and with the knowledge of which features he really need, the user is then returning to CPAN for a more focused search, until the golden pot is struck.

Not that there’s anything wrong here, mind you. This process is essential to good software development. Learning about your problem is crucial to finding the best solution to it, pin-pointing the important features you need from a module is another good step. After all, if you only need something to test for whether the XML is well-formed, it means that a: any basic module will suffice and b: XML parsing isn’t one of the major problems of your program.

However, this attitude can also deter people from using CPAN, and coupled with the “Perl is ugly” stereotype, one get the feeling that maybe its better not using Perl altogether. The point I’m trying to push forth is that CPAN is a blessed occurrence, and once used, can’t be underestimated, but Perl true power and, dare I say, beauty is in the syntax.

In a nutshell, Perl was designed to be a programming language that is constructed as a spoken language.

Everything about it, all the “ugliness” that you might find: the “sigils”, context-based interpolation, the integration of functions as keywords in the core language, you name it. It’s all ideas that come from spoken language, and implemented in Perl.

This way, when you speak fluent Perl, you can express yourself better, make better use of the language, and truly fit it to your way of thinking, in a way no other language can. And it got an amazing modules library.

Written by Erez

Thursday, August 14, 2008 at 8:40

Posted in Programming

Tagged with ,

6 Responses

Subscribe to comments with RSS.

  1. I read the bits you quoted first, and then went to the Rockaway’s original and realized I’d already read it.

    Nowhere is he saying or even implying that Perl is bad. Nowhere is he saying that “he’d have dumped it if he could”
    He is saying that every language is missing something – so pointing out missing features is a non-argument, and he’s also saying that programming isn’t about syntax – so “my syntax is better” is also a non-argument.

    Whatever programming tool you’re using, if you believe it has no downside, then you don’t know it well enough.

    wrt CPAN, the community has been discussing just that for awhile now. I believe solution, or at least proto-solutions are being proposed.

    Uri

    Thursday, August 14, 2008 at 16:46

  2. I believe I copied, and highlighted the words that indicated that impression. But, I might be imagining things. Fine, I imagined he said the syntax is bad, that others have better syntax and that using the libraries help him sleep better at night, despite the bad syntax. I then answered the arguments I’ve imagined to the best of my ability. In my mind, it was a very good debate.

    Also, his “every language is flawed” doesn’t mean he can say “perl is ugly”. It may have flaws, but ugly syntax isn’t one of them.

    Erez

    Friday, August 15, 2008 at 17:38

  3. The parts you copied and highlighted give a completely different impression from the one I got when I read the entire original posting.
    In the context, the entire context, in which it’s written, it doesn’t mean the same as it means when it’s said by people who’d just heard it said by someone.

    Uri

    Friday, August 15, 2008 at 18:19

  4. and if you critique someone, at least let him know about it. I’m not an experienced blogger, so I may be missing it, and if I am, I apologize, but I see no indication on his blog that he can know about your response.

    Uri

    Friday, August 15, 2008 at 18:23

  5. “In the context, the entire context, in which it’s written, it doesn’t mean the same as it means when it’s said by people who’d just heard it said by someone.”

    Quite a nice long way to say “you’re quoting out of context”. Could be, but! I am saying “good point about CPAN, but I disagree about ugly syntax” and “comments wrt syntax are spoken in a manner that (possibly out of context) gives the impression that writer is ONLY sticking to Perl because of CPAN, and had CPAN cease to exist, would be very happy to go the direction of something newer and shiny-er”

    In other news, I believe WordPress pingback automatically any linked sites (including self references), but I’ll check.

    Erez

    Sunday, August 17, 2008 at 15:30

  6. I thought the first line of my first comment was an even nicer way of saying it.

    Uri

    Sunday, August 17, 2008 at 22:13


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: