After messing around with Elixir, I decided on my own that the Elixir ship wasn't worth it for me and I moved on to typescript.
Now I am debating between Rust and Go for backend development (for a web service). Which one between these two would be recommended for my needs? My priorities are to be able to learn quickly and develop/iterate as fast as possible.
Go is probably your choice, it was stupid fast to pick up. It’s a fun language too
Is there a good batteries-included framework for Go, like Ruby on Rails or Django?
The Go community is generally averse to frameworks.
Looks like it, however, wouldn't that decrease the speed of development for new people that come onboard?
If that was the case, wouldn’t people who love Go have created one after more than a decade in existence?
The reason why Go developers don’t like “frameworks” a-là Ruby on Rails in the Ruby ecosystem is because the Go community generally prefers libraries over frameworks because Go’s simplicity and flexibility allow developers to compose their solutions using small, composable packages rather than being constrained by a rigid framework.
This approach often results in more efficient and maintainable code. The Go philosophy emphasizes minimalism and encourages developers to avoid unnecessary abstractions.
While not quite as batteries-included as Rails, Fiber made the most sense to my Ruby/Rack brain.
Thank you!
The OP is using Encore (https://github.com/encoredev/encore) for the project described, it's pretty much what you are asking for.
There's a good list of frameworks here:
https://github.com/mingrammer/go-web-framework-stars?tab=rea...
But you won't find anything that's anywhere near as comprehensive and batteries-included as Rails or Django.
Unless your goal is learning the new language for the sake of it, Node should already be plenty performant for most needs
Yes, I am really looking at using something new since I did get bored with the JS/TS world.
I'd love to hear why Elixir wasn't for you - not from a judgemental place, I just like hearing others' experience reports for languages that stuck or didn't.
For a web service with fast iteration times, I'd probably pick Go of those two. While I'm not personally a giant fan, I think it is a much simpler stack that lets developers be pretty productive especially in the domain of web services.
Iteration was easier but the main complaint from my team was it was hard for junior engineers to pick up and understand. Along with that, IDE support still seems poor (we use Jetbrains and the Elixir plugin doesn't work reliably for us)
If your goal is iteration and development and not performance, why not just stick with a typescript backend?
Just wanted to use something new this time since I feel like I'm bored with TS now.
Go is "amazing" . I am using Go since the very early days, and I absolutely love it. I have built services using Go and manage it all by myself. The community is so awesome and there is likeyly an opensource project that supports your need when you want it to do something exceptional.