http://qs321.pair.com?node_id=291285

Greetings fellow Perl Monks,

I just got off IM with the manager of local computer school's training. He's something like a "dean" of this computer science school, except the school is a public training company, not an academic university. Anyway, I've been hiring grads from his school for the last year or so, and while they have good PHP skills and generally can pick up Perl fast, I've been really concerned about their lack of initial Perl skills. Here's a run-down of the conversation:

Gryphon: I was wondering about my volunteering to teach some Perl coursework. Off the record, I really like the "can do" attitude of <school name> grads, but I'm concerned that they claim they can code Perl but haven’t even heard of CPAN.
Dean: We use Perl for CGI in the web program and don't get that far.
Gryphon: Right, but even Perl for CGI should have a CPAN intro.
Dean: Perhaps, but PHP in the .NET environment is so much more powerful. I see more and more developers coming into the job market with PHP skills rather than Perl.
Gryphon: Yeah, but I'm not sure that the job market is there yet. I see a lot more jobs for Perl than PHP these days.
Dean: PHP works beautifully in Cold Fusion.
Gryphon: So? Why would you want to use PHP in CF?
Dean: Fact is that PHP and Cold Fusion are better choices than Perl.

What could I have said at this point? Anything other than hard numbers or well-written documentation would have been brushed aside and ignored.

I know this topic has come up again and again here on PerlMonks and elsewhere, but I have not yet found anything solid I can throw at people like "Dean" in situations like this. I can only toss over anecdotal pseudo evidence, personal experience, and incomplete benchmark test results. Obviously, his last statement is based 90% on religious bigotry, and I'd like to have a complete resource that all but proves how wrong he is.

In a production environment, Perl runs just as fast as PHP and much faster than CF. Properly configured, mod_perl will run just as fast as compiled C++ (in my experience at least). But even if Perl was slightly slower, so what? Adding CPU, RAM, and disk space is ridiculously cheap. Ultimately, the cost of a software language choice is in development time pre-launch and engineering operational support post-launch. Regardless, CF isn't free. Perl is. PHP isn't bad, it's just limited. With CPAN, I can do just about anything (and I do mean anything) in Perl. What's that quote? "Over 90% of any Perl application is already written." That's an amazingly powerful concept that is lost on anyone who's not familiar with CPAN, which is most non-Perl and junior Perl people.

So here's the problem: We all know these truths to be self-evident, that not all scripting languages are created equal. The rest of the world apparently does not know and needs evidence to prove the case. I'd like to work on developing something that compares the aspects of Perl, PHP, CF, .NET, JSP, and perhaps a few others. Has anyone found anything like this? I'm not talking about an article of a couple pages in length that compares PHP and Perl, giving the reader warm-fuzzies about each language. I need hard and cold facts that will make the CF/.NET zealots reexamine their beliefs.

gryphon
code('Perl') || die;

  • Comment on Yet Another Perl/PHP/CF/NET Comparison Question

Replies are listed 'Best First'.
Re: Yet Another Perl/PHP/CF/NET Comparison Question
by jeffa (Bishop) on Sep 14, 2003 at 07:44 UTC
    From the looks of that conversation, i would say that the chances of convincing the 'Dean' that Perl should be in the curriculum is mighty slim. The conversation turns from you offering your services to Perl Versus The World!!! Seems like a very unwinnable fight. (At this point, i am interested in what this Dean's opinions of Python and Ruby are as well.)

    How about contacting your local Perl Mongers Group? If there isn't one - start one! Advertise at this trade school. You may not have as many students show up as you would if you taught at their school, but a few is better than none. And when it comes to the best, there are fewer of those than the rest.

    jeffa

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    B--B--B--B--B--B--B--B--
    H---H---H---H---H---H---
    (the triplet paradiddle with high-hat)
    
Re: Yet Another Perl/PHP/CF/NET Comparison Question
by Anonymous Monk on Sep 14, 2003 at 09:58 UTC
    Perl runs just as fast as PHP and much faster than CF

    Nope. Perhaps mod_perl, but plain old CGI Perl gets blown away (Yahoo for Benchmarks).

    Properly configured, mod_perl will run just as fast as compiled C++ (in my experience at least).

    Not unless you have very limited knowledge of C++

    Adding CPU, RAM, and disk space is ridiculously cheap

    Depends on your definition of cheap. Compared to adding extra 60,000+/year programmers extra hardware is cheap, but what about small companies where every thousand counts? How about companies on shared hosting where hardware upgrades cost massive amounts?

    What's that quote? "Over 90% of any Perl application is already written."

    What's that quote? Over 90% of any PHP application is already written? Math::Random::NoreallyItsRandom::IPromise doesn't help that many people. There is a very common subset of problems that are solved by standard modules.

    So here's the problem: We all know these truths to be self-evident

    I agree. The problem is definately that you "know" all the truths to be "self-evident." However, do you have an adequate basis for "knowing" this (excessive quoting alert!)? Have you used all the given technologies?

    I need hard and cold facts that will make the CF/.NET zealots reexamine their beliefs.

    And they need cold facts that will make the Perl zealots reexamine their beliefs. See the similarities here?

    Now that I'm done with the excessive blockquoting and pointing out the rather obvious, I'll get to the real point:

    • Language comparisons are hard. - What do you compare? Which versions? Benchmarks? - those are hard to write fairly - what do you benchmark? Which configurations do you use? - only standard modules? How about mod_perl which requires additional knowledge? How about programmer productivity? Maintainability? Security? Number of bugs? How many are found? Unfound?

      The problems are endless and any way you approach them, the zealots on the short end will criticize you.

    Also, consider what you're getting out of this. Why do you want to convert these "zealots?" If they're really wrong, they'll fail and be less competition for the rest of us. I'm sure your energy would be better focused on actually improving your religion... I mean programming language, instead of blindly promoting it.

    And for the record, I no longer use any of the technologies you've mentioned (except the occasional bit of maintainence), but I have used them all in the past.