I spend a short time every day (ok, almost every day) looking through my Twitter search feed for 'ColdFusion'. Most of the time the search feed is filled with messages about cool stuff someone did with ColdFusion or people asking questions about the language or recruiters looking for ColdFusion developers. However, every once in a while, there is a message from some who...how shall I put this... let's just say every once in a while you find someone who does not share the same view of ColdFusion as I do (and some are out right hostile and/or vulgar).
I will admit, in the past, I have made less than flattering statements about PHP, but I can not understand how a programming language could invoke such a visceral response from some. What ever language you choose to use, ColdFusion, PHP, Java, Ruby, etc., it is just a tool. Some people prefer PHP - and I have seen some kick ass websites written in PHP - others do not. The same can be said for any of the languages I listed (and quite a few that I have not).
Lets put this in perspective, imagine that we were all carpenters instead of developers. If we were tasked with building a bookcase, some of us might prefer to use a table saw, others might prefer to use a circular saw, still others might prefer to use a table saw for some cuts and a circular saw for other cuts. Some might choose to use a circular saw because they are more proficient at using it rather than a table saw. Some might choose a table saw for the same reasons.
Does this make any one of them 'better' or 'worse'? I would argue that as long as the bookcase was completed on time and on budget, it does not really matter what tools the carpenter uses to build it. Also, just because a carpenter builds a crappy bookcase, it does not necessarily mean that the tools he used to build it are 'crap'. If you have seen, or had to work on, a poorly written application, odds are it would have been poorly written regardless of which language was used.
By now, you are probably wondering where I am headed with this - and to be honest, when I started writing this, so was I. I know I have been guilty of 'bad mouthing' other products or technologies, but I have decided to cease all hostilities. There is no reason why I need to put down another person's choice of a language in order to promote mine. I would ask that others, regardless of what language you use, do the same. If Ruby is your tool of choice, please do not try to claim it is superior by saying my tool of choice 'sucks'. Instead, tell me why Ruby is the better tool for you, and more importantly, why you think it might be a better tool for me. Every language has it's strengths and it's weaknesses. As developers, it is our job to exploit the strengths and to minimize the effects of the weaknesses.
I know there will always be animosity in this area. We, as application developers, are typically a passionate bunch. That is OK. It's good to be passionate, but don't let that passion turn you into a 'hater'.




11 comments
Really, using a specific language doesn't make anyone any better or any less than anyone else. It's how you apply your skillset. And, MORE IMPORTANTLY, how you use your knowledge to assist in improving the knowledge and skills of those who are below your skill level.
The people I respect most are the ones who speak with authority, from experience and speak on the facts rather than personal opinion.I try to incorporate those same principals in my day to day.
I know, I may have better luck asking fish not to swim, but you cannot fault me for trying.
In my home town, we have two (AFL) footy teams and supporters are able to give the others some fun ribbing. Same with cars - you are either Holden or Ford. And when Holden wins Bathurst 500 I will be sure to let my Ford buddies know about it.
We all want our 'team' to win and back them proudly. And we like to hassle the the other supports any chance we get. And when done in fun it is fine. It is just when it gets personal it gets ugly.
So promote your 'team' proudly, have fun with it - but keep it friendly.
The issue is not ‘my tool is better than your tool’ but ‘my tool and subsequent skills are more valuable to those that would make use of them.’
Too many times decisions are made on the basis of buzz. I speak from the perspective of a mid to large sized business that wants to CONSOLIDATE on a particular technology. In this unfortunate scenario, he who provides a better argument can and usually does trump any and all alternatives; for better or worse. I’m sure many readers have experienced a similar situation.
Be it fear of the unfamiliar, inability (available time) or unwillingness to embrace new/different technology, or defending personal investment of existing skills, the ‘my tool is better than yours’ monster will continue to be well fed.