DEV Community

Discussion on: Should I learn Go?

Collapse
 
leob profile image
leob • Edited

Go is nice, but do have a look at Rust!

What strikes me the most about Go - virtually no support for FP (functional programming).

Nowadays almost every programming language seems to have map/filter/reduce etcetera, so one of the first things I did when learning Go was look for those - but it's not there, everything's coded with old-fashioned imperative loops. This seems definitely a step back.

There are workarounds (code generation) but it's a kludge, what's sorely missing in the language is generics.

I know generics are on the Go 2 roadmap, the moment they add those a huge swath of reluctant people will convert to Go instantaneously, it's really a no-brainer.

In the meantime Rust might be an alternative, it's way more complex than Go but it's interesting and very well designed.

P.S. I just realized that Go doesn't have a ternary operator (value = x > 0 ? x : -x) ... confirmed by a StackOverflow answer. This is just an example of the fact that Go is simple, but in my opinion TOO simple. Choices like these mean that as a programmer you're forced to write a lot of verbose code and boilerplate. The more I think about it, the better Rust looks as an alternative ...