This is inspired by this 'Java For Everything' by article. It put across the idea that Java is the right tool for every task, the reasoning included:
Java's strictness is good for catching errors and although wordy, it means Java is fairly self documenting.
Much faster compared to many other languages such as PHP and Python.
It is better to stick with one language allowing you to focus your knowledge and build up your codebase rather than trying to remember multiple languages.
The last point is the one this section will focus on.
Some languages are better suited to some tasks than others, the usual examples are Assembly for low level work such as embedded systems, Python for high level work for like scripts or to act as a glue between systems. However a lot of tasks in between are more general and can be done by many languages, this is where sticking with one language is beneficial.
The advantages of sticking with one language include:
Less to keep updated – The more compilers you use, the more work it is to make sure everything is up to date.
Less to remember – Using more than one language means you need to remember how to do the same thing multiple ways. E.g. how to declare variables and arrays, what functions and methods are available. Sticking with one language means you will eventually know how to get the best out of the language you are using.
Better for code reuse – Functions you create can be updated and improved over time and reusing them will save you time down the line. You will build a good code base which will speed up development of future projects.
Which language is the one to choose? This depends on focus and platform but the previous Greener Software section does give an idea of which languages may be worth moving away from.