Presentation: Evolving the Java Language

| by Dave West Follow 0 Followers on Apr 24, 2009. Estimated reading time: less than one minute |

Neal Gafter on Evolving the Java Language

Neal starts off by reframing his presentation; from the original question, "what is it like to evolve a mature language?" to, "what is it like to evolve a widely deployed language?" The latter question exposes the real issues involved, which include:

  • Behavioral compatibility with existing APIs;
  • Choosing appropriate design principles that, in turn, influence the choice of new features;
  • Examination of the best ways to modify, extend, or add features; and,
  • Keep in mind additional long term goals so that immediate improvements do not heedlessly impair the possibility of reaching those goals.

The two categories of immediate short term design goals discussed by Gafter include: Regularize the existing Language and increase modularity. In the first category, issues like fixing type inference, limited operator overriding, and improved catch clauses were noted. Details and examples of these are presented and discussed. The presentation concludes with a discussion of specific long term goals for future extensions and improvements for Java.

View Neal Gafter on Evolving the Java Language for details.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Bottom line by Dan Tines

This was obviously made before the Oracle takeover.

The best thing for "Java" would be to port C# to the JVM.

Re: Bottom line by Leonardo Vargas

C# for Java already exists. For more information see

Outdated Bio by Oli c

Doesn't Neal Gafter work for Microsoft now?

Re: Bottom line by Christian Gravata

C# == Java port to the MS JVM (CLR)

ok... by Ivan L

so why is type inference (the hashmap => map assignment) a potential feature, but the put/get example not.
generics still seem arbitrary to me - a system that meets someones stringent criteria, but not the majorities expectation.

Stale content by Neil Bartlett

This video was recorded in March 2008. Given how quickly things change, it would be nice to see some fresh content.

"Info: Tracking change and innovation in the enterprise software development community"... one year after it happens.

Re: Bottom line by Dan Tines

No, C# evolved. Java didn't

Not very informative by Christopher Churchill

Neal gafter sucks. Josh bloch does a far better job at these kind of improvements to the JDK platform. Dunno what he is upto.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

8 Discuss

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you