Java is actually quite limited in what you can do with it. Think of memory resources: you just shouldn't write a service running on Java if you can get the same thing written in Python with a much smaller memory/CPU footprint. Java is good for standalone programs, defining "standalone" as "stuff that doesn't require interoperation with other stuff", like apps in Android (which is Linux, by the way). But, as soon as you require/want to implement your functionality in some way that may be shared by other applications (in the true UNIX-way), Java is not what you want. If you take a look at most programs you have installed in your system, you'll realize that most of them are designed for interoperability, such that the real functionality is implemented in a C or C++ shared library, which you can link to from many languages (or write a binding, if needed). Hell, you can even call Python code from C and C++!
Bookmarks