I’ve been working on learning Rust for quite a while and still can’t fully understand the borrow checker and lifetimes. I recently have also started to learn Go, and have taken off with learning it. I just haven’t done anything practical in it, where I have done a few small practical projects. I’m a professional software developer and have worked in many languages from C to C# to Java and web. My question is where should I focus my learning efforts?
It depends on what you want to build.
reply
No experience with Rust but Go seems to be preferred for high load big tech use cases. Reason being if it compiles it probably does exactly what you want. Plus strong typing makes it easy to jump into foreign code and troubleshoot.
reply
Personally, Rust! I'm also learning it, after a career with various languages. It's nice to have a compiler check so much! And it's wonderfully fast and (can be) very memory efficient.
My question is where should I focus my learning efforts?
Is there a specific industry that you are looking at that might have a preference? For infrastructure tooling, golang is pretty standard. Rust has fewer jobs available if you are planning to get a job in a specific language.
reply
I agree the Rust compiler is super nice and gives good useful suggestions. I didn’t realize Golang was used for infrastructure as a standard. Backend and infrastructure is what I’m more interested in. Currently I work in the front end cloud space, but am always looking to go back to OS/infrastructure development like I did for a while.
reply
I use both.
But depend what you want build
In my vision:
Go - PoC or Prototype
Rust - MVP
reply
I've written code in both languages and I like Rust better. Rust just make more sense to me and the compiler helps out a lot. There is a good Rust community within the Bitcoin space, and the nostr space as well, so that's been helpful while learning the language.
reply
My question is where should I focus my learning efforts?
In whatever efficiently solves the problem you have.
Looks like you don't have a problem to solve at hand and are just learning a language for the sake of it. That's fine, but you won't be as focused because there's nothing to focus on.
reply
if you're a beginner, Go syntax and concepts are probly easier to pick up.
reply
Not a beginner, I've been doing software development in one way or another for about 10 years. You're right though, Go syntax is definitely easier to pick up. For Rust, part of my issue when writing it is getting myself away from the way C/C++ uses pointers and references. The borrow checker doesn't work the same way, but uses the same keyboard symbols (* and &) to do very similar but also different things.
reply
From my limited experience with both. Go is simple and big companies - especially in Japan are paying a lot for go developers, rust is faster and is preferred for things like game development, VR development, critical systems programming, and data science. Many crypto projects are also using rust.
It really depends what path you want to go down.
If go is easier to learn for you, do that first and then start on rust after.
reply
i have worked for software companies as a senior executive. if i were you i would start with cryptography.
judging from what you have posted it seems that rust is what you should learn.
here is a good overview:
reply