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.