this post was submitted on 11 Jan 2024
34 points (87.0% liked)

Rust

6124 readers
16 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS
34
submitted 11 months ago* (last edited 11 months ago) by BatmanAoD to c/rust
 

Almost five years ago, Saoirse "boats" wrote "Notes on a smaller Rust", and a year after that, revisited the idea.

The basic idea is a language that is highly inspired by Rust but doesn't have the strict constraint of being a "systems" language in the vein of C and C++; in particular, it can have a nontrivial (or "thick") runtime and doesn't need to limit itself to "zero-cost" abstractions.

What languages are being designed that fit this description? I've seen a few scripting languages written in Rust on GitHub, but none of them have been very active. I also recently learned about Hylo, which does have some ideas that I think are promising, but it seems too syntactically alien to really be a "smaller Rust."

Edit to add: I think Graydon Hoare's post about language design choices he would have preferred for Rust also sheds some light on the kind of things a hypothetical "Rust-like but not Rust" language could do differently: https://graydon2.dreamwidth.org/307291.html

you are viewing a single comment's thread
view the rest of the comments
[–] BatmanAoD 3 points 11 months ago (1 children)

Copying what I wrote in another comment:

What I would like to see is something that shares these advantages with Go:

  • quick to build
  • easier to teach & learn than Rust
  • easier to quickly prototype with than Rust (though of course it's debatable how well Go does at this one)

...but I don't like the actual language design of Go, and I think it's possible to design a language that's more Rusty but still simpler than actual Rust.

For instance, error handling in Rust is both more ergonomic and more rigorous than in Go. That's huge! A language like Go but with sum types, Result, and the question-mark operator would be leaps and bounds nicer than Go itself.

To be clear, I don't imagine that a "smaller Rust" would replace Rust. But I also don't think we've reached optimal language design when the language I'd pick to write an OS is also the language I'd pick to write a small CLI app.

[–] [email protected] 1 points 11 months ago (1 children)

Learning a programming language is not hard. there are thousands of choices. Before you ask for another one, first please check that there isn't already one that meets your needs. Fragmentation of languages is not useful in general. It is rare to have an idea that hasn't been tried before, so find someone who already has done that idea.

[–] BatmanAoD 6 points 11 months ago

... I am currently asking if there is a language that fits the description. And I'm clearly not the only one interested in such a language.

I personally have not found Rust onerous to learn, especially by comparison to C++. But a lot of people do find the learning curve steep.