DEV Community

Discussion on: Why am I learning Go?

Collapse
 
rsa profile image
Ranieri Althoff • Edited

Go is terrible, it lacks the most basic features that all other languages have. It has no error handling (and this makes cyclomatic complexity go sky-high), no generics (code generators are trash), even the math library has nothing to work with ints, only floats, no destructuring assignment for slices or structs, no real constants (const marks a compile-time value). Everything you do is reinventing the wheel, because the standard library is trash, it lacks everything.

The tooling is also terrible, you can't ignore parts of your code when checking coverage, the package system is awkward and contrary to about EVERY. SINGLE. EXISTING. SOFTWARE. they refuse to use --help flag to read help about commands for no particular reason. Worst of all, gophers would take these critics and just say Go is better this way.

I wouldn't waste time with such a mess. Pick Rust if you already know it, or even C++ is miles ahead even being decades older. There's no compelling reason to choose Go over anything else.

Collapse
 
raddevus profile image
raddevus

Very interesting. I was learning it as a backup to C++ and as an interesting investigation of “new” languages. Thanks for chiming in. I will also look at Rust soon.