Skip to main content

Java 7: Developers Find Project Coin Enhancements Immediately Useful

Posted by editor on March 19, 2011 at 4:53 PM PDT

The latest two java.net polls ask developers about the Java language enhancements that are part of Java 7 (the Java SE 7 Developer Preview is available for download now; the formal release will come in just a few months). Last week's poll asked What's the most important Java 7 enhancement for the work you do? The majority voted for Project Coin (JSR 334). As a result, the current poll follows up on that theme, asking Which Project Coin (JSR 334) Java language enhancement will be most useful? Voting will be open only until Monday, so now is the time to vote if you haven't already.

58 votes were cast in last week's poll, and two comments were posted. Here are the results:

What's the most important Java 7 enhancement for the work you do?

  • 60% (35 votes) - Project Coin (JSR 334)
  • 14% (8 votes) - InvokeDynamic (JSR 292)
  • 9% (5 votes) - Lightweight Fork/Join Framework (JSR 166y)
  • 9% (5 votes) - More New I/O (JSR 203)
  • 5% (3 votes) - A different Java 7 enhancement
  • 3% (2 votes) - I don't know
  • 0% (0 votes) - Other

The result is pretty clear cut -- though the sample size (58 total votes) is pretty small. Nonetheless, I think the clear majority voting for Project Coin is a testament to the careful selection of upgrades that are actually implemented within Project Coin. The community is saying that, right off, the Project Coin enhancements will be useful for the work they do every day.

This view is backed up by prunge's comment:

I picked coin because I'll use it more in day-to-day tasks than the other features. But the NIO filesystem additions will actually allow me to do things in Java that I couldn't do before without native code/hacks.

osbald expressed a different view:

Voted different as I'd be most interested in the odd speed tweaks that've gone into the v7 JVM ..oh and its basis on OpenJDK. InvokeDynamic I might use indirectly via Groovy/JRuby but in my daily coding rotines? can't see myself using it. Small coin dosent exactly trill me either, for the most part the syntax 'enhancements' don't seem worth sacrificing backwards compatibility with Java 6.

Having been around the world of code for a few decades, I can certainly see osbald's point in questioning the wisdom of losing backward compatibility. I mean -- in my view, Java is becoming akin to historic languages like COBOL, Fortran, and C, in terms of its installed, completely-validated code base. I spoke with a developer last night who works on business applications that are based on COBOL accounting code written decades ago. Now, no one's developing big new apps in COBOL today (I think that's a true statement, anyway). So, in that way, Java's entirely different.

But, if you look at Fortran, and especially C -- new code is still being written in those languages. I think it's quite possible that 30 years from now, code written in COBOL, Fortran, C, and Java that hasn't been edited for decades will still be running within many operational environments.

It's a difficult decision -- Java is young enough that you want it to grow such that it remains competitive with newer languages; yet, at the same time, the installed base of Java code is already enormous, despite the language's relative (to COBOL, Fortran, C, for example) youth. So, you need to be very careful not to "break" the old installed code base.

Anyway -- the current poll is about Project Coin itself (which specific enhancement is most useful?); voting ends on Monday.


java.net Weblogs

Since my last blog post, quite a few people have posted significant blogs on java.net:

  • Jitendra Kotamraju posted JSON JSR(pre JCP filed draft): "JSON JSR(pre JCP filed draft) As announced earlier, Oracle wants to include a Java API for JShttp://www.java.net/blog/edburns/archive/2011/03/15/summary-mojarra-hudson-jobs-and-automated-tests-they-runON in the Java EE platform. I have circulated the Java API for JSON JSR draft internally in Oracle. If you have any feedback, let me know. I will also reach out to few people(who worked on Java implementations for JSON) to support this JSR. The planned scope for this API is: Produce and consume JSON..."
  • Ed Burns provided a Summary of Mojarra Hudson Jobs and the Automated Tests They Run: "I describe the hudson jobs for Mojarra and the automated tests run by those jobs."
  • java.net Community Manager Sonya Barry asks Two weeks in. Are things a little better now? "The dust is settling, but we're still working away behind the scenes..."
  • Kumar Jayanti wrote about GlassFish V 3.1: "Glassfish V3.1 release and what is new in Security."
  • Frans Thamura posted Source Code Viewer - My First Commit: "Continous Integration is important, will Java.net become the platform for this?"

Java News

Here are the news stories we're currently featuring in our Java news section.

Tori Wieldt reports on TheServerSide Java Symposium panel discussion, The Java Community Process: What's Broken and How to Fix It -

In a panel discussion today at TheServerSide Java Symposium, Patrick Curran, Head of the Java Community Process, James Gosling, and 
Reza Rahman, member, Java EE 6 and EJB 3.1 expert groups, discussed the state of the JCP. Moderated by Cameron McKenzie, Editor of TheServerSide.com, they discussed what's wrong with JCP and ways to fix it...

Shai Almog's latest LWUIT post is Constantly Theme'd:

One of the often requested features in LWUIT's themes has been the addition of constants for themes. Constants allow the theme designer to "hint" of desired functionality to the application code, e.g. a particular theme might have a constant indicating that it wants the scrollbar to fadeout when unused. The LWUIT resource editor now includes an additional tab for creating such constants...

The Brussels JUG presents Leo Exter's Bootstrapping: Probably the most important term a startup entrepreneur should know -

To my surprise, a lot of startups I come across aren’t familiar with the term. Strange (and unfortunate), considering how important bootstrapping can be for any entrepreneur. Here’s why it’s important: many business angels and venture capitalists I’ve come across will be very reluctant to seriously consider investing into an early-stage company that doesn’t have a proof of concept...

Alexis Moussine-Pouchkine discusses a Portable Java EE 6 Web Maven Archetype:

With the growing use of Maven in enterprise projects, starting off with the best possible pom.xml is important. The good news is that there are a number of Java EE 6-related archetypes which can help you get started while offering IDE independance. The bad news is...


Spotlights

Our latest java.net href="http://www.java.net/archive/spotlight">Spotlight is Adam Bateman's JDK 7 nearing the endgame -

Just a reminder that JDK 7 is nearing the endgame and now is the right time to grab the latest JDK 7 build and give it a test drive. Once it goes beyond the end of March then the release will start to get locked down and it will get harder to get fixes or changes in (don't leave it too late). The important thing is to make sure that your existing code works well...

We're also still featuring Expert-in-Tech: Online consulting services workflow using Java EE 6 & GlassFish -

Expert-in-Tech is an online software consulting service providing technical support in a variety of programming languages, web servers, application server, application frameworks, operating systems, and even cloud computing. You can file a ticket for support on any part of your software stack...


Poll

Our current java.net poll asks Which Project Coin (JSR 334) Java language enhancement will be most useful? Voting ends Monday.


Subscriptions and Archives: You can subscribe to this blog using the java.net Editor's Blog Feed. You can also subscribe to the Java Today RSS feed and the java.net blogs feed. You can find historical archives of what has appeared the front page of java.net in the java.net home page archive.

-- Kevin Farnham

Twitter: @kevin_farnham

Comments

Java 7: Developers Find

Project Coin's Java7 features and good but not great. I 'm expecting many more small language enhancements in Java8!