57 Responses

  1. Jason L. Froebe
    Jason L. Froebe at | | Reply

    It appears that you’re comparing the web development usage of PHP and Perl rather than the comparing the two languages to each other. It may be implied but you may want to make that a little clearer. :)

  2. Troy
    Troy at | | Reply

    I use Perl for stuff PHP does and cannot do. Nothing against PHP, but I think they do compete in different arenas. Not to say that Perl always wins in these other arenas, or that it should, or that Perl doesn’t need better PR. It definitely does.

    I do appreciate your not stooping to involve yourself in a technical pissing match.

  3. John
    John at | | Reply

    The fact that you can’t see the value of the “PHP in contrast to Perl” page, proves you’re no programmer. No one ever said that page was created for higher management, nor was it intended to persuade managers into switching from PHP to Perl. It was clearly designed for geeks.

    Sure PR and buzzwords are nice for higher management as Excel sheets and fancy graphs are to financial departments. This however doesn’t take away the fact that *from a programmer’s point of view* PHP is horribly flawed, compared to Perl.

    And just to let you know: just because you can’t see Perl that often (sure, facebook, wordpress, all in PHP, woohoo, look mom, mine is bigger than his!), doesn’t mean it doesn’t hold many crappy system together, fulfilling the wonderful glue function that no other language can seem to take over. Is php shipped by default now in Linux/*BSD distros? ;-)

  4. Kevin Marshall
    Kevin Marshall at | | Reply

    I work in both PHP and Perl…and I can assure you both will live for a long time.

    There are lots of reasons to pick one over the other, but one big thing you are missing is that Perl is often used outside of web applications…while PHP is 99% (probably more) just about building/serving web pages…so they really can’t be compared as apples to apples.

    Another interesting side note – if you know Perl, programming PHP is um Cake (framework pun intended)…but knowing PHP will only get you to beginner level of Perl…this isn’t nec. a good thing or endorsement of Perl, I just bring it up because it’s sort of an interesting reality…and here’s the rub, once you decide to get serious and learn a language like Perl (or Ruby, Python, Jave, C#, etc.)…most find it hard to deal with PHP day in and day out again…

    It’s sort of like learning to ride a bike…until you get your driver’s lic. it seems like a great way to get around (and it’s cheap)…but once you start driving a real car, biking tends to become this little hobby you do for fun here and there…but when you have to get somewhere, especially somewhere important, you drive.

  5. Jason L. Froebe
    Jason L. Froebe at | | Reply

    A career in Perl development is mostly non-web related as a career in PHP is mostly web development. I’m not getting what your basis of comparison really is. Can you elaborate?

  6. Jason L. Froebe
    Jason L. Froebe at | | Reply

    It’s really difficult to take this article seriously…. and I really am trying to take it seriously.

    On the surface, it appears that you’re spreading FUD about Perl and putting PHP up on a pedestal by using faulty logic about what is popular and what is not on a job site. Basically, you’re saying that if someone is a professional Perl developer, they have wasted their time on Perl. I don’t think that is really your intent though.

    Both PHP & Perl are good languages that are good at what they are used for. There is more than enough room for PHP & Perl developers in the marketplace.

  7. Leon Timmermans
    Leon Timmermans at | | Reply

    I doubt (I haven’t checked so feel free to prove me wrong) that there is a single project with a budget over 200.000 euros being developed on perl.

    You’re very mistaken. Perl is used for many big places. Among websites for example: Amazon, Craigslist, IMDB, BBC, LiveJournal, and many more. Also, unlike PHP it is used backend at many places, from telecom companies to banks. Perl is not limited to websites!

  8. jdv
    jdv at | | Reply

    “I doubt (I haven’t checked so feel free to prove me wrong) that there is a single project with a budget over 200.000 euros being developed on perl.”

    This is nothing but a guess, and a very wrong one. My guess is that
    You didn’t ask anyone who uses Perl professionally about this before
    You penned this article. I’ve personally worked on a few projects where
    Perl was the main technology and the budget was well over your
    arbitrary figure.

  9. chromatic
    chromatic at | | Reply

    Surely you can provide citations to support your “proven facts”.

    One interesting shibboleth of the Perl community is that you can discount almost everything someone says if he doesn’t know how to capitalize Perl.

  10. Radu
    Radu at | | Reply

    Mofos… All of them! Even if I am not a fan of PHP (sucky syntax) I can asure you that PHP is well taken in adopting technologies for it by very large companies (you have mentioned a few). After reading the article I thought why shouldn’t I search on google for something like “Oracle Perl”, “Adobe Perl”, “IBM Perl”… Guess what?! Only fan sites. Geeks that were searching for redemption behind a language that can be considered almost obsolete. I have seen some sources written in Perl that should have been served dynamically as web pages: horrific. Even more suckier than PHP’s syntax that I clearly hate because of the mixing of HTML with curly braces…
    The discussion that you have started is fair: PHP offers you a better career plan that Perl. Straight as that, or gay as a g33k licking Perl code…
    Hey geeks, try this to calm your tears: TIOBE index.
    Btw, Python is starting to piss on Perl. Cry me a river!

  11. Leon Timmermans
    Leon Timmermans at | | Reply

    @tudor: yes, there are probably more projects in PHP than on perl (though the difference is not as big as you may think), but does that make it better in any way? There are more projects in Java or C# than in PHP, does that make them better? Size is not an really argument.

    I’m not out on proving Perl is superior. I’m out on killing the FUD around it though. Your suggestion that PHP is a better career choice because there’s more hype around it is ridiculous. There are plenty of good Perl jobs, a good Perl programmer can get a job easily enough. And just because there are more jobs in PHP doesn’t mean those jobs are better, that’s an entirely different thing.

    But more importantly, there are more important factors that how easily one can find a job in a certain language: like having fun at what you do. I’m not in Perl because I can get a better job (even though I do think I can get a better job in Perl than in PHP), I’m in Perl because I like it. Correct me, I love it.

    I’m happier when coding Perl than when I’m coding PHP, largely for reasons that indeed are mentioned in the tnx article. For me that is the most important reason to choose one programming language over the other. If you’re happier with PHP, by all means use PHP, but don’t use it because of silly reasons as more jobs.

  12. Shlomi Fish
    Shlomi Fish at | | Reply

    Hi! I was referred to your blog post from the perlbuzz twitter. While appreciate the useful insight you gave or two, I should note that your “Learn PHP so you can get a job” attitude reminds me of what Alex Stepanov (the creator of C++’s STL) has to say about Java and what he calls “money-oriented programming” in an interview with him, and what Paul Graham says about Java in “Java’s Cover”.

    In regards to your claim that there are no large-scale projects being done in Perl, I gave some counter-examples in a Hackers-IL post (search for “You cannot write”). And I should note that measuring projects by how large their budget is a two-edged sword. By all means, good tools (and good programmers)
    should enable projects to finish with smaller budgets and more quickly.

    Oh! And you should enable previews on your comments on your blog. I hope this comment came out right, but cannot be sure since I couldn’t preview it.

  13. Alex
    Alex at | | Reply

    It really depends on where are you coming from.

    If you want a safe job and moderate increases in salary, then by all means, choose a language that’s more popular in big companies. The downside to that is of course the affect a shitty job will have on your life, and I’d prefer to shoot myself working eight hours per day doing something that I don’t love. And really, I have experience interviewing people, and there’s a huge difference between passionate people, and people working for a living … it’s a matter of priorities.

    For me the most interesting projects are those started by passionate programmers in their free time, or in your average “dad garage” … because those have the potential to grow, shine and can certainly be worth so much more than 30 years of hard work in a big and rigid company. All poster-children of the Internet have been started that way.

    And why would you choose Perl, Python or Ruby over Java or PHP? Because in a startup or for a personal project … time is much more valuable, and you want the best, most productive tools you can find. That’s one way to make your competition eat dust, and you’ll also have more passion for your work.

    A startup is the place where magic happens, and if you want to predict the mainstream technologies for the next 20 years, look no further. PHP was once better than all alternatives, but right now cleaner and more scalable solutions are available.

  14. Alex
    Alex at | | Reply

    Your analogy to Bill Gates really doesn’t make sense :) But back
    in the days, developers chose Windows because it had an open
    API (you had to pay for the OS/2 SDK) and it was available on
    commodity hardware (unlike NextOS/MacOS). And Borland compilers
    and tools really were the best. So you could predict it would be
    a big success.

    I’m in no way a language zealot, having worked professionally
    with PHP, Java, C#, C/C++, Perl, Python and Ruby, not to mention
    my foray in functional languages like Scheme (I’m halfway through
    SICP) and Ocaml.

    You missed my point … a good programmer can make the magic
    happen in any language, yes, but choosing a language because of
    its popularity in big companies should be the last thing on your
    mind. What should be on your mind is choosing the best tools you can,
    because in the overall productivity the language and the
    available tools do matter quite a lot.

    I also said that PHP was once the best choice, that’s why there
    are many succesfull applications built with it. But I don’t think
    that’s true anymore. For example we both know PHP has the worse
    out-of-the-box performance (in benchmarks it’s slower than Rails,
    and that says a lot). And you could use eAccelerator (with which
    we had lots of problems because it throws SEGFAULTs) or you could
    use the Zend Platform (which isn’t free).

    Also, let me ask you this: can you find for PHP something even
    remotely similar to NLTK.org? (you can for Perl ;))

  15. Alex
    Alex at | | Reply

    I agree … most language comparisons are indeed childish especially since what’s compared are the advantages of one over the disadvantages of the other :)

    Also, because of the Internet (the Long Tail theory) there’s room for all.

  16. Leon Timmermans
    Leon Timmermans at | | Reply

    I didn’t say I would lose all my motivation and passion over what I’m doing. I said that if I had to switch to PHP, but I would be less motivated and less passionate about my work. I’ve used all those three languages, it’s not like I’m prejudiced. What’s so hard to understand about that?

  17. Radu
    Radu at | | Reply

    Be vely vely quiet… I’m huntin’ lamers! :D

  18. Leon Timmermans
    Leon Timmermans at | | Reply

    You’re twisting what I said. I explicitly said I don’t have anything against PHP projects per se. If a project is interesting but not in my favorite language, I would not refuse it. I’m saying that given the same project, I would usually rather do it in Perl than in PHP. To me the project and the tools I use to do it are both important.

    But to get back on topic: Perl offers just as much opportunities for interesting and ambitious projects as PHP does, so that’s not an argument to choose one over the other.

  19. Radu
    Radu at | | Reply

    Leon, come with facts. Tudor offered you some important sites/platforms written in PHP. Come with something strong written in Perl besides Awstats.

  20. Leon Timmermans
    Leon Timmermans at | | Reply

    Radu: Have you even read my first post? I already mentioned Amazon, Craigslist, IMDB, BBC and LiveJournal. There are many more such as Slashdot, Daily Kos and Typepad.

    There are plenty of big sites written in Perl.

  21. Leon Timmermans
    Leon Timmermans at | | Reply

    Tudor: I’ve been googling around, and I wouldn’t be so sure of that. All comparing graphs I could find suggest the opposite.

    * http://www.indeed.com/jobtrends?q=perl%2Cpython%2Cphp%2Cjava%2Cruby
    * http://www.odinjobs.com/blogs/careers/entry/perl_php_python_and_ruby
    * http://www.presicient.com/langjobs.html

    Perl is still doing pretty good on the job market.

  22. Alex
    Alex at | | Reply

    “If a job contains PHP in its description, then it means coding in PHP for 8 hours a day!”

    That’s because for any other job, PHP knowledge is actually a minus :)) :))

    Really dude, your whole argument is built around a straw man.

  23. Leon Timmermans
    Leon Timmermans at | | Reply

    Tudor: same can be said about PHP. Plenty of web designer jobs also list PHP in a similar fashion. Plenty of web developer jobs mention PHP in a list also including Perl or ASP/JSP.

  24. Alex
    Alex at | | Reply

    Yes it is :)

    I haven’t noticed a PHP trend at Adobe on the contrary (when I worked there) and IBM and Oracle are the archetypes of dinosaurs facing extinction, with no real influence left over our future. Straw man ;)

    About “higher wages” … that’s a huge fallacy, because working with mainstream technologies makes you a commodity and you’d better be a kick-ass rock star if you want that “higher wage”. It’s simply not how our economy works ;)

    If Facebook is developed in PHP it doesn’t mean the other platforms suck. That’s like saying PHP sucks because Google’s web crawler is written in Python. And it’s interesting that you mention Facebook, since they are probably relying on Memcached, a product developed by Six Apart (a Perl company ;)) See, another straw man ;)

    What’s really interesting and mind-blowing is that these arguments are same as those of Java proponents when PHP was the new kid in town, or those of C++ proponents when Java was new. And it’s getting boring, really.

  25. Leon Timmermans
    Leon Timmermans at | | Reply

    I can’t really check those numbers, but if you say so I believe you. That doesn’t mean PHP is a better choice than Perl in general, it may mean that PHP is a better choice in Bucharest. Nothing more, nothing less.

  26. Leon Timmermans
    Leon Timmermans at | | Reply

    I think there are about 3 times as many PHP job openings as Perl one, based on a quick check, but there are plenty of opportunities for both IMO (also, Java and .Net each have 3 times as many openings as PHP does).

    Actually I asked a friend of my Romanian girlfriend about the situation in Romania. She works as in the HR department of an IT company in Cluj. She confirmed Perl wasn’t big in Romania.

  27. bob
    bob at | | Reply

    Heres a real tip: Unless you want to be stuck as a web developer all your life, dont choose PHP as your language of choice.

  28. Tim
    Tim at | | Reply

    I am just getting into web development, but have been interested and worked with programming for years as a hobby. I have been spending LOTS of time trolling on career websites such as Monster.com in a number of different cities. I would maybe venture to say that I have spent more time on these types of sites then most people working in their field have in a long time. I have been looking into these because I am planning to start college this next fall (I am a bit older then your normal college age, and have never attended any college).

    The truth of the matter is that most technology vs. technology conversations boil down to people not wanting to feel bad about what they have chosen and invested their time in. Another truth of the matter is that your average 4-year degreed computer information technology major is going to be leaving school with an education in 3 to 6 different languages in their sphere of choice. Looking around on career sites has shown me that programmers are being stretched further these days, and more emphasis is being placed on being versed in several different languages and technologies. This is even more true as the economy draws thinner, and companies look for any and every way to get two employee’s work out of one.

    What does this mean? It means that everyone’s time may be well spent learning both to compete in the future programming job market. The more you know, the more valuable you are. And learning additional languages that are related (like Java and C#, Perl and PHP, etc.) is not all that hard.

  29. Etienne
    Etienne at | | Reply

    I would like to give more weight on what Leon said : “have fun on what you do”

    I’m not looking for a dev job, there are other things I prefer to do rather than writing softwares, but I’m used to do this from time to time, alone in my garage, most of the time with fun in mind (and sometimes with money in mind).

    For me, choosing a language is like choosing a pen for a writer, choosing a brush for a painter, a bike for a biker. This is a tool, not a career choice. And when I have choice among many tools, I take the funniest one, because i’m more productive when working with pleasure.

    I tried some famous high-level languages : PHP, Perl, Ruby, Python, and I must admit that the one that gave me less pleasure was PHP. This is totally subjective, and I believe PHP could be the funniest language for you, but if you didn’t gave a try to other languages you may end up with a boring career ;)

    The most pleasant work can become a hassle with the wrong tool.

  30. Stan Gilbert
    Stan Gilbert at | | Reply

    It never ceases to amaze me the tangents people go off on… bla bla bla.

    The fact is your article is right on the mark. There is NO debate over which is the better language. I been at this for decades from programming in assembly for Atari to UI design for Apple in Pascal. I’ve done major work in C, C++, BASIC, Pascal, Perl, PHP, and even the ever primitive and horrific COBOL.

    Being a “programmer” is not about the language. It’s about the thought process and economics. If you are independently wealthy and want to sit in a corner in front of a screen creating masterpieces you are welcome to use any language you want and revel in it’s technical depths.

    However, if you want to earn a living by producing a product or as a developer then the cold hard realities of economics are vital. If PHP is more popular and indentured as a buzz word among the ever ignorant human resources “experts” then PHP is what you damn well better know and profess to like.

    Read job ads for projects and 9 times out of ten they are written by people who don’t have a single clue what the words they use mean. That aside, even if you want to produce your own product and think you can use any language you want… think again. With any measure of success your product will grow and you will find yourself placing those ads for programming resources. Like everyone else you’ll want talent as cheaply as you can get it and the most popular skills (PHP?… Perl?) will be the most available and affordable.

    You can almost tell from reading the responses who is young and a bit full of themselves… and those who have made real money in the market.

  31. Steve
    Steve at | | Reply

    That’s right up there with the database wars. I know people who use mysql, BECAUSE it’s a buzzword…after all, EVERYONE knows what it is, right? RIGHT? They don’t consider anything else, because the pointy-haried boss was at a show where some showbunny shook her thang in his face while pushing the benefits of using language XYZ.

    I even remember attending a class for a vendor’s product that was supposed to explain the product advantages. We never talked about the vendor’s product. Instead, we talked about how to witness everyone else’s.

    No, in the PHP/Perl war, I choose perl, because it’s my favorite glue language for WHAT I DO. As for PHP, hey, I like the ming interface, but hate PHP’s security model. That’s all.

    As for more jobs, that’s a totally useless argument, e.g. 200 McDonald’s jobs as a Team Associate, or 3 jobs as CTO of a Fortune 500…see the problem with the syllogistics of such epistemologies? No tautology exists, except that which is contrived; thence, contrained to rhetorical contexts. From an orator’s point of view, bravo!

  32. Stu
    Stu at | | Reply

    > No tautology exists, except that which is contrived; thence, contrained to rhetorical contexts. From an orator’s point of view, bravo!

    Try that in your best Hamlet soliloquy voice. Sounds pretty good.

  33. Bill K.
    Bill K. at | | Reply

    I love how the Perl geeks come out in droves when someone says something negative about their precious language.

    Tudor’s point is that there are more jobs in PHP than Perl. That’s it. And a visit to ANY job search site will prove that what he’s saying is correct. So anyone arguing “which language is better” is missing the entire point *cough Jason**. Will there be a resurgence of a more popular language with more job openings? Who knows, but right now PHP is still popular and the same can’t be said about Perl, regardless of its quality of language.

  34. Bartox
    Bartox at | | Reply

    I’ve been working the last 9 years on the most low/high level programming/scripting languages you can imagine: C, C++, C#, Java, Perl, PHP, Ruby (not frameworks) and Python and including assembler to accelerate servers speed for special transactions. Worked for RedHat Ent many of those years, a couple of years for the Apache Foundation and recently for Lighttd.

    Well, as you can know most of the big web projects (the really big ones) dont use just 1 technology. Big websites are not running on an unique server with a unique technology line, that level of scalability is imaginary.

    Perl is great for scalable daemons and background maintenance scripts or tools running on servers that will be hard (and bad idea too) to make it in PHP. Bots and spiders are mostly made on Perl.

    PHP is great for frontend/backend (simple backend) functionality, it handles very well a large number of simultaneous server-side connections. Facebook and Wikipedia are just 2 examples.

    Java is excellent for large scale backend applications, for frontend interfaces doesnt, it requires much more code and time. Compile/deploy and restart the webserver every time that a change is needed is not a good option for a live website, isnt it?

    Python is a fastest option that you can find to accelerate extremely large db transactions (Google use it for that purpose).

    Ruby, well I cannot say nothing good or bad about it. It requires more much code and time, it has a nice syntax, but that wont save you if your deadlines are short. Many people says Ruby is the Mac version of interpreted programming languages, but as you can see in Twitter (bad decision of making in Ruby), it cannot handled all the transactions as PHP does on Facebook. Ruby is just in the middle. In my experience, I dont recommend Ruby for short budget/deadlines applications. If your company wants to spend a 5 of years in developing just 4 medium-size applications, then you can follow the example of 37signals.

    According the budget/time given, you may choose the according programming language(s).

    As a good Open source fan, I wont say anything about Microsoft technologies for web.

  35. Retha Bradac
    Retha Bradac at | | Reply

    you know people usually major in screenwriting so maybe you should take some classes before you write it.

  36. dhaval
    dhaval at | | Reply

    I worked in PHP for 3.5 years in 4 different companies and recently moved to Perl in a good company. All I can say is Perl is way ahead of PHP. I am from Ahmedabad, India. Here there are lots of PHP jobs, but 99% are under payed and worst places to work.

    PHP is most famous for simple web applications and freelance projects.

  37. kishor
    kishor at | | Reply

    hi.. this article is quite interesting. i am php programmer and i want to learn perl now. can any one explain where is perl used or what is perl used for?

  38. Etienne
    Etienne at | | Reply

    kishor : you can use Perl where you want – get a laptop ;)

    It is used for near anything that can be done with a high-level programming language. You’ll get an idea by wandering in the modules list on the Comprehensive Perl Archive Network : http://search.cpan.org

  39. Humppila
    Humppila at | | Reply

    The debate on which programming language gives better career prospects is a waste of time (imo). If you are a good programmer with a good grasp of fundamentals, learning a new language is not a big deal. It’s not like you’d have to choose a language and stick with it the rest of your life. Certain languages fit better to certain purposes, and when there is a need to use a different language, you just learn how to use it. Simple as that. :) Learning new stuff is always fun. (I’ve worked in SW development for over ten years and have used over ten different languages thus far…)

  40. Dhaval
    Dhaval at | | Reply

    I have worked on PHP projects for about 4 years and now working on Perl projects in company , also doing freelancing on both languages.

    Before getting in touch with Perl, I was a fool believed that PHP is greatest language. In fact Perl is a great language, has lots of more supporting free modules than PHP has and it is much well developed language. In recent project I am using coroutines in Perl that I don’t think possible in PHP.

    PHP is specialized for web applications and has essential modules built in core to develop any simple web applications. You can start developing dynamic web page without needing any external module(because db drivers and sessions are built in core). That’s it about PHP.

    I don’t hate PHP but I love Perl because its capabilities and high paying jobs. I agree that there are more PHP jobs in market but how many of them are quality jobs ? – very less.

    I am not agree to sentence – Perl is dead. In fact it is alive, actively developed and we see it everyday. Web developers knowing only PHP never knows how great Perl is.

  41. Amy
    Amy at | | Reply

    I would have to say that I am on the fence with this debate; I think both PERL and PHP have their place. But I do think that Humppila has a point in that as a programmer you really need to have the ability to adapt and continue learning, their will always be a newer more complex language entering the industry.

  42. Edguardo
    Edguardo at | | Reply

    I’ve never had an opportunity to use PERL before, I am just getting into the industry and have been using PHP for a few years. What kind of high paying jobs are available with this language?

  43. Tu
    Tu at | | Reply

    Who uses perl?
    http://luv.asn.au/overheads/whirl2/node9.html

    Perl Success Story: Amazon’s Production Software Group Builds Auction Site Prototype: http://www.oreillynet.com/pub/a/oreilly/perl/news/amazon_0100.html

    Amazon Architecture: http://highscalability.com/amazon-architecture

  44. Zend
    Zend at | | Reply

    PHP is tooooo slow with frameworks, Perl’s Plack has a better performance for developing larger web application.

  45. Mark
    Mark at | | Reply

    As an IT contractor, I’ve found that there are more jobs for people with PHP experience, but the rates of pay for PERL roles are substantially higher. The tasks PERL is asked to do are generally more demanding too.

    I regard myself as fortunate in that I can rely on the sea of PHP jobs for the occassions when the smaller pool of PERL roles has dried up.

    None of this is to denigrate PHP; if I was doing a website then I would probably use one of the PHP Frameworks (Drupal, Joomla etc) as a starting point. But I’ll take the more general purpose flexibility of PERL outside this area.

Leave a Reply