Java was designed as a modern, object-oriented programming language. Its features such as platform-independence, ability to manage libraries, threads, etc. are important for modern scientific programs. These are good reason
With some creativity and perhaps a bit of patience any scientific programmer can take full advantage of what Java has to offer.