From server database middle-ware to devices in your pocket – the Java language is now all but ubiquitous. Why should you choose Java to address a heterogeneous system?
There is often a temptation to “go native” and use software technologies unique to a particular platform. Using C, or assembler or .Net based on the theory that it will run faster. The development times and specialist knowledge involved with such a course of action almost always vastly exceed the benefit. It is likely better to buy a faster machine, or extend the server farm or move to a cloud based solution.
Although those options might sound complicated, in fact Java assists in implementing them. A common language across the code base also means that functionality can be migrated or devolved as necessary.
There is also nothing like having the same code handing the protocol on both sides of a link!