I've seen a gajillion reasons pro and con to choose Perl over Python and vice versa.

Python is a newer language and definitely has a strong advocacy surrounding it. I've heard Python users upbraiding Perl users because they think their language has a better OO model. (Personally, I really like the freedom that Perl gives you in its OO model, though some things like interfaces and the ability to use enforced public and private methods, perhaps through pragmas, should at some point find their way into the Perl lexicon.) In a couple of years, Ruby will be the up-and-comer and its advocates will be upbraiding Python users for not using the "most OO" language.

But what is true now and what will be true in five years is that they're all fine languages, each with strengths and weaknesses, and any one of them will do what any of the others do about as easily in the hands of an experienced programmer.

(The only exception to this is the CPAN, which allow Perl users to stand on the shoulders of giants. Undoubtedly in a few years Python and Ruby will have their own versions of the CPAN well-stocked with valuable contributions, though Perl definitely has the first-mover advantage here.)

So when I am asked what language is the best, my response is to ask several questions: What are you going to try to do? What do other people you know (and who could give you help or mentorship when you need it) use? Which community do you find to be the most open and helpful?

I've tried Python and keep coming back to Perl. Personally, I think the freedom it gives me as a programmer is important. The CPAN is incomperable in every sense of the word. And it's just turned out to be the most practical choice in most situations.

But one is not clearly better than another by any means. In fact, they're really two sides of the same coin. And your choice should reflect your goals and preferences, not some esoteric argument about style that hardly matters to the efficacy of a programmer in either language.

My primary hope as I watch the communities evolve around Perl and Python is that they do not get mired in squabbling about who is the best (like identical twins calling each other ugly) but that they take the spirit of the open source community to heart and cooperate on such projects as Parrot to their mutual advantage.


In reply to Re: Perl vs Python by Starky
in thread Perl vs Python by Anonymous Monk

Title:
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, details, 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, summary, 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.