InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Presentation: Evolving the Java Language

Posted by Dave West on Apr 24, 2009

Sections
Development,
Architecture & Design
Topics
Java ,
Language Design ,
Specifications
Tags
Language Features

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.

Bottom line by Dan Tines Posted
Re: Bottom line by Leonardo Vargas Posted
Re: Bottom line by Christian Gravata Posted
Re: Bottom line by Dan Tines Posted
Outdated Bio by Oli c Posted
ok... by Ivan Lazarte Posted
Stale content by Neil Bartlett Posted
Not very informative by Christopher Churchill Posted
  1. Back to top

    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.

  2. Back to top

    Re: Bottom line

    by Leonardo Vargas

    C# for Java already exists. For more information see dev.mainsoft.com/Default.aspx?tabid=177

  3. Back to top

    Outdated Bio

    by Oli c

    Doesn't Neal Gafter work for Microsoft now?

  4. Back to top

    Re: Bottom line

    by Christian Gravata

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

  5. Back to top

    ok...

    by Ivan Lazarte

    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.

  6. Back to top

    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.

  7. Back to top

    Re: Bottom line

    by Dan Tines

    No, C# evolved. Java didn't

  8. Back to top

    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.

Educational Content

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.