
Deep Dive180min
Why Haven’t They Fixed This?
This talk examines longstanding Java language and platform issues, explores why seemingly simple problems remain unresolved, and debates potential solutions. Attendees will gain insights into language and API design challenges, learn how to leverage existing Java solutions, and be inspired to contribute their own ideas for improvement.

Stuart MarksOracle

Maurice NaftalinMorningside Light Ltd
talkDetail.whenAndWhere
talks.scheduleTBD
Room 5
talks.roomOccupancytalks.noOccupancyInfo
We’ve just celebrated Java’s 30th birthday. While relishing all the great features built up over three decades, you might have asked yourself about some of the not-so-great problems with the language and the platform. When you see these problems, including some that are a quarter of a century old, you’ve probably wondered: why couldn’t they have just fixed it? For example:
These look like they should be easy to fix! In this talk, we’ll see whether that’s true, we’ll argue over the different possible solutions, and we’ll see whether we can outthink the Java designers with a good solution, or a better one than they chose. You’ll come away from this talk with a deeper understanding of the problems of language and API design, and of how to use the solutions that Java provides. And ready, perhaps, to start supplying your own solutions!
- Why does type inference sometimes fail in really obvious cases?
- Why don’t we have iterators that can handle concurrent modification promptly and consistently?
- Why does comparing two sets for equality sometimes produce such strange results?
- If immutability is such a great idea, why doesn’t Java support it?
- Modifying a set element often breaks the set. Why can't the collections framework handle this better?
These look like they should be easy to fix! In this talk, we’ll see whether that’s true, we’ll argue over the different possible solutions, and we’ll see whether we can outthink the Java designers with a good solution, or a better one than they chose. You’ll come away from this talk with a deeper understanding of the problems of language and API design, and of how to use the solutions that Java provides. And ready, perhaps, to start supplying your own solutions!

Maurice Naftalin
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 – new edition just out! Disorganises the unconference JAlba. Java Champion. Speaks at conferences a lot.