Programmers should learn to be language agnostic.

July 13, 2009

In my last post I wrote about how Ruby’s early problems around 2006-2007:

– incomplete libraries
– difficult web server integration

.. had played a role slowing its adoption. The main thrust of the piece was to point out that despite the explosion of interest, Ruby and Rails had failed to make much of a dent relative to PHP in terms of usage. In fact, PHP is still far and away a much more popular language.

No programming language wars please

Regardless of my intent, I pissed off a lot of Ruby nerds who missed, what (I guess?) must have been my subtle use of the past tense; they took my article to be about Ruby’s current failings.

…OK, I made one or two tongue-in-cheek statements to spice things up a little.


Anyway, I want to point out that generally speaking, this nerd (me that is …) is language agnostic. In fact, when looking at projects, I always consider the project’s needs first and then would look at languages.

My first love was Java

Long before I wrote PHP, I was a Java programmer. I wrote my first MVC based application in Java using JSP for my views, java beans for the model, servlets for the controllers and finally, I used different Java based frameworks to produce web apps for myself and various clients.

Despite my preference for Java at that time, I quickly learned as a freelancer, that it made more sense to put the project before the language.

In fact, over several years, I used somewhere around 7-9 different languages to complete various projects. Again, choosing the right language for the job.

That said, I still think that for now at least, PHP is still the best choice overall for most looking to get into web programming … and my reasons are:

– it is powerful
– easy to learn
– has a big market share = more work

Do I think PHP is the perfect language or that it does everything better? Hell no! Every language has its’ advantages and disadvantages – especially on a structural level and PHP does have warts.

Stefan Mischook

4 Responses

  1. Chris Author August 12, 2009 at 3:04 pm

    Hate to be a stickler for grammar, but I think poor word usage can convey an impression of the writer the writer may not deserve.

    “Irregardless” means “not regardless”. So I think you mean simply “Regardless of my intent…” in your third paragraph.

  2. Stefan Mischook Author August 12, 2009 at 3:47 pm

    Hi Chris,

    You are correct. Thanks for pointing that out.


  3. iain Author September 6, 2009 at 7:24 pm

    If only it were that black and white. In software development it’s not always an obvious match.

    I don’t think it’s just what’s the best tool for the job, but also about what is the best tool for the people doing the job. Inevitably, that is going to play a huge part in the success or failure of the project too.

    I am very happy with Ruby, mostly because of it’s syntax and libraries. I can express myself very accurately in Ruby. If you have a team of PHP programmers then PHP is probably the better choice.

    I don’t think that there is anything that PHP does that Ruby can’t do.

    Not invalidating your three points, though, they are true. I think that programmer happiness and inspiration is more important than those three points when it comes to solving problems.

  4. Stefan Mischook Author September 7, 2009 at 9:41 am

    Hi Iain:

    You said:

    “I don’t think that there is anything that PHP does that Ruby can’t do.”

    I agree. And I also think Ruby’s pure object oriented nature is a pleasure to work with.

    That said, for me though, I still tend to favor PHP because of it’s penetration into the marketplace. For a working web designer/developer, the PHP world has so many options when it comes to ready-to-go projects:

    – blog software
    – cms
    – forums
    – ecommerce solutions

    etc …

    Just too much to ignore IMHO.


To Top