4 ms·
What are the good use cases for Go today? It looks like the hype has gone.
by neves 1y ago
What are the good use cases for Go today? It looks like the hype has gone.
- packetlost 1y agoI put it in the same category as Clojure and where I hope Rust eventually ends up: stable, boring, and capable with healthy ecosystems
- 90s_dev 1y agoTheoretically, it's basically a faster Node.js. Case in point, TypeScript is moving from Node.js to Go for a 10x speed increase. But in reality, TypeScript is probably its only legitimate use-case, and only because it already had very stringent requirements. Most projects either stick to Node.js, or if they need more efficiency, they get rewritten in C++ or Rust, instead of ported to Go.
- zaphirplane 1y agoWith all due respect, I am fairly confident that the view you have is formed in a bubble .
- nikolayasdf123 1y ago> Theoretically, it's basically a faster XYZ well, that's the point. it is excellent language for server programming. and not just faster, it is more stable, scales complexity better, stronger security
- dboreham 1y agoWhere you want to just cut code without drama (and dramatic people).
- root_axis 1y agoGo shines for network services. The standard library has everything you need for networking and the web with very accessible concurrency primitives. It's also a pretty lightweight language that's easy for people to pick up.
- 90s_dev 1y agoAre these not also true for Node.js? Add the familiarity of JavaScript, the ecosystem of NPM, and the good-enough speed of V8, and I'm not sure why choose Go.
- acoustics 1y agoGo's performance is in a totally different class than node.
- pjmlp 1y agoDepends if nodejs C++ AddOns are part of the picture or not.
- nikolayasdf123 1y agominimalism in dependencies, security, type system and static analysis. tooling (fuzz tests, benchmarks, etc.). uniform syntax (thanks go fmt) in entire ecosystem.
- scripturial 1y agoGo has a standard code style, everyone agrees to use the same format and all our code becomes easier to read and standardized. Go is very much faster, you save time and money on computing resources. Go has built in testing and type support, making it easier To write more reliable and more bug free code. But let’s not debate it, learn go for yourself and try it on a small little project. I’m convinced you’ll pretty much not want to switch back.
- 90s_dev 1y ago> Go has a standard code style, everyone agrees to use the same format and all our code becomes easier to read and standardized. I like VS Code's default code style for TypeScript, but partly because it is not too opinionated about whitespace (though it gets close). But after 10 years, I finally went back to manual CSS formatting. I just can't write CSS without the option of single-line rulesets. gofmt doesn't (or at least didn't) allow single-line blocks ever. This is just too opinionated, and for that reason it will one day change, even if that day is 20 years from now. Having a standard is fine. But software is not just technical, it's an art too.
- tayo42 1y agoIt's like a more robust python. Compiled so you don't deal with the annoyances of using a scripting language to build, deploy and run applications. But also way simpler then something like c++ or rust. Though I do wish it had some more nice syntax and features.
- bqmjjx0kac 1y agoGo has surprisingly good "UX", which I don't hear people talk about much. It compiles very quickly and gets out of your way. I've found it useful for a few reasons: 1. The standard library has a real HTTP/2 implementation (unlike Python). 2. The Go compiler creates statically-linked binaries and cross-compiling is painless. 3. Channels and goroutines make it relatively easy to write parallel code. There are certainly sharp edges, like every language.
- devjab 1y agoWe've moved from .NET and C# to Go, and I'd argue that it's very competetive with general purpose languages like C#, Java and similar for a different philosophical approach to enterprise tech. It's been a great technical fit for us in both finance and energy, but the main purpose for our adoption is because it's opnionated approachs are a much better fit for us than traditional OOP languages. There is no "magic", everything is explicit, the standard library is incredible and it's a relatively easy langauge to write and read. In a world where 4chan can serve 4 million visitors on some dated apache server version running a 10k line PHP script which hasn't been updated since 2015 it's important to remember, that for 95% of all software (if not more), any, general purpose language will be just fine technically speaking and it's in the development processes (the people) the actualy differences are found. Go is productive and maintainable (cost-efficient and rapid changes) for teams that work better without implicit magic and third party depedencies. The hype may be gone, but the Jobs aren't. In my area of the world Go is the only noticeably growing programming language in regards to job offerings.
- haiku2077 1y ago- Fast compiler with easy cross compilation (super handy e.g. for developing Linux network services on a Mac) - Pretty decent concurrency built in - Small language spec that is very easy to read and learn - A very good and well thought out toolchain and tool ecosystem. This is hard to list as a selling point or quickly summarize but it makes Go code pleasant to work on. Things that other languages have ti have complex third party tooling for are simple and boring in Go. - If you are writing code that interfaces with Kubernetes or a popular container runtime like Docker or Podman, it is a natural choice. - Pretty good performance as far as garbage collected runtimes go. Not the best, but really good.
- eikenberry 1y agoThe hype has gone as it is now just another programming language in common use. The use cases are the same as they've always been. Networked and distributed systems.
- melodyogonna 1y agoAlmost every tool in the cloud ecosystem is written in Go. I did not know Go is so massively used until I started working with Kubernetes
- mlrtime 1y agoservice to service communication. GRPC + Protobufs + Go allow ease of development and resuse.
- neonsunset 1y agoUsing gRPC in Go is really inconvenient in comparison to some other languages.
- deleted 1y ago[deleted]
- whobre 1y agoKubernetes custom operators
- pjmlp 1y agoWhen you want to have native code in clouds like Vercel and Netlify, unless you rather go via nodejs native modules. They build on top of AWS Lambda, but do not expose the full capabilities, so Go it is. Working on DevOps space, most tools related to Docker and Kubernetes are written in Go, as this is its reason to fame. Although Rust is starting to show up as well.