In any given day I may write C, JavaScript/TypeScript, Rust and Go... Due to my job, Rust and C are a must. And if you do anything with a web frontend, then JavaScript is a must. While I have a few applications that use Go on the backend, I'm struggling to find a reason to keep it that way. Seems to me Rust is catching up in terms of developer productivity when developing backend services, and JavaScript is fully capable of this as well with Node.
Given all my Go apps use SQLite, and need Cgo I don't even really take advantage of Go's killer feature - static binaries that can be cross compiled to any other OS/architecture.
Top comments (5)
It's not like you can unlearn it, or at least not in the short term :D
And you're saying that you're still using it, albeit in a limited capacity. So what do you mean with your initial question?
I'm thinking if Node and/or Rust can be a reasonable replacement for Go.
While I don't have much issue writing in these 4 languages, its hard to keep up with the idioms, best practices, best tools across 4 languages.
I though Go was a reasonable replacement for Node 😂
BTW you might be interested in these two series of articles:
Intro to Web Development with Rust for NodeJS Developers
Bastian Gruber ・ Mar 18 ・ 6 min read
Practical Rust Web Development - API Rest
Werner Echezuría ・ May 14 ・ 10 min read
Also check the comments :)
They give you an overview of what the status of web dev with Rust is.
Definitely!
oh, and this comment too
Rust provides a much richer set of tools and abstractions that make it more expressive than Go. It also generally results in higher runtime performance, though Go is also very fast. Go wins in compile time, and i suppose ease of learning, but for me personally not much else.
Not inherently more difficult than web development with any other language, but...
The ecosystem is small and immature. This results in sparse documentation, and a wealth of small beta-level interesting libraries but few stable choices. Really, at this point, there's only actix-web at 1.0, and that happened a matter of weeks ago. It also represented a huge breaking API change from the previous release. So, all this will likely improve with time, but leaves much to be desired for a lot of use cases.
I find the language itself, including rustc and Cargo, to be a superior environment for writing correct code. This correctness extends to web applications, it's quicker to cover all the edges of an application and be satisfied you've done so thoroughly at compile time.
Not generally. Initial spin-up is slower, but bug-hunting down to usable is not because you're writing fewer bugs in the first place. Depends on your familiarity with Rust and other languages, but i don't think it's really inherently slower.
All in all it's an excellent choice for side projects and probably a decent option for serious work depending on your specific case, but with major caveats.
I'm learning to write functional for Go from a book, although, without the generic is still fine for my case.