Devoxx 2008

Devoxx is always a pleasure to attend for the energy and enthusiasm that 3000+ Java developers bring from all over Europe. I made two presentations this year: one on modularity in Java that dove-tailed with Mark Reinhold's keynote, and one with Brian Goetz on the JVM's progress towards being a "universal" VM for all programming languages. Thanks to the many hundreds who attended and gave warm feedback.

Bear in mind that these presentations are targeted at a broad developer base, and that we cannot address every last detail of a topic in 45-50 minutes. Just because something is missing from the slides doesn't mean we don't care about it, or that it's not important, or that it didn't come up in Q&A or a BOF.

In other news, Stephen Colebourne continued his fine tradition of taking the pulse of the community regarding Java language changes. By asking people to rank features globally, we gained crucial information over a local yes/no vote on each feature. With yes/no voting, imagine if 86 people vote yes for properties and 53 vote no, while 51 people vote yes for multi-line strings and 9 vote no. All you really learn is that the properties "community" is more divided than the multi-line strings "community". This saps authority from the larger number of yes votes for properties. Plus, yes/no voting allows different communities to talk past each other forever, ignoring the fact that Java language designers can consider the needs of only one community: everybody. So while there is debate about which features to include in the rankings, overall I was very pleased with how informative and decisive the community's rankings were.

Comments:

I repeated the exercise at JavaEdge, with a more in depth voting system and some new options - http://www.jroller.com/scolebourne/entry/jdk_7_language_changes_javaedge . The raw data is available if you want to look too.

Posted by Stephen Colebourne on December 22, 2008 at 09:47 AM PST #

Hi Alex,
I don't like the fact there is no difference between the modifiers 'module' and the way to declare a module (using 'module').
It will complicate the parsing and mewbies frequently forget the keyword 'class' when they try to define a class.
In my opinion, the definition of a module should starts with another keyword than 'module'.
I propose @module to avoid to create a real new keyword.

I don't like the use of @ to specify versions, why not reuse parenthesis which seems to be a more classical way to specify versions.

Furthermore, keywords that specify an action are conjugated in Java (extends, throws etc),
So I propose to rename 'require' to 'requires' and 'permit' to 'permits'.

Your example p24, rewritten with my proposed changes:
@module org.netbeans.core(6.5) {
requires org.w3c.dom.parser(4.0);
requires java.core(1.7);
}

merry christmas,
Rémi

Posted by Rémi Forax on December 23, 2008 at 07:45 PM PST #

Post a Comment:
Comments are closed for this entry.
About

Alex Buckley is the Specification Lead for the Java language and JVM at Oracle.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today
Feeds