Live data from Hacker News

Go 1.23 Released

go.dev

51–60 of 106 posts

Re: Go 1.23 Released

#53

From the release notes [1], which I think this post should actually point to: > For backward compatibility, existing usages of //go:linkname found in a large open-source code corpus remain supported. Any new references to standard library internal symbols will be disallowed. How does this work? Does the compiler have a whitelist of allowed uses? [1]: https://go.dev/doc/go1.23

The source has to be annotated to export the function.

Just confirming if I understand this correctly: they went through a big chunk of existing code, and then made any internal symbols used in that corpus accessible via //go:linkname?

I don't know why, but I (stupidly) assumed that they wouldn't allow new code to be written that uses those symbols, while allowing old code to work. :)

This explanation makes a lot more sense. So, you can keep using the symbols exposed with this change (until a future release hides/changes them), but cannot use any other internal symbol(s) anymore.

Re: Go 1.23 Released

#54
post #29
post #3

Opt-in telemetry. A very rare sight these days. Glad to see. Not even Mozilla does that with Firefox [1]. > Starting in Go 1.23, the Go toolchain can collect usage and breakage statistics that help the Go team understand how the Go toolchain is used and how well it is working. We refer to these statistics as Go telemetry. > Go telemetry is an opt-in system, controlled by the go telemetry command. By default, the tool…

I'm open to being convinced otherwise, but I feel like I'm the only one who doesn't get why opt-out telemetry is such a big deal. Sure, if it's a software library, I don't want it doing random network calls during my runtime. That's just rude. But if it's a user application (including a compiler), I don't see what the fuss is about. Of all the myriad of ways our data is harvested every single day, telemetry seems ver…

Privacy concerns aside, I personally don't appreciate binaries making network requests unless it's strictly required for them to function.

Re: Go 1.23 Released

#55
post #45
post #3

Opt-in telemetry. A very rare sight these days. Glad to see. Not even Mozilla does that with Firefox [1]. > Starting in Go 1.23, the Go toolchain can collect usage and breakage statistics that help the Go team understand how the Go toolchain is used and how well it is working. We refer to these statistics as Go telemetry. > Go telemetry is an opt-in system, controlled by the go telemetry command. By default, the tool…

Google can already see every installation of every Go program/package in existence, unless you set GOPROXY=direct (or a custom proxy). The default is to use https://proxy.golang.org , which is operated by Google.

The default proxy has a privacy policy: https://sum.golang.org/privacy.

Re: Go 1.23 Released

#56
post #44

Earlier quoted context omitted.

But now I have to understand what m.Range does, and I can't assume it's a slice or a map etc. Prior to this change, you could almost always correctly assume what a for loop is doing as it was very primitive. It's changes like this that will make Go less productive for users over time, IMO. Java-fication.

You put your cursor on the "Range" portion of m.Range, and hit "Jump to Definition". You can also just not import things that do crazy things with iterators. Based on the history of the community, that will actually be fairly easy. I'm yet to see anything crazy with generics get into a library that I use. I'm abundantly positive there's going to be a dozen "hey let's go do crazy things with rangefunc" libraries in th…

> You put your cursor on the "Range" portion of m.Range, and hit "Jump to Definition".

Well, that's one reason why people usually run away from languages high in magic like Java/JS to something like Go: not needing a fancy IDE to make sense of what's happening with a single line of code.

Re: Go 1.23 Released

#57

Earlier quoted context omitted.

It's not 2006 anymore.

I don't understand what you mean by this. Are you saying you can patch out telemetry in Linux package managers are Firefox doesn't care? What does that have to do with 2006? I think GP has a valid point otherwise as people will just install the thing named Firefox and not check to see if there is a telemetry free version going by a different name.

https://en.wikipedia.org/wiki/Debian%E2%80%93Mozilla_tradema...

Re: Go 1.23 Released

#58

Earlier quoted context omitted.

The source has to be annotated to export the function.

Just confirming if I understand this correctly: they went through a big chunk of existing code, and then made any internal symbols used in that corpus accessible via //go:linkname? I don't know why, but I (stupidly) assumed that they wouldn't allow new code to be written that uses those symbols, while allowing old code to work. :) This explanation makes a lot more sense. So, you can keep using the symbols exposed wit…

Yes.

Re: Go 1.23 Released

#59
post #32
post #16

Earlier quoted context omitted.

> Opt-in telemetry. A very rare sight these days. Because it doesn't work. o:-) (Introduces a slant/bias to the data.) https://twi.github.io/blog/making-go-telemetry-opt-in-is-a-m...

Same with opt out. Just have to accept that you are not going to get perfect data. And it doesn't excuse one to behave like an asshole.

You forget that most people here work at startups that have compulsory telemetry.

Re: Go 1.23 Released

#60

I don't like the "range-over-func" addition. I feel like it is adding complexity and syntactic sugar to the language that has thus far been mostly avoided.

Same. This is one of the first times I'd checked release notes and not really understood most of it at first glance.
Post reply on HN