Leaving Rust gamedev after 3 years
An interesting post from a former rust gamedev. My company has lots of "upskilling: () stuff, which is pretty cool. Right now they're doing a rust class, and sent out an email soliciting responses for a second. I'm not sure I want to commit to something like that, but they mentioned that they used The Rust Book and some Udemy course.
I've been slowly reading through the book, since about the only rust exposure I've had has been around here. I don't really do a lot of systems type programming any more, but the promises of rust are certainly interesting, so I've been trying to get something of a handle on it.
Anywho...I thought this bit was interesting:
But, and I say this having spent the past ~3 years and written over 100k lines of game-related code in it across the whole ecosystem of frameworks/engines and having made my own, many if not most of the problems don't go away if one isn't willing to constantly refactor their code and treat programming as a puzzle solving process, rather than just a tool to get things done.
To me, that "puzzle solving process" is what makes coding really fun. I mean, I like standing back after the fact and appreciating the stuff I made, but the solving is really engaging for me. He elaborates:
The most fundamental issue is that the borrow checker forces a refactor at the most inconvenient times. Rust users consider this to be a positive, because it makes them "write good code", but the more time I spend with the language the more I doubt how much of this is true. Good code is written by iterating on an idea and trying things out, and while the borrow checker can force more iterations, that does not mean that this is a desirable way to write code. I've often found that being unable to just move on for now and solve my problem and fix it later was what was truly hurting my ability to write good code.
Eh...well...there's nothing so permanent as a temporary solution. I can understand having mixed feelings about this, but I can also say that when I've done this sort of thing, I'm usually much happier with the end product than in cases where I've considered a significant refactor of a work in progress and didn't do it because it seemed like too much.
This is a long post and I'm still in the first section.