Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
For some reason, about three times in the last week I've mentioned Perl, not even in advocacy, and been jumped on, patronised, sneered at and otherwise dissed for using Perl (specifically for websites, but in general too).

Now, I'm very much an amateur programmer, I know nothing of the wider world of languages, Perl has always been a good language for me (despite the fact I started with the awful "For Dummies" instead of something from O'Reilly).

Now I only jokingly say I want your sympathy, I think I can take that as read, but perhaps you could explain to me what these Perl-haters are even talking about.

One person said that Perl wasn't suitable for "large website projects" and I should have used PHP instead. Now I know that PHP has got major issues when it comes to things like namespaces, let's not bother with that one, but the main things I don't get are:

  • People saying that Perl is a "write-only" language, and other constructions which add up to the idea that Perl created by Programmer A is not just sometimes, but always hard for Programmer B to pick up; as if, simply because TIMTOWTDI, each Perl programmer sits down and deliberately obfuscates his or her code, or even that, just by the law of averages, the enormous number of Different Ways To Do Things means that by probablity alone, the chances are that I learned one, and you learned another. Is it simply not possible, by design, to write obfuscated Java or C? One person said Perl was "eccentric" simply because it has "unless" as well as "if".
  • People saying that Perl doesn't have proper Data Structures. This seems to mean something quite different to people who know C, and seems to be all about speed: C has different kinds of arrays called lists and arrays, which are good for different things, plus what we call hashes as well? One guy said derisively that "to a Perl programmer, every data structure is a hash" which even a dummy like me knows is wrong. But maybe "hash" meant something different to him?

I'd appreciate, not even Monks supplying me with the counter-arguments, but just explaining what the mind-set is of these people who seem not just to dislike Perl but to actively hate it.

Where did they learn programming, and who taught it to them, that they so disdain Perl in all its richness and variety? What are the key elements of what they consider to be a "good" language or program that Perl can't give them? Blinding speed? Tight, highly-predictable RAM usage? Compiling code into binaries so that nobody can read their source? Absolutely everything being object-oriented, so that you have to instantiate a world object with a hello() method before you can so much as "print 'hello world'"?

=~y~b-v~a-z~s; print

In reply to Seeker Of Perl Sympathy by Cody Pendant

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • 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:
    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
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    [Corion]: Hurr. Yesterday I played around with ffmpeg as a new toy and found its "scene" filter great - it detects scene changes. Now I could write a module that splits a given video on its cuts into different scenes. Except I have no use case for that :)
    [Corion]: (and also, writing yet another FFmpeg module just to wrap system() and grep through its output isn't all that great ...)
    [erix]: cut out advertisements from movies? :)
    [erix]: robably not possible (or it would have been done already)
    [Corion]: erix: Oooh - yeah, that would be a good application of this, true (except that I don't consume movies-with- separate- advertisements that much nowadays :) )
    [erix]: yes, it's old annoyance :)
    [Corion]: erix: I think it's basically quite possible through a variety of means - change in audio level (advertisements are usually louder), common "advertisement starting" blocks, fade in/out of TV logo

    How do I use this? | Other CB clients
    Other Users?
    Others browsing the Monastery: (11)
    As of 2018-05-24 11:14 GMT
    Find Nodes?
      Voting Booth?