5 ms·
I think this is sadly true. If you follow Game Devs with Large, Fragile Egos Twitter (I'm not naming names!), you'll hear a lot of "I hate (but secretly also l
by mustache_kimono 4y ago
I think this is sadly true. If you follow Game Devs with Large, Fragile Egos Twitter (I'm not naming names!), you'll hear a lot of "I hate (but secretly also love) C++ (because I know it intimately)" and "Rust isn't the answer" because they can't iterate fast enough.
My guess is that's probably a function of them thinking they can learn Rust in a weekend, because they are 10x-ers, instead of any inherent problem with the language. There is also a machismo aspect to C/C++, especially in game dev ("I eff with raw pointers all the time!").
But, if you read the article, Tim Sweeney seems to be saying "I want a fast functional language" which Rust is. One thing I am less clear on is whether Rust is better re: modularity and extensibility.
- eska 4y agoYour first paragraph sounds so unprofessionally dismissive that I doubt anyone reads the second.
- ben0x539 4y agoAs a data point, I read the second paragraph.
- mustache_kimono 4y agoAre you saying you've never encountered an engineer with a large, fragile ego? Because lucky you. I guess I'd also say there is another, more mature side that takes Rust much more seriously, even on Twitter, such as John Carmack. I didn't know this needed to be said but not all game devs have fragile egos, but, wow, some certainly do.
- adamrezich 4y agowhy would a preference for the use of raw pointers indicate "machismo"? do you think there's any possible other reason why game developers would choose to not use rust aside from some hypothetical jerkbag strawman that exists in your mind? is it possible that there's any practical reasons you haven't considered?
- mustache_kimono 4y ago> why would a preference for the use of raw pointers indicate "machismo"? Ugh. That's not what I meant/said. What I meant was that there can exist a certain belief that there is only one way of doing things, when in fact there may be several. And there can be a belief that, because one has experience dealing with the most unsafe and bug ridden things, that experience is somehow necessary everywhere and all the time. Perhaps you might try to address the question at hand, is there a certain amount of machismo re: C/C++ in game dev? Heck, everywhere? > do you think there's any possible other reason why game developers would choose to not use rust aside from some hypothetical jerkbag strawman that exists in your mind? Oh, totally. I'm reading the comments and looking for exactly these sorts of serious, interesting criticisms. However, from what I've seen, some game dev criticisms have been pretty shallow from certain segments of that community. In another comment, I explain there are some game devs that have gone really deep on Rust and have really interesting things to say about it. My fear is simply that the more shallow sentiments of these high profile enfants terrible will take hold, because they often do.
- adamrezich 4y agoif you're actually interested in learning different perspectives from people who have done significant work in the field and you're willing to stomach someone who I have to presume is one of these "large fragile egos" or whatever other vague terms you want to use about vague people vaguely (this passive-aggression is rather unbecoming), I personally found this comment, and the rest of the thread, to be very enlightening with regards to how I think about memory management in video game development and why rust's lifetimes maybe aren't the best solution for the problem domain https://news.ycombinator.com/item?id=26443768#26451692 https://news.ycombinator.com/item?id=26443768#26451692 (specifically the numbered list of memory usage patterns and the ensuing discussion about them)
- mustache_kimono 4y agoI hadn't seen this, and I will read it. FTR, I'm not talking about jblow. I acknowledge his criticisms are superficially similar to what I wrote. At the very least jblow is seriously engaging with the arguments re: Rust, like in this thread. As to whether he's actually seriously tried to learn Rust, I'm unsure. I hope he does. And I'm not naming names not to be passive aggressive, but for self preservation. I don't know if you noticed, but games can have a really toxic fandom.
- generichuman 4y ago> Tim Sweeney seems to be saying "I want a fast functional language" which Rust is. He also wants a garbage collector (pg. 57) and Pascal / ML family syntax (pg. 58). He clearly wants https://nim-lang.org/ https://nim-lang.org/.
- mustache_kimono 4y ago> He also wants a garbage collector (pg. 57) and Pascal / ML family syntax (pg. 58). He clearly wants https://nim-lang.org/ https://nim-lang.org/. Since this was written in 2005, Rust/the Rust model didn't exist, so maybe Rust is memory managed/ML enough? But I am interested in looking at Nim. Had no idea it was ML influenced. And I think I read in another comment Sweeney hired an engineer to write a new language called Verse.
- generichuman 4y ago> Rust/the Rust model didn't exist FYI Nim also follows the Rust model with sink/lent annotations[0] + optimizes the (not yet default) automatic reference counting with static analysis so that RC overhead is minimized. Nim is like something between Pascal / Rust / Python, not sure why it is not more widely used. > Sweeney hired an engineer to write a new language called Verse. Not just an engineer, Simon Peyton Jones: https://en.wikipedia.org/wiki/Simon_Peyton_Jones https://en.wikipedia.org/wiki/Simon_Peyton_Jones [0] https://nim-lang.org/docs/destructors.html https://nim-lang.org/docs/destructors.html
- fprotthetarball 4y ago> He clearly wants https://nim-lang.org/ https://nim-lang.org/ I think a lot of people want Nim, but either don't know about it, or some language feature turned them off. There are a few polarizing language design choices, but every language has something. Perhaps it just needs a killer app using it in some visible fashion (e.g., Lua in Neovim and Hammerspoon).
- debugnik 4y agoI was turned off by the Windows Defender issue. I can't release consumer software written in Nim if every executable compiled with their toolchain is flagged as malware and the downloads silently halted.
- munk-a 4y agoA lot of game development happens under the pressure of constant crunch and low budgets. I'm not just talking about EA and their constant penny pinching but small studio releases are a huge gamble with a steep upfront cost (Sean Murray, the face of Hello Games that released No Man's Sky, famously took out a large personal mortgage against his house to keep the studio afloat) and no guarantees of success after release - games can fail for the most absurd reasons. I think a lot of game programmers will keep an iron grip on using C/C++ for a while simply because they don't have the luxury of exploring other options. That said, I think Rust is exceedingly well designed to supplant C/C++ - game development really wants to minimize runtime failure cases and push more errors onto the compiler and static analysis due to the size and complexity of the project and Rust manages to deliver that without compromising on the performance needs - Go was a similar hopeful for a while but the lack of exception throws even under controlled situations is very difficult to deal with (I know you can panic and catch panics but it is a very rudimentary system).
- mustache_kimono 4y ago> I think Rust is exceedingly well designed to supplant C/C++ - game development really wants to minimize runtime failure cases and push more errors onto the compiler and static analysis due to the size and complexity of the project and Rust manages to deliver that without compromising on the performance needs I hope so!