Java News from Monday, November 15, 2004

For the last couple of days I've been programming in the weakly typed language PHP. For the last few years I've been hearing quite a few people, most notably Bruce Eckel and James Robertson, extol the virtues of weakly typed languages. So far I'm not convinced. I've repeatedly found myself running up against bugs that simply would not have been possible in Java, or that would have been caught almost immediately by the compiler, misspelled variable names for example. I just got hit by another one. I was writing $myarray[index] instead of $myarray[$index]. There goes another ten minutes of debugging that I would not have had to do in Java.

Ten minutes here, ten minutes there; the bugs add up. Collectively these bugs that could have been prevented by strong typing have cost me hours of productivity. Admittedly, none of them have made it into production yet; but at least two of them were extremely hard to track down. Eckel is primarily advocating Python and Robertson Smalltalk, so perhaps there are other language issues besides simply weak typing that explain the problems I'm having. On the other hand I did start out trying to implement this project in Zope+Plone+Python, and gave up in frustration. Why am I using PHP instead of Java, then? Well that's a story for another day; although that story has been mostly written and will be told soon.

Amazon has dropped their price on the third edition of Java Network Programming to $26.37, a 34% discount. This is the lowest price I've seen from a major bookstore, though some of the Amazon marketplace sellers have it even lower.

The Gnu Project has released version 0.12 of GNU Classpath, an incomplete free implementation of the core Java class libraries. This release fills in numerous holes in support across the core libraries including X.509 certificate path checking, signed JAR files, java.awt.color, java.beans 1.4 updates. It also improves the build process, AWT focus management, font support, AWT Choice menus, HTTP POST, and regular expressions. Since this is a clean room project, it doens't always line up exactly with any particular Java version. This release achieves a complete implementation of the Java 1.0 API for the first time, aside from a few places where the 1.0 and 1.4 APIs are incompatible. However, lots of classes and methods added from 1.1 through 1.4 are included as well. GNU Classpath is published under the GPL with library exception.

Teodor Danciu's posted version 0.6.2 of JasperReports, an open source Java library for generating reports from XML templates and customizable data sources (including JDBC). The output can be displayed on the screen, printed, or written to XML or PDF files. Version 0.6.2 supports internationalization.

Websina has released BugZero 3.9.5, a $1299 payware (+$300 for maintenance) Web-based bug tracking system that supports multiple projects, group-based access, automatic bug assignment, file attachment, email notification, and metric reports. Bug Zero is written in Java and can run on top of various backend databases including MySQL. 3.9.5 requires double confirmation for deleting users and fixes bugs.