Mutability, nullability, serialization, primitives - Java seems to have gotten most things wrong. But could it have been successful otherwise? Brian Goetz and I discuss why Java is the way it is.
00:00 Intro
03:28 What's wrong with serialization?
12:06 How it could've been better
19:20 null - the hole in Java's type system
23:20 Why that's not easy to fix
28:01 Strict mode, compatibility, trade-offs
34:03 Nominal vs structural typing
36:23 Java got all the defaults wrong
43:10 Primitives then and now
48:16 Brian's favorite language
51:22 Outro
Brian:
Java Language Architect at Oracle; creator of lambdas and streams; bringer of var, switch expressions, and records; harbinger of pattern matching, reinvented serialization, and value types.
https://twitter.com/BrianGoetz
Nicolai:
Website: https://nipafx.dev
Twitter: https://twitter.com/nipafx
Twitch: https://www.twitch.tv/nipafx