Remix.run Logo
bayindirh 2 hours ago

Seriously asking, where Go sits in this categorization?

gf000 an hour ago | parent | next [-]

Nowhere, or wherever C# would sit. Go is a high level managed language.

andrewl-hn 2 hours ago | parent | prev | next [-]

Go is modern Java, at least based on the main area of usage: server infrastructure and backend services.

KronisLV 34 minutes ago | parent | next [-]

Tbh Go is also really nice for various local tools where you don’t want something as complex as C++ but also don’t want to depend on the full C# runtime (or large bundles when self-contained), or the same with Java.

With Wails it’s also a low friction way to build desktop software (using the heretical web tech that people often reach for, even for this use case), though there are a few GUI frameworks as well.

Either way, self contained executables that are easy to make and during development give you a rich standard library and not too hard of a language to use go a long way!

bsaul 2 hours ago | parent | prev [-]

i wonder what makes go more modern than java, in terms of features.

cultab an hour ago | parent [-]

The tooling and dependency management probably

shilgapira 2 hours ago | parent | prev [-]

It's also a modern C.

If you enjoy C and wish it was less verbose and more modern, try Go.

VorpalWay 37 minutes ago | parent | next [-]

Go has a garbage collector though. This makes it unsuitable for many use cases where you could have used C or C++ in the past. Rust and Zig don't have a GC, so they are able to fill this role.

GC is a showstopper for my day job (hard realtime industrial machine control/robotics), but would also be unwanted for other use cases where worst case latency is important, such as realtime audio/video processing, games (where you don't want stutter, remember Minecraft in Java?), servers where tail latency matters a lot, etc.

bboozzoo 3 minutes ago | parent [-]

> GC is a showstopper for my day job (hard realtime industrial machine control/robotics)

Which is a very niche use case to begin with, isn't it? It doesn't really contradict what the parent comment stated about Go feeling like modern C (with a boehm gc included if you will). We're using it this way and it feels just fine. I'd be happy to see parts of our C codebase rewritten in Go, but since that code is security sensitive and has already been through a number of security reviews there's little motivation to do so.

bayindirh 2 hours ago | parent | prev [-]

Thanks. I write some Go, and feel the same about it. I really enjoy it actually.

Maybe I'll jump to Zig as a side-gig (ha, it rhymes), but I still can't motivate myself to play with Rust. I'm happy with C++ on that regard.

Maybe gccrs will change that, IDK, yet.