Should probably post something so my last post here isn't from 2018 😅
Well, after 18 months of writing Rust 🦀 for games I can say my sentiments here have held up fairly well:
https://thefuntastic.com/blog/why-rust-is-the-future-game-dev
Should probably post something so my last post here isn't from 2018 😅
Well, after 18 months of writing Rust 🦀 for games I can say my sentiments here have held up fairly well:
https://thefuntastic.com/blog/why-rust-is-the-future-game-dev
@rottame @thefuntastic I think that's one of the things I like about Rust. It tends to prevent code that could cause problems in the future. Which is something that happens with experimental code. At least for me.
I can say that the feeling you're describing does vanish after a while. It gets easier to write code with abstractions that are possible in Rust and still allow extending the code quickly.
Also Rust + a scripting language might be the best case scenario.
@rottame @thefuntastic I definitely agree.
As a huge fan of rust another problem along the same lines are compile times. You have to actively maintain Rust projects to keep them low. Also having short compile times is always in direct opposition to runtime performance, or simply harder to do (trait object constraints).
I know that I'm part of the problem by avoiding dynamic calls from the start, but that simply doesn't exist in languages like C#, where performance is still good enough.
@rottame @thefuntastic Rust surprisingly adds a lot of accessibility as well. By having a powerful typechecker is makes it impossible to do a lot of typical errors, like null references, results, using objects that aren't initialized yet, etc.
In a perfect future, I'd like a scripting language that has Rusts type checker, but is easier to use in practice. Or maybe just Rust, with some guidlines to write code that's fast to iterate on.
I think finding a balance will be hard.
@rottame @thefuntastic Yes, that's definitely true. Visual scripting languages are great for abstracting away technical details like that. Maybe we need a visual scripting language inspired by Rust. Not the borrow checker of course, but Options, Results, matching, static typing in general, one that doesn't allow things that would cause errors. Or at least less of them.
It would be difficult to design without being confusing, but runtime errors can be quite confusing as well.
@simonstix @rottame Oh wow, engagement on my posts, that hasn't happened on birdsite for a while 😅
For the record, I'm with @rottame - rust is a competent replacement for the C++ part of Unreal, but not the blueprints part.
Rust is hard! I'm a decent programmer and it kicked my butt good. Asking less invested folks to engage with that feels cruel. It's the same reason most C++ engines have always had scripting langs too.
@simonstix @rottame we have a plethora of garbage collected langs, but rust is the first borrow-checked lang. Who knows what it will inspire? Feel like there is a gap for a rusty-but-simplified-and-opinionated lang.
But also this is the point where I have to strongly promise myself I'm not going to try build a new programming language. ;)
@thefuntastic @rottame I feel the urge to try to build your own. I've been playing with that thought for a while. But I know I wouldn't be getting anything else done anymore.
And I hope you're right, I'd love to see other borrow checked languages.
I'm sure there's still a lot of progress to be made in all kinds of programming languages, including visual.