5 ms·
Goroutines was the selling point for me until they decided to introduce telemetry in their toolchain; that was what forced me to stop using Golang as a whole.
by stefanos82 3y ago
Goroutines was the selling point for me until they decided to introduce telemetry in their toolchain; that was what forced me to stop using Golang as a whole.
About GC, I would say: if you implement C++'s RAII mechanism to replace garbage collection, then I believe this project will have a bright future.
My final question is the following: how `pcz` compares to V language, from a syntax's perspective [1]?
[1] https://github.com/vlang/v https://github.com/vlang/v
- im_dario 3y agoTelemetry is opt-in [0], it shouldn't be a concern. [0] https://research.swtch.com/telemetry-opt-in https://research.swtch.com/telemetry-opt-in
- hknmtt 3y agoits mere existence is a concern. people are so dumb when they ignore these things. whenever there already is something, it can only go further.
- eddythompson80 3y agoDebian, for example, has an opt-in telemetry. Would you apply that to Debian?
- hknmtt 3y agoYes, I 100% would. To any software. The only positive in this case is that Debian is not run by the freaking Google - the overlord of all information on the internet with backdoors for all three letter agencies in USA, despite what Go authors will want you to believe.
- fweimer 3y agoGOPROXY is enabled by default. “Since Go 1.13, the go command by default downloads and authenticates modules using the Go module mirror and Go checksum database.” https://proxy.golang.org/ https://proxy.golang.org/
- eddythompson80 3y agoOnly if you’re not vendoring your dependencies, afaik.
- dolmen 3y agoSo you might just need an anonymizing relay to the Google proxy. The GOPROXY protocol is quite small to allow to implement such a relay: https://go.dev/ref/mod#goproxy-protocol https://go.dev/ref/mod#goproxy-protocol
- dolmen 3y agoAlso using a generic http_proxy that does the relay you need might just be enough as many solutions exist in that space. https://stackoverflow.com/questions/10383299/how-do-i-configure-go-command-to-use-a-proxy https://stackoverflow.com/questions/10383299/how-do-i-config...
- fsociety 3y agoSounds like go routines was not a selling point if telemetry tipped you over then.
- mseepgood 3y ago[flagged]
- deleted 3y ago[deleted]
- stefanos82 3y agoThank you for your kind words, even though I never called you names, whoever you are. You have your personal believes and ethics, I have mine; please show some respect and understanding.
- Leotard6963 3y agore: telemetry We don't like it as well, just do not enable it :^ re: RAII It is not possible to add RAII support without updating the compiler to call specific methods automatically, so currently it is not an option (as we are using unmodified official toolchain). But the `g` register defined in Go is of great value, and we are making use of it to provide custom goroutine support, which means you can have custom allocator and scheduler for specific goroutines, so that you can have some of them with GC enabled and others not. re: compare to V pcz is a stdlib (plus a cli tool to build), not a new language, you still write Go code but in a slightly different style.
- dolmen 3y agoWhat is that `g` register that you are talking about. It seems to be a reference to some internals of the Go. Do you have some references to some existing documentation about this thing?
- Leotard6963 3y agoI'm afraid there is no such resource, but you may find cmd/compile/abi-internal.md[1] helpful And in brief introduction, the `g` register is a non-scratch register, and is preserved by the go compiler, it stores the poitner to current goroutine (type `g` in the official runtime, a structure serves the similar purpose of TCB), and since all general purpose registers are thread local, the goroutine may enjoy some thread-local features without any thread-local requirements to the running environment. [1]: https://github.com/golang/go/blob/master/src/cmd/compile/abi-internal.md https://github.com/golang/go/blob/master/src/cmd/compile/abi...
- arendtio 3y agoWhat bothers me: Since a while the documentation links to cs.opensource.google with the typical google flavor. Some years ago, you could simply click on some function in the documentation and view the source code. When I do this now, I find myself on a permission denied page. Just a random example: Permission denied. Please contact the administrator. https://cs.opensource.google/go/go/+/go1.21.1:src/strings/clone.go;l=21 https://cs.opensource.google/go/go/+/go1.21.1:src/strings/cl... I don't know what causes this, but is seems to be related to my Firefox, because in Chromium I can see that page. I just wonder, what on earth makes it so hard to serve a documentation in a way that is available to all browsers.
- elygre 3y agoFor a counterpoint: I can see that page in Firefox. Probably related to some setting on your computer.
- arendtio 3y agoAre logged in to some google account?
- dharmit 3y agoI have faced the same problem numerous times. Sometimes the cs.opensource.google links work, sometimes they don't. I haven't yet bothered to try and understand why that's the case. Why can't they use the github.com/golang/go link instead? (no pun, genuinely wondering)
- dolmen 3y ago1. github.com/golang.go is just a mirror. The main Git repo is available via https://go.googlesource.com/go https://go.googlesource.com/go 2. GitHub.com is Microsoft infrastructure. cs.opensource.google is Google infrastructure. I still wonder why there is both cs.opensource.google and go.googlesource.com.
- demi56 3y agoBecause GitHub is a mirror not the actual repo, I think I was around 2015 when Go was gaining massive attraction they had to use GitHub for issues also, still you can’t change the fact that more than 70% of commits is from google