> Expressivity.Then you might say that Rust is an expressive programming language. But then I'm going to ask: What does expressivity mean?
Ruby is always hailed for its expressivity. Is it also an expressive programming language despite having very little in common with Rust technically?
It seems to me you're going back down the road Kay did thinking that "object-oriented" could become the way to describe his actor based, message passing model. It never caught on because what that means isn't well understood and had to be explained in more detail, so a single word didn't add any value, and thus nobody ever took note of it.
> there is a quantifiable and objective difference between a language that has exceptions and one that doesn't.
Well, I suggest we have a way to say that: {X} {has|does not have} exceptions. The terminology there already exists and is commonplace, as far as I see. If you need to talk about multiple features, then make it a list: {X} has exceptions, lambdas, and inheritance. Laundry list of features are easy to describe. It is when one wants to speak more conceptually that it is harder to find something of actual value as it is usually the concept that you want to explain.
And maybe that's all you really need to get the information conveyed here? "Rust is a programming language" → "Rust is a programming language that has x, y, and z."