"When people ask me what feature do I most regret, serialization is the easy answer" - @BrianGoetz Let's talk about serialization in Java: Why does it exist? What are the problems (even today)? Would Java have been better off without it? Can it be fixed? 1/11
NB: What follows is mostly quotes or paraphrasing from a conversation I had with Brian during my 25-hour live stream. If you want to watch the full discussion about serialization, nullability, primitives, and more, you can find it here: youtube.com/watch?v=ZyTH8u… 2/11
Serialization was introduced because turning an object graph into bytes is valuable: You can store things on disk, in databases, or send them over the wire. But while the concept is sound, it was implemented in a horrible way. "I wasn't on the team at the time" - Brian 3/11
Serializable objects have three aspects: 1. internal representation (mostly fields) 2. API (public members) 3. external form With serialization, 1. and 3. are identical by default. One problem is that custom 3. is cumbersome (nipafx.dev/java-serializa… or `Externalizable`). 4/11