[JSR308] Annotations on statements (and expressions?)
eu at javatx.org
Wed Jan 31 12:11:17 EST 2007
It is not really something specific to JML. The problem we are facing
here is that Java (both language and JVM bytecode) does not have a
standard way to link arbitrary metadata with the executable code.
I do agree that using such metadata in a traditional Java apps can
lead to quite verbose code (like this JML example), however we can't
underestimate the Java language adoption and unbeatable tooling support
for the Java language. So, even domain-specific languages could provide
a more compact representation, it will be harder to use them comparing
to the plain Java. I think it is important for the researchers as well
as for the industry adoption.
We also need to unify metadata at the bytecode level, so non-Java code
would be able to deal with interchangeable data structures.
Tom Ball wrote:
> I don't understand why a language like JML needs support from Java.
> There's no need to turn Java into an intermediate language, as JVM
> class files (should) already address that need. The JVM and Java core
> classes make a great platform for researching new languages, and with
> the open-source release of javac it is now even easier to create
> them. If the JVM spec needs to be improved to support better
> specification then either this JSR should focus on that issue, or a
> new JSR should be created.
More information about the JSR308