News for hackers. Stuff that matters.
Re:Why people are angry over Go 1.23 Iterators by neonsunset on Tuesday June 18, 2024 @02:36AM (#40714704)
Yup.

This is why I'm despairing so much over Go's popularity after using C#/F# and Rust which have rich and idiomatic iterator APIs. Go implementation is plain ugly, flawed and, most of all, is going to be slow unless you write it in the most verbose way due to Go's compiler weakness.

There are languages that move us forward, Go sets us back by 20 years.

Re:Why people are angry over Go 1.23 Iterators by Karrot_Kream on Tuesday June 18, 2024 @04:21AM (#40715317)
Some people enjoy expressiveness in their programming language. Some people don't. Some people like both, I'm one of them, and for some programs I choose expressive languages like Haskell or Common Lisp and for others I use unexpressive languages like Go or Zig.

Take these things a little less personally. Live and let live. People think differently from you, and that's okay.

Re:Why people are angry over Go 1.23 Iterators by neonsunset on Tuesday June 18, 2024 @07:23AM (#40716437)
This is not about personal choice but rather Go's undeserved adoption in domains it has absolutely zero business being applied to. This leads to me to generally approach engineers promoting it as misguided and severely lacking in some area of knowledge the moment Go is suggested to be used anywhere beyond light networked microservices or CLI utilities.

Instead, people shoehorn it into data processing and databases, the domain at which .NET is incomparably more adept due to performance primitives it offers, if we still talk high-level-ish languages with automatic memory management. Of course if there is no such requirement, there are many (like Zig, Rust and C++) systems programming languages that are better in every possible way at solving the task. And yet, we get Go and startups struggling to scale. But all the interesting problems in which Go is attempted to be applied to, where the solution, if successful, is despite Go not because of it, would have benefited from C#/F# which offer much better control and performance assurances, without having to fight the tool.

Re:Why people are angry over Go 1.23 Iterators by Karrot_Kream on Tuesday June 18, 2024 @01:24PM (#40720105)
Take these things a little less personally. Live and let live. People think differently from you, and that's okay.

I have meticulously benchmarked Go in previous roles and also used Go as a load generator and with smart allocation strategies the language is quite fast. I think you're letting your emotions cloud your judgement but that's nothing new in PL discourse. There's no better way to bring out those that identify with/against programming languages than PL discourse.

Re:Why people are angry over Go 1.23 Iterators by samatman on Tuesday June 18, 2024 @01:55PM (#40720402)
> I use unexpressive languages like Go or Zig

See, I would not call Zig unexpressive. I've written a number of iteration structs in Zig, because it has true optionals this is easy, using them is just:

    var iter = thing.iterateSomeWay();
    while (iter.next()) |item| { 
        // do stuff
    }
It's a low level language, yes, but an expressive one given that design constraint. Go just makes this stuff harder, because nil is just zero wearing a costume, an antipattern it inherited from C. In Zig every type can be nullable, and the compiler takes care of representing the null case distinctly from the load-bearing one.
Re:Why people are angry over Go 1.23 Iterators by pjmlp on Tuesday June 18, 2024 @07:25AM (#40716454)
Unfortunately Microsoft is also to blame, instead of .NET, all their Azure contributions to CNCF are based on Go and Rust, and all their recent CLI tools are written in Go (older ones used Python).

Also by not doing enough to make UNIX culture startups have a different opinion of Microsoft, instead of still doing M$ jokes.

The same kind of startups that won't have any qualms adopting Swift, or dealing with its current poor state on GNU/Linux.