DEV Community

loading...

Discussion on: Should I keep Go in my tool box?

Collapse
jasonish profile image
jasonish Author

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.

Collapse
freedom profile image
Freedom

I'm learning to write functional for Go from a book, although, without the generic is still fine for my case.

Collapse
rhymes profile image
rhymes

I'm thinking if Node and/or Rust can be a reasonable replacement for Go.

I though Go was a reasonable replacement for Node 😂

BTW you might be interested in these two series of articles:

Also check the comments :)

They give you an overview of what the status of web dev with Rust is.

it's hard to keep up with the idioms, best practices, best tools across 4 languages

Definitely!

Thread Thread
rhymes profile image
rhymes

oh, and this comment too

why did you decide on Rust over something like Go?

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.

How hard has it been to do web development in Rust?

Not inherently more difficult than web development with any other language, but...

What has been your biggest problems slowing you down?

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.

What has made using Rust better?

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.

Do you find time to get to MVP/Production much slower than in other languages like Go, Python, or JavaScript?

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.