4 ms·
Go improves on C substantially, especially for high level programming. GC, interfaces, slices, maps, cross-platform types, expansive standard library, high perf
by weberc2 9y ago
Go improves on C substantially, especially for high level programming. GC, interfaces, slices, maps, cross-platform types, expansive standard library, high performance cross platform concurrency, memory safety, runtime type information, etc, etc. So I wouldnt write web programs in C, but Go is one of the best options today, especially if you care about performance, maintainability, or operational complexity.
- Erlich_Bachman 9y agoDoesn't all that already exist in Java? And have already existed for a while, and thus has a big ecosystem of tools? Why would someone use Go over Java? (Just your opinion, what are the differences?)
- petepete 9y agoSimplicity of deployment perhaps? Dropping a binary onto a server and having it just work is a huge benefit. Also, memories of Tomcat. shudder.
- weberc2 9y agoLots of small differences mostly. Go gives you control of memory layout, it has better ergonomics (type inference), simpler tooling, no dependency on IDEs (you can if you want but most use vim or emacs), built in testing, better standard library (production ready HTTP server, JSON, templating, etc), low latency GC out of the box, simpler GC tuning, statically compiled binaries, fast startup times, simpler primitives (e.g., no exceptions or inheritance), implicit interfaces/structural subtyping etc. all while competing with Java for performance. This is my list of things that Go does better than Java; I don't want to give the impression that Go is perfect--I have lots of criticisms for it (no generics, hacky workarounds for sum types, error handling is often too simple out of the box, no decent REPL, etc), but it lets me be more productive than any language I've used to date.
- Erlich_Bachman 9y agoThank you, I was looking for just that kind of perspective from someone who uses go and thinks they are getting something better. It's understandable of course that neither of languages are perfect.
- wlll 9y agoGo programmer here (operations stuff mostly). Came from Ruby, but have done C, Objective C, Perl and others. Simplicity of deployment is nice, but the main reason I don't use Java is because it's just painful to write. I had to write some Java just the other day to duplicate a bug a customer bug and it was tortuous.