Have something interesting to share with Java Eastern Europe community?
Become a speaker now
Richard Warburton

Richard Warburton

Monotonic Ltd, UK

Richard is an empirical technologist and solver of deep-dive technical problems and works independently as a Software Engineer and Trainer. Recently he has written a book on Java 8 Lambdas for O’Reilly and teaching people via java8training.com and Pluralsight. He’s worked as a developer in diverse areas including Statistical Analytics, Static Analysis, Compilers and Network Protocols. He is a leader in the London Java Community and runs Java Hackdays. Richard is also a known conference speaker, having talked at Devoxx, JavaOne, JFokus, Devoxx UK, Geecon, Oredev, JAX London and Codemotion. He obtained a PhD in Computer Science from The University of Warwick.

Speaker's activity
Java Generics: Past, Present and Future
May 23
45 minutes
Talk
English

Abstract: Generics are one of the most complex features of Java. They are often poorly understood and lead to confusing errors. Unfortunately, it won’t get easier. Java 10, release planned for 2018, extends Generics. It’s now time to understand generics or risk being left behind.

We start by stepping back into the halcyon days of 2004 and explain why generics were introduced in the first place back. We also explain why Java’s implementation is unique compared to similar features in other programming languages.

Then we travel to the present to explaining how to make effective use of Generics. We then explore various entertaining code examples and puzzlers of how Generics are used today.

Finally, this talk sheds light on the planned changes in Java 10 with practical code examples and related ideas from other programming languages. If you ever wanted to understand the buzz around higher kinded types or declaration site variance now is your chance!

Slides:

Video:

Pragmatic Functional Refactoring with Java 8
May 22
45 minutes
Talk
English

Abstract: You may be hearing a lot of buzz around functional programming. For example, Java 8 recently introduced new features (lambda expressions and method references) and APIs (Streams, Optional and CompletableFutures) inspired from functional ideas such as first-class functions, composition and immutability. However, what does this mean for my existing codebase?

In this talk we show how you can refactor your traditional object-oriented Java to using FP features and APIs from Java 8 in a beneficial manner. We will discuss things like:

  • How to adapt to requirement changes using first-class functions.
  • How you can enhance code reusability using currying.
  • How you can make your code more robust by favouring immutability over mutability.
  • How you can reduce null pointer exceptions with Optional.

Slides:

Video: