Interview: Neal Gafter Discusses Closures, Language Features and Optional Typing
In this interview from QCon London 2008, Neal Gafter discusses upcoming language features in Java 7, superpackages, what closures are, the differences between the three major closures proposals (CICE, FCM and BGGA), optional typing systems for dynamic languages, and the next major language.
Watch Neal Gafter Discusses Closures, Language Features and Optional Typing (26 minutes).
From the interview, Gafter gives a brief overview of what closures are:
Closures are sort of an umbrella word to talk about a group of related features in the same way that generics is not a thing, but it describes a group of related features. The most important is anonymous functions; it's an expression that's an anonymous function. Computer science theory folks would call it a lambda expression and it is actually not a new idea at all, it dates back to the theoretical work from the 1930s and the lambda calculus and the most important early implementations were in the Scheme programming language and in Smalltalk.
And we have closures or lambda expressions or anonymous functions in many many programming languages today, almost all of the dynamic languages, all of the functional programming languages, pretty much almost every language that has been introduced in the past ten years, for example, has something like closures. So the idea is, it is a function, it is an expression that designates a function, it identifies the parameters, and you say here is the code of the function, it could be statements or it could be just a result expression.
Uhmm, that's called...
But it sounds like Java (10-ish years from now :) ) is just going to turn into Scala. What's the point in that? You can write Scala now, and easily integrate it into your existing Java codebase since it all compiles down to the same bytecode.
Re: Uhmm, that's called...
Whether or not you use or like scala though, both it and the java runtime would benefit from the vm enhancements required to fully implement the proposal.
One of the comments was that a language can be successful so long as it res
Re: One of the comments was that a language can be successful so long as it
"One of the comments was that a language can be successful so long as it resists the temptation to innovate" - That statement was made by Josh Bloch in the future of java development discussion forum. Not Erik Meijers.
Whoops, my mistake - thanks for catching that!