Curious about learning Rust
Disclaimer: This is not a where to learn / find learning material post, but rather a question on practicality of using Rust.
I was hoping to hear opinions/anecdotes on your current experience in using Rust in practice.
Context:
I am a Typescript developer who runs and manages a web-dev/web-design agency, have some free-time during the weekends + evenings and wanted to pick up a new programming language (I dove deep for years into TS/JS and ignored everything else).
At first, I've looked at Ruby.
It's pretty close to home (we use AdonisJS) and Rails has proven itself over the years.
However, Loco and Tokio seemed even more interesting, but the counter-point to that - is that the practicality of eventually integrating it in a web-dev shop is a big question mark.
These are the main reasons that I've had in mind for learning Rust:
- To build side-projects / hobby-projects / and (if feasible) even internal tooling / plugins for node.
- Spread out from Typescript and Node to try something new, broaden my horizons, and sharpen my skills.
- We usually work with low-resource servers and rather optimize around the hardware limitations. I've seen people saying on Reddit that Loco and Rust backends are so low on resource use, that it naturally sparked my interest.
- Because at times, there are projects where I have to overlook a team - we always NEED a conventions over configurations frameworks (AdonisJS, Rails, Laravel). Loco seems to hit the spot.
Obviously, this is with a very generous timeline in mind and is thinking almost a year in advance. However, there are considerations that I am unable to find a concrete answer on:
- Long term maintainability and stability is a big concern. How likely is it for current libraries/frameworks to be abandoned? Chances of major vulnerabilities popping-up (i.e: NextJS every once in a while is too much).
- Practicality: Does it make sense to learn Rust to build internal tooling and plugins, when NodeJS itself would suffice?
- (Expanding on 2): Would learning Rust improve my current knowledge and capabilities enough to warrant, say, the worst case scenario of never having to use Tokio or Loco or WASM?
- Scaling: Not infrastructure or code-wise, rather, finding the relevant talent in GCC, with sufficient capabilities, at a reasonable price?
Apologies for the weird title, I stared at it for around 5 minutes and couldn't come up with a better one.
And thank you in advance, any answer is greatly appreciated.