doing TODAY and not getting caught in the HYPE of tomorrow

Alan Williamson

Subscribe to Alan Williamson: eMailAlertsEmail Alerts
Get Alan Williamson: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: Open BlueDragon Developer's Journal

BlueDragon: Article

A Well-Rounded Package in Juliet

A Well-Rounded Package in Juliet

(The Java client tool Juliet is thoroughly and thoughtfully reviewed in this excerpt from JDJ editor-in-chief Alan Williamson's blog.)

(August 4, 2003) - It was at the end of day 3 at JavaOne and I was tired. I was tired of product pitches, tired of talking, and tired of listening to all the hype. I was collapsed in a chair looking forward to heading over to the JBoss Matrix showing so I could sit in a dark room and not have to speak to anyone without feeling guilty. So it probably wasn't the best time to be coming up to me and trying to pitch me an idea! But someone did! Carlo Walentiny of Infotectonica stepped forward and in a quiet voice give me his standard elevator pitch. I still wasn't impressed or even paying attention I think, but he pushed forward and opened up his laptop to show me a demo of something he called Juliet.

When he opened it up, I woke up out of my trance. I was instantly impressed. I had no idea what the hell it did at that moment because I wasn't really listening before. The GUI wasn't Swing, and it wasn't SWT, it was his own! And man did it look stunning. It was doing some sort of analysis of Java code files, which was taken some time. But the way he fed back this wait to the user was not only innovative but useful. It was at this point I was hooked. Anyone that could put as much care to detail as that, deserved my full attention.

Juliet is a Java client tool that is used to analyze and navigate through source code and tell you things you never knew! It excels on large code bases and when I tried it on the full source code tree for our BlueDragon. I was even more impressed! It gave me back a whole load of useful information such as the number of times a particular method was used, where it was referenced and by whom. I could easily drill down into this information and at each level I was presented with more stats. One of the useful features, was the ability to spot unused methods and constructors. Although some of this information is available through various plugins with many of the IDEs, I found the fact Juliet was standalone a refreshing way to look at my code. I could get myself into the mindset that I was Q&A'ing code and resist the urge to fix small code problems along the way.

One of the really nice things with Juliet is the interface. A lot of thought has gone into this and it is this that won me over to begin with. The way you organize queries and group results together is very slick and its not long before you are presented with a Venn diagram window to ask you how you wish your results to be merged. Very nice touch.

So who or what is Juliet aimed at? It is an ideal tool for anyone that has to review code changes before they are committed to a CVS branch for example. Also very useful for open-source projects where you want to get a feel for the whole source branch as a whole without necessarily loading into an IDE.

If you need to get up to speed quickly on a sizeable chunk of code, then Juliet is the tool for you.

More Stories By Alan Williamson

Alan Williamson is widely recognized as an early expert on Cloud Computing, he is Co-Founder of aw2.0 Ltd, a software company specializing in deploying software solutions within Cloud networks. Alan is a Sun Java Champion and creator of OpenBlueDragon (an open source Java CFML runtime engine). With many books, articles and speaking engagements under his belt, Alan likes to talk passionately about what can be done TODAY and not get caught up in the marketing hype of TOMORROW. Follow his blog, or e-mail him at cloud(at)

Comments (3)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.