News for hackers. Stuff that matters.
Re:Go is not an easy language (2021) by lpapez on Sunday January 14, 2024 @03:35AM (#38988591)
This was my impression coming to Go as well (from Python and PHP) but since then I've changed my mind and somehow find it easier to unpack a small for loop than a HOF with a lambda function argument.

When you introduce lambdas/closures/HOF you immediately have to think about scope rules, non-local references etc.

Meanwhile, a foor loop is just a for loop.

Re:Go is not an easy language (2021) by xyzzy123 on Sunday January 14, 2024 @04:11AM (#38988774)
Until you spawn a goroutine from a loop and suddenly you have to think about scope rules, nonlocal references, etc...

(It doesn't bother me, just noting the same complexities do come up pretty often).

Re:Go is not an easy language (2021) by nasretdinov on Sunday January 14, 2024 @09:33AM (#38990744)
BTW this is actually being addressed, specifically the for loop now essentially captures by value instead of by reference. I believe no real working programs were affected by the change, except for maybe fixing bugs in them.

Proof: https://go.dev/blog/loopvar-preview

Re:Go is not an easy language (2021) by erik_seaberg on Sunday January 14, 2024 @06:26AM (#38989496)
Map and filter name what they’re doing, while loops look too much alike.

I haven’t checked whether any Go compiler does list fusion between producers and consumers (to avoid leaving a slice in the heap after reading it just once).