this post was submitted on 22 Jul 2024
13 points (100.0% liked)
unixporn
200 readers
1 users here now
*The FREE home for NIX customization! Submit screenshots of all your *NIX desktops, themes, and nifty configurations, or submit anything else that will make chatters happy. Maybe a server running on an RPi, or a MNT Reform signed by RMS? Show the world how free your computer can be!
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
My feeling for Go and why I went with it for my project is that I think it is the language that sucks the least for server development since I value simplicity, decent performance, fast feedback loop, portability, offline docs and good tooling. It also has a big userbase, and I have a bunch of obscure tooling elsewhere so I felt I didn't want to introduce more esoteric choices. But it felt a bit sad that it was the best option.
I also looked at Elixir but found the layers of abstractions a bit intimidating and I heard stories that compilation times becoming long.
Ocaml ticks most of the boxes of what I look for, but the library ecosystem is immature for server development IMO.
Do you have any language you prefer?
If I had to do a server-side project for money I'd probably pick Go again. I don't have to like the language to recognize it's a good tool for the job – I'd gripe about it, but I'd use it anyhow. Can't stand the server side Javascript ecosystem, the Java ecosystem (including Scala etc) is good but nowhere near as easy to deal with as Go's, Erlang / Elixir seems decent but it's a bit alien to me because I've not written anything in either beyond just hobby stuff to learn the languages and the concepts.
Pony is what I'd actually prefer using for work projects but it's so niche and its ecosystem isn't exactly vibrant that it wouldn't be a great choice. As a language it gets a ton of stuff right though, and I vastly prefer its memory safety model (reference capabilities) over what eg. Rust or Swift do, it's just much easier to reason with for me – although it's not an easy language to learn as such because the ref cap model does force you to think very differently about things. Its actor model is great too; the fact that it makes guarantees about message delivery order makes it a lot easier to reason with.