Many discussions about which programming language is best seem to end up devolving into what resembles a religious war. Every language has its strengths and weaknesses, so a case can be made for just about any language in such arguments.
However, often such discussions are fruitless, as for most problems any language could likely solve the problem. But there are times when which language you use does matter. So here is my beginning list of reasons why you might want to consider learning a new programming language rather than sticking with the one you know:
- When you can’t be understood by those you must communicate with. Colleagues on the same team really need to be coding in the same language. There are all kinds of integration problems that are created by trying to build and maintain a complicated codebase across languages. Period.
- When you take a significant performance or functionality hit by sticking with your old language. Some technologies (e.g., Hadoop) expect you to code in a particular language (e.g., Java). Sometimes, if you don’t code in the language a given technology expects, you will take a hit in either performance or functionality, or both. If you’re just fooling around, perhaps this is OK. But if what you are building is going to go into a production environment, think again.
- When useful libraries are not available in your native language. One of the most useful aspects of modern software development are the many code libraries that are available to perform common tasks. These days, just about any coding project begins by determining which libraries will be useful for a particular project. You shouldn’t be reinventing the wheel instead of simply pulling it out of the warehouse. However, if your native language lacks key code libraries that are available in a different language, perhaps it’s time to add another language to your repertoire.
What do you think? Are there other reasons that may be weighty enough to force you out of your comfort zone into a new programming language?