There are many nifty features that Java could have but doesn't. Why, though, how hard can it be to implement them? Why don't they just...
- let us add fields to records?
- add
?.
for null-safe member selection? - add extension methods?
- remove the need for semicolons?
- introduce immutable collections?
- make
Stream
handle exceptions? - turn
Optional
into a proper monad?
After this talk, you'll know. And have gained insight into the deliberations behind the decisions that evolve Java and why nothing can "just" be implemented.
▚Slides
Here's the current version of the slides.
I also embedded them below. If they're focussed, you can navigate with arrow keys or swipes (they're two-dimensional, with chapters on the horizontal axis and chapter content layed out vertically). Use Page Up/Down for linearized order and ? for more shortcuts.
▚Video
Here's a good recording of the talk. I hope you'll like it.
▚Past Presentations
I gave this talk a few times before. See below for links to slides (as they were at that very event), videos, and other information.