... indistinguishable from magic
effing the ineffable since 1977


Show All

Recent Posts


Living in Japiness and Harmony


While Janene makes fascinating posts about lingerie, I'm afraid I have nothing more interesting to post about than Japi results. Just for a change.

While Classpath continues to make spectacular progress (4 errors against 1.2, for example) we also now have nightly Japi results for Harmony as well (vs 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, and 1.5 reversed).

I admit to having mixed feelings about the Harmony project. On the one hand, it's free software and one of the unbreakable rules is that nobody has any right to tell anyone else what they should work on. And they certainly are making progress.

On the other hand, I've been following the Classpath project for about 7.5 years now (Mark amusingly suggested that gives me "seniority" - despite the fact that for about the last 7 of those years I haven't actually been making any code contributions) and seen close-up how much work it is to make a full JSE implementation. It's taken Classpath nearly 8 years to get to the nearly 99% API coverage of 1.4 it has today (and API coverage isn't even the whole story; the actual compatibility level is necessarily lower). Harmony is 10 months old and in that time has reached 12.5% 1.4 API coverage; if you extrapolate that it works out to be about the same 8 years until it gets to full 1.4 coverage.

At that rate in 2013 Harmony will be catching up to where Classpath is today.

While it seems quite likely that Classpath will catch up to the JDK itself within the next year or two.

Nothing would make me happier than to see the Harmony hackers succeed - the measure of a true standard is in the number of independent, interoperable implementations. But they've got a long way to go. And there's definitely a part of me that wonders whether, considering that every major Linux distribution has already standardized on Classpath, it's actually worth it.

Still, I'm happy to do my small part by providing Japi results to both projects. Here's to escaping the proprietary JDK - by whatever means :)