Go get 'em, Tiger.

December 5, 2002 3:03 PM

Not only do we have generics to look forward to (Covariant return types. Yay), there's also a chance J2SE1.5 (a.k.a Tiger) will be adopting some C# syntactic sugar as well, getting autoboxing, enumerated types and a foreach loop. Competition is good, although it does mean us Java hackers will have to get off our high horse about C# stealing ideas from Java. ;) Foreach still strikes me as a rather lame apology for not having proper blocks/closures, though.

[Update: December 7th: Apparently I was mistaken, and JSR-175 is still targetted for Tiger. This is cool.] Sadly, though, it looks like metadata has been pushed back into post-Tiger land. It would be nice to see something a little more integrated than the Javadoc-based kludges we're relying on at the moment, if only for the speed benefits. (I recently wrote a nice little tool using XDoclet and AspectJ, but the doclet parsing just added too much overhead to the compilation process, so I just filed it under ‘neat, but fruitless idea’)

Tangent: The URLs on the JCP site trigger one of my pet peeves: making things parameters that really should be part of the URL itself. By making something a parameter, you're exposing the inner workings of the site, and making it much more likely that when you upgrade to a new system, you 404 everyone who deep-linked to you.

The problem is that too often, programmers think of URLs as being the path to the thing (servlet, script, whatever) that generates the page, whereas URLs should really be the (often imaginary) path to the thing that has been generated. detail?id=201 is the wrong way around. 201 should be the container for its details, not a property of the details-generator.

Yes, I'm picky.

Previously: Code Conventions (final)

Next: When Reuse isn't.