5 ms·
Rust has to stand the true test of time -- the test where 5-10 years-old codebases written in Rust are still being maintained. Someone who's literate in program
by scythe 10y ago
Rust has to stand the true test of time -- the test where 5-10 years-old codebases written in Rust are still being maintained. Someone who's literate in programming language theory can evaluate the design decisions in Rust and say "it looks good" (or not), but in order to determine whether Rust is actually good for building and maintaining large, complex software systems for long periods of time, there's no metric like really doing it.
I think at some point, Rust will have enough tooling that people will try to start using it for graphics and videogames -- the applications where C and C++ shine but their "safer" rivals Fortran and Ada can be a headache to work with. It's in this arena -- where Go is too slow -- that Rust will really sink or swim. And it has barely even started to make headway. Maybe GNOME 5 will be written in Rust, or maybe the GNOME 5 developers will try Rust and conclude it's not suitable. Whoever they are, they haven't even started yet.
- eridius 10y ago> I think at some point, Rust will have enough tooling that people will try to start using it for graphics and videogames The game developer community is actually one of the communities that jumped onto Rust really early, well before it hit 1.0.
- cpeterso 10y agoAre there any AAA game studios using or evaluating Rust yet? I saw some GDC talks about the multithreaded game engine for Bungie's Destiny game. Given the debugging and QA challenges of their multithreaded architecture, something like Rust's ownership model seems like a good fit. Does the Rust toolchain support Xbox and PlayStation? * Destiny's Multithreaded Rendering Architecture: https://www.youtube.com/watch?v=0nTDFLMLX9k https://www.youtube.com/watch?v=0nTDFLMLX9k * Multithreading the Entire Destiny Engine: https://www.youtube.com/watch?v=v2Q_zHG3vqg https://www.youtube.com/watch?v=v2Q_zHG3vqg
- mmstick 10y agoDICE is using it internally. The only reason why they aren't using it in games is because Rust won't compile on console platforms.
- steveklabnik 10y agoOh? I hadn't heard of this before! I wonder if we can fix that...
- mmstick 10y agoI recall some DICE slides about two years ago and a mentioning from a DICE employee that they are building some of their game dev tools in Rust. Naturally, EA would never approve of allowing DICE to develop a game in Rust if it meant it would make the game PC-exclusive.
- Rusky 10y agoRust can totally compile on console platforms- it's been done, e.g. on PS4 (https://twitter.com/wickerwaka/status/479842553831776257 https://twitter.com/wickerwaka/status/479842553831776257), as I'm sure you've seen, Steve :) The problem (speaking as someone working on a console game at a AAA studio) is more likely that it's not officially supported. Console SDKs include C++ toolchains and C++ libraries, and there's a lot to lose by trying to bypass that, especially on a game project schedule.
- steveklabnik 10y agoYeah, I knew it was possible for some definition of possible; I just didn't know that any game studios were using it in any capacity, let alone a studio like DICE. The support thing makes total sense. Do you think it's fundamentally insurmountable? I'm pretty sure this is an area where the team itself has a blind spot, or maybe rather, just doesn't have the necessary expertise to even know what we'd need to do to make this possible.
- Rusky 10y ago
- lossolo 10y agoYou mean hobbyist ? All the AAA games are still written in C++, none of the big studios is even considering to switch. Rust type system/restrictions would get into the way more than it would help in AAA game dev. Memory safety is not a problem in game development, they will just patch the bugs. Studios have whole ecosystems written in C++ that works for them. Benefits are really low compared to costs, that's why it's unlikely any major studio will switch any time soon.
- mmstick 10y agoType restrictions aren't really a problem, but in fact really helps out game development in the long run. > Memory safety is not a problem in game development, they will just patch the bugs. You must not have played any Bethesda titles. That said, there is much more to Rust than memory safety. That's just a side effect of the safe parallelism -- it's a minor story.
- lossolo 10y ago> Type restrictions aren't really a problem Did you ever seen AAA game source code? > You must not have played any Bethesda titles. I've played. Most bugs I've seen were logic errors, doesn't matter which language you would pick.
- mmstick 10y agoThis is just outright denial. Bethesda titles are rife with segmentation fault galore. Even their most recent titles suffer the same terrible CTDs as all of their previous titles.