One of the new Java language proposals discussed at JavaOne was JSR 308: Annotations on Java Types. The proposal will make it possible to add annotations in many places where they aren’t currently allowed, and will introduce a pluggable type system into Java. This pedestrian-sounding plan spawned a memorable jeremiad from Michael Nygard, entitled When Should You Jump? JSR 308. That’s When. Claiming that Java had already blown through its “complexity budget” with the initial introduction of annotations, he says that JSR 308 would create a crushing burden of syntax that will only speed the exodus of developers to more lightweight and dynamic languages. InfoQ has a nice roundup of the reactions, the negative ones of which boil down to: it’s not that bad, and if you really hate it, well, it’s optional, isn’t it? A good point, to be sure, though it bears thinking about how much time the typical developer spends maintaining other people’s code. If a JSR 308 is enshrined in the language and gains traction in the Java community, you’ll be dealing with its requirements whether you want to or not. Software Development