Brian Goetz, TweetJava Language Architect at Oracle
Biography: Brian Goetz
Brian Goetz is the Java Language Architect at Oracle, and is the specification lead for JSR-335 (Lambda Expressions for the Java Language.) He is the author of the best-selling book "Java Concurrency in Practice" and is a frequent presenter at major industry conferences.
Java Concurrency in Practice: www.jcip.net
Presentation: TweetJava Past, Present, and Future
Presentation: TweetLambdas in Java: A peek under the hood
The big language features for Java SE 8 are lambda expressions (closures) and default methods (formerly called /defender methods/ or /virtual extension methods/). Adding closures to the language opens up a host of new expressive opportunities for applications and libraries, but how are they implemented? You might assume that lambda expressions are simply a more syntactically compact form of inner classes, but, in fact, the implementation of lambda expressions is substantially different and builds on the invokedynamic feature added in Java SE 7. This session illustrates the boundary where language design and JVM architecture meet and influence each other.
Presentation: TweetGOTO 2020 - A Speculative View
We are not clairvoyants or fortune tellers, but we do have some strong opinions on what is the next thing to worry about/look forward to in the IT industry. Join our panel to share your views and hear theirs on what will be important to developers in 2020.
Erik Dörnenburg: In 2020 an even smaller number of developers will create the majority of business value. They will benefit from two decades of incremental improvements in development tools and practices. The remaining developers will struggle with endless package customisation and integration or they will be masters of fantastically overengineered frameworks and technologies that don't help them to solve business problems.
Dave Thomas: The future is never clear, but often patterns of fact emerge from the fiction of future predictions. Will it be post agile, post OO and if so what will we be doing? Will end users really be empowered to develop themselves? How will methods, languages and tools change? Will NoSql be YesSql? Will FP be mainstream or bypassed by something else? Will computers truly begin to augment our capabilities? Is HTML5 and the DOM still dominant? Will everything be little things loosely coupled?
Ola Bini: The complexity of software systems seems to increase exponentially. By 2020 I suspect we will have had at least one complexity crash and are either living in the metaphorical stone age ruins, or we have finally found better tools and techniques to manage complexity with.
Brian Goetz: I'm not really one for predicting the future. My talents are more in the area of "explaining the present"!
David Nolen: Concurrency pervades real software systems, yet only in recent years have some programming languages started providing better control structures to manage this source of complexity. We need better tools - the future is relentlessly asynchronous, distributed, and parallel.
Rachel Laycock: Windows automation will be better than Linux and women will outnumber men in both leading and participating in the community. But maybe seven years isn't long enough for that... Realistically, I expect that asynchronous programming and security will be first class concerns and the languages and tools that support those concerns will be what we'll be talking about. And it would be nice if proprietary software that is expensive and hard to use is a horror story from our the past
Moderator: Kresten Krab Thorup