What's It Take?
What do you need in JDK 7?
Last week, we noted Elliotte Rusty Harold's RatJava blog entry, which proposed making a set of syntactic language changes (eliminating semicolons, requiring braces for multi-line statements, simplifying multi-line String literals), which could be supported by hacking javac. The resulting language wouldn't be Java (and probably wouldn't be well-suited to collaboration, which is one of Java's strengths), but would emit genuine Java bytecode and would work with existing code and libraries. It's one of the first topics of discussion on this week's JavaPosse podcast, if you'd care to hear what the Posse guys think.
A similar set of ideas appeared in this week's JavaLobby newsletter, which led off with MiG InfoCom AB president Mikael Grev's Christmas Wish List for Java, collecting a number of things he'd like to see from the language, its implementors, and the community in general. Perhaps the most interesting change in the form of this wish-list is that with Java GPL'ed, the phrasing of such lists has changed from "Sun should do X" to "someone should do X", recognizing the potential for many community members (individuals, companies, organizations, etc.) to contribute to Java's evolution by hacking on the JDK code itself. So, given that it's a wish-list to anyone in a position to grant his wishes and not just Sun, his requests include a legacy-free "Swing 2.0" for JDK 7, a "for.index" that would return the index of a for-each counter, and a killer app in Java. Unsurprisingly, over a hundred of people have joined the talkbacks to his JavaLobby post, commenting on his ideas and offering some wished-for features of their own.
So what about you? What do you want to see in Java? Can you add it yourself, would you need help, or does someone else need to do it?
Also in the Java Today section,
Peter von der Ahé's blog has posted a list of JDK7 b03 compiler fixes. "I'm not sure when b03 will be available for download from jdk7.dev.java.net or openjdk.dev.java.net. Since the main focus of our organization is releasing JDK 6 right now, JDK 7 is on the back burner. There is good news and bad news about the first JDK 6 update release (6u1). The good news is that 6u1 should be released very soon after JDK 6. The bad news is that the compiler is not considered critical for this release and there will be no compiler back ports to JDK 6u1."
The NetBeans 5.5 Testing Contest Information has an update for Brazilian Portuguese developers: "Thanks to great contribution by a number of developers in Brazil,
NetBeans now has a Brazilian Portuguese version ready for inclusion in
the official NetBeans IDE 5.5 Multilingual version. All that remains is
to fully test the product to make sure it will be accepted by
developers in Brazil."
Today's Forums, continue the discussion of whether JDK 7 could and should support multiple Java applications in one JVM instance. One of the current problems is pointed out by
Re: Isolation API in JDK7?:
"Actually I'd like to inject a point that might be in coxcu's favor. I once wrote an application that injected itself into a remote process space (explorer.exe to be specific) and launched a JVM inside there. The problem, you see, is that there is no way to terminate a JVM without killing the entire process it's running in (see JNI_DestroyJavaVM()). Now, by implication, any time I wanted to uninstall my application, I'd want to remove its DLLs, which by extension meant I had to shut down my code running inside explorer's process-space which by implication meant I had to kill the JVM... and it took down Explorer with it."
Joshua Marinacci posts about a
Painter set refactoring on the SwingLabs forum:
"I've just committed the latest (and hopefully final) refactoring of the Painter API to CVS. Here's the basic idea: JXComponent, an interface that JXPanel, JXLabel, etc will implement. Most instances of JXComponent will simply delegate to PainterSupportImpl which will do the real storage and work. The various get/setPainter/Background/Foreground methods all eventually modify something in the map that comes from getPainters(). This map is live, meaning you can get it and change the contents, and the changes will be reflected on the next paint cycle."
phenderson has a
WebStart feature request:
"I've an idea which could help improve WebStart on Glassfish. Instead of hard coding the application name etc in sun-application-client.xml have the web start servlet generator request information from a bean. Then the bean can provide all the relevant info for the JNLP file. The reason I would like this, is so that I can customize (via DB values) the Name of the JNLP application and therefore making the list of applications on the clients pc unique. Something like 'StarjarEnterprise (Company A)' 'StarjarEnterprise (Test)' etc. Dynamic data is much more useful than hard coded values tucked away in xml files."
Returning to the idea of the Isolation API and running many apps in one JVM, MarkÂ Lam looks at some of the challenges with implementing such features in Multi-tasking the Java platform: What's the Big Deal?, one of today's featured Weblogs. "What is so hard about implementing multi-tasking support in the Java platform? In truth, there are always more issues than meets the eye at first glance. This article will explain some of the complexities, and solutions that can be applied."
Hacking on phoneME?
DarrylÂ Mocek sorts out the project in
phoneME Advanced Directory Structure Explained:
"In this blog entry, I'll be talking about the directory layout of the phoneME Advanced project."
Finally, KirillÂ Grouchnikov continues his component animation series in
Spicing up your buttons with rollover (and pressed) effects, part II:
"The second part in the series about 'image ghosting' effects on Swing buttons with icons. When you rollover the mouse over a button, its icon has an outward decaying 'ghost' image painted (starts from 50% opacity and decays linearly to zero). I asked for your feedback, and this entry shows how some of your requests have been implemented."
In today's java.net
News Headlines :
Java Profiler 6.0-EAP-build1102
- StatSVN 0.2.0
- Compass 1.1 M3
Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using our
form. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
Current and upcoming Java
- November 27-30 - Java Training Philippines
- November 27-3 - JAX, Enterprise Architecture Conference and Eclipse Forum Asia 2006
- NovemberÂ 28 - Portland Java User Group November Meeting
- NovemberÂ 29 - NevadaJUG Nov Meeting
- December 1-2 - IndicThreads.com Conference On Java Technology
- DecemberÂ 2 - Java Hellenic User Group Event - Enterprise Java & Netbeans
- December 7-10 - The Spring Experience 2006
- December 11-14 - Enterprise Java Architecture Workshop - San Diego
- DecemberÂ 11-15 - JavaPolis 2006
- DecemberÂ 12-15 - J2EE Training Philippines
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
What do you need in JDK 7?