Java Performance Tuning

Java(TM) - see bottom of page

|home |services |training |newsletter |tuning tips |tool reports |articles |resources |about us |site map |contact us |
Tools: | GC log analysers| Multi-tenancy tools| Books| SizeOf| Thread analysers| Heap dump analysers|

Our valued sponsors who help make this site possible
JProfiler: Get rid of your performance problems and memory leaks! 

Training online: Concurrency, Threading, GC, Advanced Java and more ... 

News June 2007

Get rid of your performance problems and memory leaks!

Modern Garbage Collection Tuning
Shows tuning flow chart for GC tuning

Java Performance Training Courses
COURSES AVAILABLE NOW. We can provide training courses to handle all your Java performance needs

Java Performance Tuning, 2nd ed
The classic and most comprehensive book on tuning Java

Java Performance Tuning Newsletter
Your source of Java performance news. Subscribe now!
Enter email:

Training online
Threading Essentials course

Get rid of your performance problems and memory leaks!

Back to newsletter 079 contents

So many people have been shouting at me that "Java has peaked, time to jump into Ruby" that it was time to find out about the hype. So I listened carefully to Ruby advocate Tim Bray. I found out that Ruby will reduce maintenenance costs because it takes a third of the lines to express the same things as in Java. That's a big plus. But I also found out that Ruby is not going to be able to handle any significant part of the hugely concurrent multi- threaded apps that I tend to deal with - apps that are the present and future of programming. Sounds pretty restrictive. I listened when Elliotte Harold tells me that Java developers are looking to Ruby and Rails - but then I spoke to some Java developers who have made that move, who tell me that it's a great system to get that initial prototype up and running, but that they end up with a mess when they try to advance the system.

Yet I'm told Ruby is the future and everyone is moving to it. Well I wondered, maybe my head is down in the trenches and I can't see the bigger picture. So I decided to do a comparative analysis of the market of the top computer languages. I tried to be as objective as possible for my own benefit - I've moved primary language twice before so I'm open to the possibility, as you have to be in I.T. My goal was just to see what was being used and will be used for mainstream development. (I ignored specific niches and products like SQL, SAS, SAP, Oracle, etc.). I wanted to know how widespread was Ruby's adoption, what are the competitors, and whether anything leaps out at me.

I did a general analysis of languages for their usage, community, jobs, marketplace, popularity and how widespread their use is. This was interesting for me, it produced a nice ranking that I had not noticed before. The result is that in first place is Java, which has a clear lead and is still growing in size. In second place is C/C++. I tried to distinguish between C and C++ as separate languages, but all I could see was that C++ seems to have started to decline in use, whereas there are so many legacy C systems out there that the C/C++ combination is not going away any time soon.

A note from this newsletter's sponsor

Symantec i3 for J2EE helps you optimize application performance through
out the application life cycle. Its unique adaptive instrumentation
auto-adapts to application changes. Download an eBook on J2EE performance

So first is Java, second is C/C++. Third comes a cluster of three languages: Perl, PHP, VB. This is an interesting cluster. These three are qualitatively different languages from the two leaders, all three being well established rapid development languages, dominant in a number of niches and valid options for many types of general purpose development. These are also all languages that seem to have plateaued.

Finally there was a second cluster of languages: C#, Javascript, Ruby, Python, Delphi. A fascinating cluster. C#, as the language that Microsoft are pushing strongly, is guaranteed a modicum of success. The fact that it is in this second cluster was surprising to me, it suggested that C# is not being taken up as fast as I had expected - I would have expected it to be in that first cluster by now. Ruby, Javascript and Python are "hot" scripting languages each for a different reason, but Delphi took me by surprise. Is Delphi having a resurgence? I don't really know.

So it looks like my analysis splits out to languages holding widespread dominance (Java and C/C++); languages that were once "hot" (Perl, PHP, VB) but never made it to full dominance and may already be on their way out; and languages that are now "hot" (C#, Javascript, Ruby, Python, Delphi).

What to make of it all? Firstly, we need something better than all of these (including Java), but none of those listed above is that "next generation" replacement language that we need. Java looks set to dominate for the next ten years given its health and support and huge numbers of libraries (and even after that the JVM will likely be the engine underneath whatever replaces Java). Ruby might be worth using - if I need to add a scripting language to my Java project (given the nice integration with Java touted for JRuby). But otherwise Ruby may just be yet another fad, it's difficult to know at this stage - the Tiobe index, for instance, indicates that Ruby interest has already peaked. Maybe it will move up to replace one of the "old hot" scripting languages, and maybe it will fade away like so many others have already done. It's not something I'm rushing to use just yet.

A note from this newsletter's sponsor

New Steven Haines white paper explains the benefits of continuous
performance management. Proactive performance testing and continuous
integration result in optimized applications. Read the Quest paper.

Now on with the rest of our newsletter. Of course we have our usual news, article links, tools, and extracted tips. Over at, I talk about whether writing a technical book is worthwhile; Javva the Hutt tells us about his new job; and, of course we have extracted all the tips from those articles.


Java performance tuning related news.


Java performance tuning related tools.

A note from this newsletter's sponsor

Wily Technology delivers what you need: Availability, Performance and Control
The most critical web applications in the world are managed by
software from Wily, the leader in enterprise application management


Jack Shirazi

Back to newsletter 079 contents

Last Updated: 2024-03-29
Copyright © 2000-2024 All Rights Reserved.
All trademarks and registered trademarks appearing on are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
RSS Feed:
Trouble with this page? Please contact us