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.
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.
You are correct. Thanks for pointing that out.
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.
“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
– ecommerce solutions
Just too much to ignore IMHO.