archives

Computerworld Development Survey

I don't think this survey is very important, but it wouldn't hurt to take a look.

The top 5 programming languages reported in use were C# (72%), Java (66%), Visual Basic (62%), C++ (54%) and JavaScript (50%).

This study was conducted among subscribers to Computerworld, a total of 966 qualified completed surveys were received.

The selection criteria used to choose among the subscribers of Computerworld (see methodology section at the bottom) are, of course, biased.

JPred -- predicate dispatch for Java

JPred extends Java to include predicate dispatch.

This is quite cool -- predicate dispatch allows for the partial implementation of methods in abstract classes so that the base class can provide common argument type checking (nulls, negative values, etc.) as well as simplifying the maintenance of the jumbo if/case statements for dispatching based on the type of an object (e.g. event dispatch) or field values.

As a language design non-expert, predicate dispatch reminds of template matching in XPath, which I have found to be incredibly useful for handling special cases like "Chapter 1 shouldn't have a blank page in front of it" without messing up a working template for the more general case. I'd expect that JPred will provide a similar capability.

JPred is implemented using Polyglot, and compiles JPred code into vanilla Java. Todd Millstein, the creator, used JPred to re-implement a complex chunk of event handling code and eliminated several gaps in the original dispatch code.

I'm not able to appreciate the subtler parts of this work, I suspect, but the basic idea is simple enough that I could explain it to my 14 year-old son and he understood its value.

Links Slides

The speakers at the Links meeting at ETAPS have posted slides from their talks To me, Xavier Leroys slides seem especially interesting, but there is something for everyone. Transactions, XML, Concurrency, Types, Object-Orientation, etc.