This seems to me, despite being cool, like the exact type of “too clever by half” code that Go was explicitly designed to avoid.
I like Go because most code is (if a bit verbose) not written like this. It’s written as if the person reading it is a little sleep deprived or one drink in - it doesn’t require much brainpower to reason about.
Adding methods that return functions that return closures is the kind of thinking with portals that I need to rev up my brain to be able to debug, and that’s a liability when there are deadlines involved.
gucci-on-fleek•1m ago
> code that Go was explicitly designed to avoid
The post doesn't make it very easy to find, but it was written by Rob Pike, who was one of the designers of Go. So that arguably means that Go was designed to write code like this, although I do agree with you that the code is perhaps a little too clever.
sneak•50m ago
I like Go because most code is (if a bit verbose) not written like this. It’s written as if the person reading it is a little sleep deprived or one drink in - it doesn’t require much brainpower to reason about.
Adding methods that return functions that return closures is the kind of thinking with portals that I need to rev up my brain to be able to debug, and that’s a liability when there are deadlines involved.
gucci-on-fleek•1m ago
The post doesn't make it very easy to find, but it was written by Rob Pike, who was one of the designers of Go. So that arguably means that Go was designed to write code like this, although I do agree with you that the code is perhaps a little too clever.