Hacker News new | ask | show | jobs
by 9rx 90 days ago
> 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."

1 comments

> Then you might say that Rust is an expressive programming language.

That's not what I mean. Expressivity allows you to objectively test if two languages are different. The functional/objective/imperative are trying to capture some expressive features.

Using expressivity, you can finally put a Turing machine to that feeling and test it.

> The terminology there already exists and is commonplace, as far as I see.

Missing the point. Message oriented language captures the expressivity of having the ability to send and receive arbitrary methods. This is what I mean.

If OOP or MOP is just a marketing term, then it carries no value.