Obviously there are many factors to consider when choosing the right programming language. It's useful to:
- Keep track of which issues affect which problem domains.
- Study surveys, guides and experience reports for making an appropriate choice.
Use this page to list reports, surveys and guides. I suggest the following format: Title
, App Domains
(a list of the relevant application domains), the URL
- the publication details for books and journal citations).
Feel free to add to this list.
Managers Summary Guide SP82, (British MOD)
Safety critical and real-time, defence
URL: http://www.seasys.demon.co.uk/SSP82h/82.html (BrokenLink: Remote host not found 2002/07/15)
was a subset of Java. Oops. http://www.seasys.demon.co.uk/SSP82h/Java.html [BrokenLink 2004/04/17]
It is a rare thing that the right language is the one you like best. I like Python. However my Servers are written in C++ because most of the available support libraries are in C++. My Web client is in JSP because most developers in my team are familiar with Java. ChoosingTheRightLanguage
is not that difficult. There's usually not much choosing to be done.
Sometimes the right language for a job is 2 different languages for 2 different parts of the job.
It's also rare when one gets to choose a language. It's been my experience that companies decide on one language ahead of time for all projects. There is rarely discussion; it's about which programmers they can find on the market.
In my opinion the right language can be one you are proficient with. The differences between languages (at least imperative ones) are not that big. The advantage of another language is often much smaller than the advantage of experience. So it may be wise, to choose the language you have the most experience with for your next project. That said, you can maximize the effect by learning regularly new programming languages.
See QuestForThePerfectLanguage PickTheRightToolForTheJob PickAnOkToolForTheJob FallacyOfTheRightTool