> On May 9, 2022, at 10:10 AM, Kevin Bourrillion <kev...@google.com> wrote: > >>> But seriously, we won't get away with pretending there are just 3 buckets >>> if we do this. Let's be honest and call it B4. >> "Bucket" is a term that makes sense in language design, but need not flow >> into the user model. But yes, there really are three things that the user >> needs control over: identity, zero-friendliness, atomicity. If you want to >> call that four buckets, I won't argue. >> > I *am* of course only caring about the user model, and that's where I'm > saying we would not get away with pretending this isn't a 4th kind of > concrete class.
Here's a presentation that doesn't feel to me like it's describing a menu with four choices: In Java, there are object references and there are primitives. For which kinds of values are you trying to declare a class? If object references: okay, do your objects need identity or not? If primitives: okay, do your primitives need atomicity or not?