Programmers should learn to be language agnostic.
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
www.killersites.com
August 12th, 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.
August 12th, 2009 at 3:47 pm
Hi Chris,
You are correct. Thanks for pointing that out.
Stefan
September 6th, 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.
September 7th, 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.
Stefan