this post was submitted on 11 Jan 2024
33 points (86.7% liked)

Rust

5361 readers
48 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 1 year ago
MODERATORS
33
submitted 5 months ago* (last edited 5 months ago) by [email protected] to c/[email protected]
 

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
[–] [email protected] 9 points 5 months ago (9 children)

Why would you want that? What is wrong with python if you want an interpreted language with garbage collection? By contrast what is wrong with rust + a lot of crates (or C++/Ada/...) if you want a compiled language?

Zero cost abstractions are great because speed is very important for complex problems. Little things here and there make for modern computers that feel slower than my old 8 bit atari when trying to get work done.

[–] [email protected] 6 points 5 months ago (3 children)

There is a huge and valuable possibility space between python and Rust. We know this because it is already occupied by many extremely successful languages (Java, C#, Swift, etc).

The value of a language that sits between C# and Rust also seems pretty obvious at this point; a language that gives you Rust's memory management tools for optimisation, but doesn't force you to use them for all of your code.

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

It exists, it's called Rust with lots of Arc, .clone(), and Box. You don't have to borrow if you prefer to have a slower, easier program.

[–] [email protected] 1 points 5 months ago

Box

Now try to do that with a trait that isn't object-safe...

I get your point, these things make fighting with the borrow-checker a little bit less annoying, but Rust is complex. I'll happily accept that because I value high code-quality (to that point that I rather invest more time to get things right) but when that is not the goal and you want something higher-level and strongly-typed there are alternatives that work better (I'm just talking about the language itself, ecosystem alone for me is yet another pro-Rust thing)

load more comments (1 replies)
load more comments (1 replies)
load more comments (6 replies)