The Right Language

They say that when you are choosing which programming language to use for a job, you should pick the one that is best for the job, not the one that is your favorite, or the one that you are the most familiar with.  I agree with this idea in theory, but I’ve found that in the real world the “right” language is not always so easy to determine.

There was a time when I would have said that C++ was the answer for everything.  Admittedly, that was not only my lack of experience talking, but also the fact that C++ was the only language I knew.

Truth is, the language that is “best for the job” is subjective.  Some would say the best language is the one that best fits the requirements of the project, or that is the most efficient, or both.  I would agree with both of those statements.  However, what if the language that best fits the needs of the project and is the most efficient is an obscure language that no one on the team is familiar with and deadlines or other projects don’t allow time for the necessary learning curve?  Isn’t getting the job done on time part of the requirements?  If there is another widely known language that is a close second, shouldn’t it be considered?  I can assure you that the ability to maintain the project after all of the original programmers are gone should be part of the requirements of every project.

There will always be the elitists, who say for whatever reason that their language is the best, end of discussion.  While their suggestion may, in fact, be the best “technically”, it may still not be the best when taking into account all of the other non-technical requirements.  And their stubbornness and rigidity is certainly not making them any friends in the office, of course the true elitist is either unaware of that fact, or proudly considers it part of the price to be paid to be a “leader”.

In software, there are a lot of ways to accomplish the same thing, so don’t be the close-minded jerk that thinks he/she is smarter than everyone else and the only one capable of coming up with an acceptable solution.

All sides need to be heard and evaluated.  Only then can the “right” decision be made.

This entry was posted on Monday, November 24th, 2008 at 2:48 pm and is filed under Code, Thoughts. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply