Question

We have a project which (assumed) would be finished in 1-2 years. By then, the JDK7 (and hopefully the Java7 JCP spec) should be ready.

But, I wonder, how probable is the "danger" that Oracle will make a "stupid" decision, which would make the JDK7 a less "attractive" platform then the existing JDK6?

More specific, I'm afraid of scenarios such as:

  • halting the development of JDK7 before it is "released"
  • changing the licensing model to be more restrictive than JDK6
  • ...are there other scenarios to be aware of?

What is your opinion on the issue?

NOTE: We would use the NIO2 files API, and perhaps other JDK7-only features which were accepted for "Plan B" (Plan A was rejected, was a proposal to continue to develop JDK7 much longer, instead, Plan B was accepted: develop JDK7 with less features and postpone them for JDK8)

Was it helpful?

Solution

If you're concerned about risks associated with Java 7, you can mitigate them by ensuring your code will run on Java 6. The easiest way to do this is to develop atop Java 6 now, then upgrade to Java 7 once those risks have dissipated.

In addition to the risks you've noted, the set of features planned for Java 7 is in flux.

OTHER TIPS

It depends on how many Java 7 specific features you use.

If your code can still compile on JDK 6, I'd say you're quite safe. You can run on JDK 7, since it's backwards compatible, but if there's an issue you can still deploy on 6.

If Oracle does something really stupid you'll have a bigger decision on my hands: Do I rewrite this app in C#, Python, or something else?

I'll be curious to see how well open source JDK will allow you to hedge your bet.

I'd also be curious to see which features of JDK 7 you're already using: closures?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top