Skip to main content

Definite Maybe

Posted by editor on October 3, 2005 at 8:09 AM PDT

Processes for making better software. We think.

The three weblogs on today's front page might not immediately seem related, but they all have something in common: they're about the processes of programming that aren't just a matter of slamming down code to achieve some task. All of them address issues of quality and performance, but do so through the lens of how you write code, and how you assess what you've done. Does it work? Can you prove that it works? Is it fast? Good. Then a manager says: "Now change it."

This is the kind of thing they don't necessarily teach in school, and that you might not pick up from the typical open-source project, though process really ought to be a major part of both. Throw down code as fast as possible with no regard for quality for a year or two and you'll be lucky if it runs at all. But that's not an experience that's easily imparted by a one-quarter programming class in college, or by an open-source project owner who's already committing his or her precious free time to get something out.

Konstantin I. Boudnik continues his series on quality in
Java. Quality. Metrics (part 2), of which he says:
"Moving closer to the promises given in this blog, I will discuss some not totally innovative, but still interesting, techniques of improving quality development effectiveness.". He goes on to discuss code coverage and how his team is using it on their project. Apparently, there's a big audience for this message, as Konstantin writes:

Surprisingly, my last post was rated #1 by Google for 'java quality' search and lasted in this position for a few days. My friends were wondering how much I had paid to gain this honorable position. Honestly: I didn't pay a penny for it and I only have to thank those of you, who spent time reading it. So, thank you! I also hope not to disappoint you this time.

For analyzing problems at runtime, you may want to dump and inspect the heap, which Kelly O'Hair discusses in his blog entry
Heap Dump Snapshots: "When tracking out of memory errors or just trying to understand why your application uses so much memory, heap dump snapshots can help." He also points out how the classic Heap Analysis Tool (HAT) has evolved into the jhat tool that is part of the latest Mustang builds.

Extreme Programming is supposed to improve code quality indirectly, by improving process. But Vikram Goyal says it's time for him to get
Off the XP bandwagon:
"For some time now I went on the Agile programming bandwagon convinced that it was the next best thing since sliced bread. After a sustained year of practicing it, I am off the wagon. It is annoying, superficial and doesn't necessarily produce better results than traditional programming." This blog has attracted a number of talkbacks, both concurring with and disputing Vikram's criticisms.


Code coverage is also on the minds of developers in today's Forums.
In Re: Code coverage, Mem-leak and performance tools, johnbchicago writes:
"I've used Emma quite extensively and really like the html format of its reports. I've just found metacheck. I haven't tried it yet, but here's a description of it: "Metacheck is java code checking tool that read and parses results of 'real' code checkers, writes these results to a uniform lay-out and generates a meta result." The FAQ claims it can parse results from the following code checkers: checkstyle, cpd, findbugs, jcsc, lint4j, hammurapi, pmd, qj-pro, and revjava. Since I was running many of those tools separately, this was a dream come true. I'll post later on whether it lives up to the claims."

ran7377 is one of several puzzled Re: How can javaw take over XP?:
"I also have a similar problem. I run XP SP2 with dual Pentium 4, 3.2 GHz processors and 2.0 GB of RAM. My sound card is Soundblaster Audigy 2zS and within 10 minutes of playing a POGO game my sound goes (however I can play music) then within a few minutes my system freezes and there is absolutely no movement whatsoever from the system and I cannot do anything but a hard re-boot. It also started doing the same thing using Adobe, Word, Excel, Corel and AutoCAD(losing all data). I disabled everything and tried a process of elimination and concluded it was my sound card although the problem stopped and Creative could not find a fault. Tonight I went to play a game that would not run with Microsoft and enabled Sun and within 10 minutes my sound died. I changed back to Microsoft and have now uninstalled the Sun. Is there not a fix out there for this?"


This week's Spotlight features Flying Saucer: "The xhtmlrenderer project, better known as 'Flying Saucer', offers an XHTML renderer with extensive CSS support, completely written in Java. The most recent release offers better support for float and clear, absolute positioning, absolute units like inches and centimeters, percentage width and height values, image browsing, directory listing, and more. A Java Web Start browser demo is available, showing off many of these new features."


In Projects and
Communities
,
the Java BluePrints project has announced the first early access version of its Java BluePrints Solutions Catalog for Java EE 5. "This release includes design guidelines, code, and applications for AJAX and JSF applications." You can download the new catalog after accepting its click-through license.

The TrueZIP project offers an API that makes dealing with ZIP files more convenient than using java.util.zip, by allowing you to treat zip entries as if they were individual files or directories, instead of reading or writing all of the zip at once. It also offers such conveniences as cat(), copy(), archiveCopy() and more.


In Also in
Java Today
,
the Integration Developer News article Nokia Eyes Mega-List of Mobile Java Tools describes Nokia's recent moves in the tool space: "Nokia, working with the Eclipse Foundation, wants to get the Java community to roll up its sleeve on providing architects/devs better support for building mobile apps. The mobile phone giant has proposed to Eclipse the creation of a Mobile Tools for Java project, which would be a broad-brush campaign to improve runtime, design and UI tools for all types of Java-based mobile apps -- both entertainment and for the extended enterprise."

"Thousands of companies all over the world are giving J2SE 5.0 a try, and they like what they see. New language features, enhanced class libraries, better tool support, and desktop enhancements are just some of the reasons why many companies are making the switch." In Sun Microsystems Talks With Li Moore of Google, the software engineer discusses his company's use of Java and its switch from J2SE 1.4 to 5.0.


In today's java.net
News Headlines
:

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using our
news submission
form
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
feed.


Current and upcoming Java
Events
:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e"> events submission form.
All submissions go through an editorial review before being posted to the
site.


Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.

Processes for making better software. We think.