Java's advantage is that it's cross-platform and very well supported.
Being a mainstream language there's a lot of tooling for it, and a lot
of support from major vendors such as Oracle and IBM. There are a lot
of add-in classes for Java that save you having to code things yourself.
Performance is not one of it's advantages. Java does not perform as
well as a native application. This is true on all platforms. For
example, natively compiled C program on Unix or Windows will perform
much better than a Java application, and will have a smaller memory
footprint. A native RPG, C or Cobol application on IBM i will likewise
outperform a Java one.
My performance tests have shown Java's performance to be laughable when
compared to native applications. Even PHP, an interpreted language,
outperforms Java on my box.
But this isn't purely true on IBM i. It's true on all platforms.
I give a talk at conferences and user groups where I compare Java, PHP
and RPG. I don't discuss performance very much, but there's one spot in
the talk where I do. In almost every single venue where I've given that
talk, someone has come up to me and said that I'm understating the
performance differences between them.
I had one person tell me about how he absolutely could not find a way to
support 900 users simultaneously on Java. There was a hardware upgrade
proposed, but the cost was high. They were about to abandon the i
entirely when he decided to try his application in RPG instead. Lo and
behold, with RPG he had absolutely no trouble handling the load. No
hardware upgrade required.
I've even had IBMers tell me that RPG will consistently outperform Java
on IBM i, even in large scale environments.
In my opinion, the reality is that performance is NOT usually a good
reason to choose one solution over another. In most cases, a relatively
small hardware expenditure is enough to make Java's performance
acceptable. Being able to maintain the code over time is a much more
important factor, IMHO, than performance. And that's why I talk more
about complexity of code than performance.
But for you to say that Java is 'very performant' -- I just don't know
where you're coming from. What are you comparing it to?!
Java has a lot of things going for it. cross-platform, well-supported,
loads of tooling, courses available in all schools, lots and lots of
programmers on the market, lots of resources available.
But... performance is just not one of it's advantages.
On 2/8/2010 3:53 AM, john e wrote:
Yes of course,
But saying someting vague about Java's performance is FUD.
Because Java, actually the JVM, is very performant.
Saying vague bad things about Java's performance these days is FUD.
You can have lots of opinions about Java, one of them is that you simply dont like it.
Another one is that you are a very respected and knowledgable person in this community.Some people may take you're comments for real, without much scrutiny.
This calls for some responsibility from you.
In you're position i don't think you can saying something vague about performance, because you simply don't like it. Then say that you simply don't like it. You don't know exactly why, but you simply don't like it. Thats fine.
As an Amazon Associate we earn from qualifying purchases.