JVM Language Summit – first day

Just came back from the first day of the JVM language summit, and it’s been a very interesting day indeed. I made some bad morning choices – and spending some time fighting Notes – so I ended up arriving ten minutes into the first presentation.

The JVM language summit is a three day event organized by Sun, and the collection of people in the room is quite impressive. There are about 80 people all in all, and several huge names among them. Very fun.

So, the first talk was a quick intro to the Hotspot engine, what kind of features it sport and what we can expect from it in the future. (They’re adding a new GC algorithm, among other things).

After that John Rose talked about the DaVinci machine, and what specifically is part of the JSR292 work (invokedynamic and method handles mostly), but he also talked about other language features that might be nice to have, such as continuations, tail calls, value types and other things. During this talk Mark Reinhold said that invoke dynamic will be a part of Java 7, as I posted earlier.

Bernd Mathiske talked about the Maxine VM, which was quite interesting although I’ve seen more or less the same talk before.

After that there was time for lunch and open spaces discussions. I ended up in the same room as Terence Parr and some other people talking about Antlr. I made the bad decision to quickly tell them about a project I’m working on, and as a result I now have to actually finish it and publish it. Why can’t I just shut up? (Announcement will be posted shortly)

We got a quick intro to the Fan language, talking about some of the issues involved in supporting both the JVM and .NET from the same language. One of the large implications is that Java interop won’t really happen in such a language. Everything you use need to be implementation in the Fan standard library – at least that’s the impression I got.

Scott Davies did a classic introduction to Groovy. It was mostly geared towards Java developers and as such maybe weren’t a perfect match for the audience. He did make some good points from a perspective language designers/implementors don’t generally spend much time on.

Finally, Iulian Dragos talked about some of the ways Scala is optimized, how closures are compiled and what kind of compiler optimizations is done. This was really interesting, although I didn’t get the chance to ask about structural types.

The talk about Fortress was really interesting. If I was in the target audience I would be totally drooling, and as a language implementor it sure seems cool too. Implicit parallelism is hard to get right, but it sure seems like Fortress does it.

During the JVM multiple dispatch talk I sadly zoned out and worked on the project I’d mentioned to Terence. It seemed to be quite interesting, although I’m quite skeptical about the benefits of multiple dispatch in a language like Java. It doesn’t feel like methods should belong to classes in such a system.

Finally, Stuart Halloway hold a lightning talk about how different features of a language contribute to making it easy working in an agile way. Of course, calling it a lightning talk was a bit funny, since it ran to 30-35 minutes…

Looking forward to several session tomorrow. Goslings keynote might be interesting, Attila’s talk will be fun, and the talk about gradual typing in Python looks cool too.

4 Comments, Comment or Ping

  1. But you can’t deny that multiple dispatch would be nice for e.g. visitors over expression trees in codegen, etc., right? :)

    Multiple dispatch could easily treat the first argument as special purely as a syntactic convenience, in a similar way to how .NET extension methods are implemented in C# and VB.NET. I think it’s not necessarily super-pleasant, but I don’t think it’s too ugly either. Not ugly enough to counteract their utility, anyway, IMHO.

    But then, it would be nice to go even further, and have some kind of pattern matching, not just type matching, in the dispatch lookup.

    September 25th, 2008

  2. This was a very interesting read, please continue for the next days!

    September 25th, 2008

  3. Patrick Wright

    Thanks for posting this, Ola.

    About Maxine–I haven’t understood yet what the status and goals of this project are yet, e.g. is it a pure-research, let’s see what happens kind of thing, or if the goal is to create a VM in Java that can be easily experimented with, or ? Did you get any sense of that from the presentation?

    Also, I’d be interested in getting your perspective on which of the many features proposed in the MLVM work, outside of invokedynamic (and the few pieces it depends on) it looks like have support for Java 7, within Sun and the community at the conference–tail recursion, for example.

    Thanks for keeping us informed!

    September 25th, 2008

  4. jherber

    thanks for blogging the event.

    September 25th, 2008

Reply to “JVM Language Summit – first day”