The Good, the Bad and the Ugly of Java API design

Zaal 1

14:35 - 15:25

Java language

With Java being a technology that’s over 20 years old, its strict requirements on backward compatibility, and thus the difficulty of removing functionality, modern JDKs inevitably contain APIs that did not withstand the test of time, and for various reasons are now hard to use, or exhibit other signs of poor design. As a result, in the last 2 years, we’ve seen several attempts at modernizing Java, and quite a few new APIs that provide nice and clean alternatives to their older counterparts.

In this live-coding session, we explore a series of commonly used Java APIs which cause troubles for developers. Learning from their mistakes, we draw principles for clean API design, and see how these were applied to the new features in JDK 9, 10, 11, and 12. As part of this exploration, we focus on Collections, StackWalker, ProcessHandle, HTTP/2 client APIs, and more.

Come and find out how to make your code cleaner with the help of new features of modern JDKs, and figure out how to make your own APIs clean and pleasant to use by learning from Java’s mistakes!