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
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
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
It exists, it's called Rust with lots of
Arc
,.clone()
, andBox<dyn Trait>
. You don't have to borrow if you prefer to have a slower, easier program.I know Rust has these features, but they are intended to be features of last resort and it shows. It's not a criticism; Rust pushes people relentlessly towards safety and performance, and is extremely successful at that.
I am imagining a language more like Pony, but with less of a focus on the actor model. I could use a language like that to write a high performance game engine with no GC pausing issues, and then write very high level gameplay scripts on top of it in the same language.
You could do that in Rust, but the Rust game engine space has already made it clear that most people feel the need for a scripting language.
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)