Speaker Details

José Paumard

Independant (very)

Passionate about programming computers for over 20 years, Jose made his debut in assembler and C, C for SIMD parallel machines before adopting Java as an object-oriented language, indispensable to most major modern applications. He brings his expertise and capacity for analysis and synthesis to many projects, mainly in the lower layers, close to the data, but also on complex UI design, or in the browser. PhD in applied maths and computer science, assistant professor in Paris North University for 20 years, Java Champion, Java Rockstar, Jose also has a passion for education and knowledge transfer. He gives talks in major international Java conferences (JavaOne in San Francisco, Devoxx in Antwerp, Paris and London). He wrote numerous technical articles on Java technologies for Java Magazine, Oracle Technolgy Network. He writes a blog, Java le soir, French documentary source on Java technologies for thousands of french speaking developers around the world. He is a member of the french Paris Java User Group, and has been a co-organizer of the conference Devoxx France for three years.

The Sincerest Form of Flattery

Conference
Java Language

Functional programmers have been saying for decades that they know the way to the future.

Clearly they've been wrong, since imperative languages are still far more popular.

Clearly they've also been right, as the advantages of functional programming have become increasingly obvious. Is it possible to face both ways, and combine the two models?

Scala is one language that does this, and Java too has been on a journey, which still continues, of learning from functional languages and carefully adding features from them.

In this talk, we'll review what Java has learned from functional languages, what it can still learn, and how its added features compare to Scala's original ones.

Scheduled on Wednesday from 17:50 to 18:40 in Room 6

Java Streams API
Project Coin
Functional Programming
Scala
Java Generics

Java keeps throttling up!

Deep Dive
Java Language

As it was announced, Java keeps releasing a major version every 6 months. The release train passes and brings its amount of new things. Some of the expected functionalities have already been released: a new syntax for the switch clause or a new bytecode instruction: CONSTANT_DYNAMIC. Other are still work in progress: a new way to write methods, a smart instanceof, lazy evaluated constants. Projects are progressing too.

Loom will bring new concurrent programming paradigms.

Amber is about to bring data types and new lanaguage constructs.

Valhalla can already show very promising results with formerly called value types, now called inline types.

It is hard to tell when all these things are released, but when they are ready, we will have them in less than 6 months!

We will give details about all this, with code and live demos of preview versions.

Scheduled on Monday from 09:30 to 12:30 in Room 4

Java SE
Java
Future

Building your own JDK in 10 steps

Tools-in-Action
Java Language

The JDK is an open source project that you can download and build yourself! All the new things under work are available on Mercurial branches, that you can get and compile to test them before they are released. It allows you to play with them, see how they work, see what do the new syntaxes look like. In short: you can play now with a JDK from the future, that may never exist!

We will show how all this work, from the installation of a Ubuntu virtual machine to the execution of a home made JDK that will never be released.

Scheduled on Monday from 16:45 to 17:15 in Room 4

Java SE
Java
Future

Designing functional and fluent API: example of the Visitor Pattern

Conference
Java Language

Among the patterns from the GoF, the Visitor is probably the more complex to implement. One of the difficulties is that you need to implement it in your object model, leading to complex refactoring for legacy applications.

Based on the use of all the nifty tools brought by functional programming: chaining, composition, and partial application, you can implement Visitors without having to change your object model, using a functional and fluent API.

This approach can be used to implement other patterns: Builder and Validator. Using this way of designing API leads to readable and robust code, designed following the GoF patterns.

Scheduled on Thursday from 10:40 to 11:30 in Room 8

Java
Lambda
Lambda Puzzlers

Talks by tracksTalks by session typesList of SpeakersSchedule