JavaJava
Deep Dive180min
INTERMEDIATE

Escape from the Planet of the Collections

The talk explores the 25-year-old Java Collections Framework, discussing its design in the current world and how to avoid pitfalls from older paradigms. It debates the need for persistent data structures, discusses controversies, and suggests code improvements and new abstractions. The session aims to deepen understanding of the framework's design and practical usage, and provide insights into its future direction.

Maurice Naftalin
Maurice NaftalinMorningside Light Ltd
Stuart Marks
Stuart MarksOracle

talkDetail.whenAndWhere

Monday, October 7, 13:30-16:30
Room 8
talks.description
In the last 25 years, the Java Collections Framework has become arguably the most used data structures on the planet, part of everyday life for millions of developers. And yet, the world in which the Collections Framework was designed is very different from the one we inhabit now. How should we avoid pitfalls from older paradigms, and how do we teach a 25-year-old framework to embrace current concepts? We’ll cover the following topics:– Concurrent programming is driving Java towards a functional style, but collections were designed around in-place mutation. Does unmodifiability help? Should persistent data structures now be added? We’ll argue these questions, with examples to illustrate the tradeoffs;– Anything as complex and long-lived as the collections framework is bound to attract controversies, which we’ll explain;– We’ll take some examples of code using collections and improve them, discovering good practices as we go;– The Collections Framework is fundamentally about shared abstractions. Is the current set of abstractions sufficient, and if not, what is missing? We’ll discuss some new abstractions we’re exploring for the future.This session is for every Java developer who needs to use the collections framework – that’s every Java developer. You’ll leave with a deeper understanding of the design forces that shaped the framework, and with sharpened practical knowledge of how to get the very best from it, and some ideas for where the framework is heading.
Data Structures
Concurrent Programming
Java Collections Framework
Shared Abstractions
talks.speakers
Maurice Naftalin

Maurice Naftalin

Morningside Light Ltd

United Kingdom

Five decades working in IT: developer, designer, architect, manager, teacher, and author. Working with Java since 1.0. Author, Mastering Lambdas; co-author, Java Generics and Collections. Disorganises the unconference JAlba. Java Champion. Speaks at conferences a lot.
Stuart Marks

Stuart Marks

Oracle

United States of America

Stuart Marks is the JDK Core Libraries project lead in the Java
Platform Group at Oracle. His areas of expertise include Collections,
Lambdas, and Streams. As his alter ego "Dr Deprecator" he also works
on Java's deprecation mechanism. Stuart previously worked on JavaFX
and Java ME at Sun Microsystems. He has over thirty years of software
platform product development experience in the areas of window
systems, interactive graphics, payments, and mobile and embedded
systems. Stuart holds a Master's degree in Computer Science and a
Bachelor's degree in Electrical Engineering from Stanford University.
comments.title

comments.speakerNotEnabledComments