I’m having a tough time over here.
This is not meant to be a language war. I’m looking for advice.
I write a lot of services which could be handled by Go. I have a good understanding of C/C++, and actually like them.
The way Go handles generics and templates, plus the structure of the signatures of these language features, to me, are ugly and make the code hard to read. Furthermore, I find the language to be inconsistent in how it structures similar “types” to generics and templates.
On the other hand, Rust, look “normal” to me. Honestly, after a deeper dive into Rust, it makes sense to me, the structure looks good, and simplifies a lot of the things that require serious attention in C. For a lack of a better way of saying this - Rust makes sense to me.
Also, the documentation of Rust, to me, seems more useful.
So, I was able to solve a relatively non-trival problem with Rust in a weekend, in a way which I would say was well-done. I could have written it in Go, but it would have taken longer, and would have had a lot of repeated code because the template and generic system is kinda rough for me.
The issue is, that for my role most people would use Go since it’s more “webby” and in my opinion ‘simpler’. However, for me, even though Rust isn’t as simple, I understand it. Therefore, I can be as productive with Rust, as lets say, a coworker who would use Go.
The rub is that purpose of Rust seems to be more systems programming, rather than generic programming language.
My question is, learning Go is going to be painful for me, whereas with Rust I’d probably get good quick, but I doubt it’s right for my current role.
Wat do?