Go Language Debate
Discussions center on the pros and cons of the Go programming language, including its simplicity, concurrency features, lack of generics and polymorphism, verbosity, and comparisons to languages like C, Rust, Haskell, Python, and Java.
Activity Over Time
Top Contributors
Keywords
Sample Comments
When you have Go you don't need another similar language
I have some text based operational transform code I port to each language I learn to get a feel for it. (And I’ve got a version in C, JS, rust, swift and go). The go version is clunky. It’s longer than the others, and the lack of parameterised enums (or any type of simple polymorphism) makes it much harder to understand and reason about. The code is longer and uglier than the rust and swift equivalents. And it runs slower than the C and rust code. (I didn’t benchmark swift). After my expe
Can I ask what language you are used to? I hear how nice go is as a language a lot, but coming from haskell, go is hideous in comparison.
You might like Go....I find it's 90% of the good-ness of C with only like 10% of that badness
Go is a general purpose language for rapid application development. It excels at concurrency, and it prioritizes consistency, simplicity, and predictability. Most everything is super straightforward, easy-to-use, easy-to-understand, etc. For example, most Go programs build with `go build` and no configuration files, deployment is just putting a single binary on the target system (no runtime dependencies, not even libc). In particular, Java, Python, and C# have complex build systems and runtimes,
Go has a lot of advantages.Yes, you are a little bit limmited sometimes because of the lack of generics and the like, but at the same time, if you learn to use Go interfaces well, you end up using them most of the time happily. The parallelism primitives are great too.As much as I love complex type systems, pattern matching, algebraic data types etc., I know that if Go had those things, it wouldn't be the language I love to write everyday anymore.Somehow, Go is a really practical l
If we're talking about Go, the tooling is good, your IDE will be pretty snappy because of the dedication to single-pass parsing, and you have to really work against the language to write complex and confusing code. The trade-off is that your first write can be more tedious (I really miss filter/map type operations for instance).
You are not wrong.But I think there is more to it. I have used Go (almost) exclusively for private toy programs I write in my free time to relax (sounds weird, I know), so my perspective may be warped. But something about is very compatible with the way my mind works. With some other languages, say C or C#, I find myself constantly browsing through documentation to figure out what a given construct means in that language. And don't get me wrong, I like both of these languages.B
Can someone give me a compelling reason to start programming in Go? My default language at the moment is C, or C++.
Go feels more like C with garbage collection and a nicer standard library, but lacks the abstractions necessary to be anywhere near as expressive as Python, Ruby, Scala or even Rust. At the language level some advantages of Go include the fact that it's easy to learn and mostly hard to write unreadable code.