Post ASdX59BfSpDIJopdse by blacklight@social.platypush.tech
 (DIR) More posts by blacklight@social.platypush.tech
 (DIR) Post #ASZDk9X8J2jjY9J9l2 by blacklight@social.platypush.tech
       2023-02-11T10:30:23Z
       
       4 likes, 13 repeats
       
       For me this is the last nail in the coffin for #Go.I've never bought much into the language. I've been impressed by its constructs to natively manage and synchronize asynchronous operations, but its rigidity when it comes to programming paradigms (no proper object-oriented and functional constructs in the 21st century, seriously?) means that I see it as a language that seriously limits expressivity, and doomed to generate a lot of boilerplate. It's a language very good at solving the types of problem that are usually solved at Google (build and scale large services that process a lot of stuff in a way that the code looks the same for all the employees), and little more than that.After #Rust really took off, I didn't see a single reason why someone would pick Go.And now here we go with the last straw: Google has proposed to embed telemetry collection *into the language toolchain itself*. And, according to Google, it should be enabled by default (opt-out rather than opt-in), because, of course, if they make it an opt-in then not many people will explicitly enable a toggle that shares their source code and their usage of the compiler with one of today's biggest stalkers. If they make it an opt-out, well, many people won't even notice, and you can grab more data points from people, whether they know/like it or not.If you build open-source projects in Go, it's time to drop it and start considering alternatives. The market for modern compiled language is much more competitive now than it was a decade ago. We knew already that we couldn't trust a programming language developed by the largest surveillance company on the planet.https://www.theregister.com/2023/02/10/googles_go_programming_language_telemetry_debate/
       
 (DIR) Post #ASZEQXdN5hEqSWRFL6 by railmeat@fosstodon.org
       2023-02-11T10:38:03Z
       
       0 likes, 0 repeats
       
       @blacklight I wonder what they really expect to learn from that? Are they really going to improve the language from telemetry? Do they expect to get competitive intelligence from it? Seems strange.
       
 (DIR) Post #ASZEuXelZVX9DTOckK by blacklight@social.platypush.tech
       2023-02-11T10:43:31Z
       
       0 likes, 0 repeats
       
       @railmeat I don't think they will learn a lot from telemetry that can't be learned by profiling their own code. After all, we're talking of a deterministic toolchain that can easily be tested, not of the web activity of a random user with all of its nuances.But, of course, we all know that Google cares mostly of scooping as much data as possible from developers (especially precious information about their programming styles, naming conventions etc.). Github Copilot and Tabnine have left Google to bite the dust when it comes to code completion and AI tools used by developers. I have the feeling that now Google wants to bridge that gap, and in order to do so it needs to collect more code real-time.
       
 (DIR) Post #ASZIYWJyFuzSWKQM2y by AstraKernel@infosec.exchange
       2023-02-11T11:21:52Z
       
       0 likes, 0 repeats
       
       @railmeatMay be input for this 🤔https://www.businessinsider.com/google-ai-write-fix-code-developer-assistance-pitchfork-generative-2022-11?IR=T@blacklight
       
 (DIR) Post #ASZIYWrIG1e4Bg0xzE by blacklight@social.platypush.tech
       2023-02-11T11:24:20Z
       
       0 likes, 0 repeats
       
       @AstraKernel @railmeat what a coincidence! Every time I make assumptions about the reasons why these companies take controversial steps I'm like "come on, they can't be this evil, my ideas against them are surely biased" - just to be proved right shortly after.
       
 (DIR) Post #ASZIfm620DDpTPMZnM by danjac@masto.ai
       2023-02-11T11:25:39Z
       
       0 likes, 0 repeats
       
       @blacklight Go is a classic Conway's Law language: Google recruits tons of fresh grads from CompSci courses, they needed a language with as few footguns as possible so that junior devs with no experience could get up to speed writing decently performant "dumb" code as quickly as possible.
       
 (DIR) Post #ASZIhwQuXdXo6yA8wa by Mathemagician@ieji.de
       2023-02-11T11:25:39Z
       
       0 likes, 0 repeats
       
       @blacklight *shocked pikachu emoji*
       
 (DIR) Post #ASZLw0ENW9l7o5hHW4 by janriemer@floss.social
       2023-02-11T12:02:11Z
       
       0 likes, 0 repeats
       
       @blacklight 👆 👆 Thank you for sharing.Go learn #Rust y'all (pun intended)!It will change how you think about software development!It's exponential growth isn't going to stop any time soon!https://floss.social/@janriemer/109474233454928510#RustLang
       
 (DIR) Post #ASZVQpykaFfmZjAIjo by geobomatic@piaille.fr
       2023-02-11T13:48:36Z
       
       0 likes, 0 repeats
       
       @blacklight If the goal was really get insight on how the toolchain is used, with all the available open-source Go code out there, they could run an instrumentalized version to get it. So the goal is obviously not what they claim.
       
 (DIR) Post #ASZz50Fwgo1whhiFzE by AegonTargaryen@kafeneio.social
       2023-02-11T19:20:46Z
       
       0 likes, 0 repeats
       
       @blacklight python + cpp for wrappers, thank me later.
       
 (DIR) Post #ASaC4xH54edyrPYEgy by elmord@functional.cafe
       2023-02-11T21:46:24Z
       
       0 likes, 0 repeats
       
       @blacklight Okay, this is the last nail in the coffin for me as well. I used Go for a personal project back in 2020, and my position on Go was basically "yeah, this language has a lot of limitations, but it has some useful properties and I might use it again for some things in the future". This news puts it firmly in the "no" territory. (I have since restarted the project in Common Lisp, and I'm glad I did.)
       
 (DIR) Post #ASaDJ1ldGbFMnq7E3c by alcinnz@floss.social
       2023-02-11T21:47:38Z
       
       0 likes, 0 repeats
       
       @janriemer @blacklight Personally, I like Haskell! It'll change how you think about programming even more!Quite easy to compare directly against Rust, compared to which Haskell has its strengths & weaknesses...
       
 (DIR) Post #ASaDJ2G7RFdKKONZZo by blacklight@social.platypush.tech
       2023-02-11T22:00:11Z
       
       0 likes, 0 repeats
       
       @alcinnz @janriemer I see people mentioning Haskell or LISP dialects quite often here.I consider myself a big fan of functional paradigms, but I've never managed to digest the LISP/Haskell/Erlang way - where *everything* is a function.Sure, it forces developers to think of a problem in terms of immutable data and chains of functions that transform it, and code written like this is usually less prone to errors. But to me it's always been a too big cognitive leap to make. Sounds like I may still give another try though!
       
 (DIR) Post #ASaDLG70u6LZs7BFXk by tallship@mastodon.sdf.org
       2023-02-11T22:00:35Z
       
       0 likes, 0 repeats
       
       @blacklight Well, I think we should give them the benefit of the doubt. After all, lest I remind you of these three (3) words for you from their credo:"Do Evil"Wait! Something's wrong there! I'm almost positive there used to be three (3) words there!On another note, it is Apple that is the biggest surveillance company in the world. Yes, they exclude others at your expense being subject to their own dystopian intelligence gathering.Google, Faceplant, and Amazon close behind though⛵.
       
 (DIR) Post #ASaEGg15GStSidmmYK by alcinnz@floss.social
       2023-02-11T22:10:59Z
       
       0 likes, 0 repeats
       
       @blacklight @janriemer Yeah, it depends on what you're using it for.I encourage using Haskell for compute-heavy tasks. I/O is its main weakness.Mostly I like assuming that those who haven't wrapped their head around the Haskell haven't found the right task for it. And that's alright. I just I want it known that the option's there.
       
 (DIR) Post #ASaFldUQoBdtoWq5tw by m0xee@social.librem.one
       2023-02-11T22:27:48Z
       
       0 likes, 0 repeats
       
       @blacklight A lot of great TUI apps I use daily are in Go: amfora, gomuks, tut… These make me resort to heavier GUI (or even web) ones less often. It'll take a while to find or even create the alternatives. And it's not that I think Go is a bad language — I like it, actually I think Pike did a good job designing it, but its connection to Google always bugged me. Go is among the few "Google things" I find acceptable to use, I even have HTTP/2 and WebP disabled in Firefox 😞
       
 (DIR) Post #ASaGwFEpPqAfjqACcC by phf@floss.social
       2023-02-11T22:40:52Z
       
       0 likes, 0 repeats
       
       @blacklight "No proper object-oriented constructs" seems a bit wild but I guess it's secondary to your point. I agree that there's no need for telemetry in a toolchain or language runtime. But it's also obvious that you started with some serious Go aversion already, so your conclusion fits. For the folks who actually like Go it's probably going to be about forking. Personally that's what I'd rather see. Let the official Google thing do whatever they want, just avoid it and use a fork. 🤷
       
 (DIR) Post #ASatI6WKIziBKVCNO4 by cambridgeport90@social.platypush.tech
       2023-02-12T05:50:39Z
       
       0 likes, 0 repeats
       
       @blacklight I never understood the language's name, but if it's created by Google...sort of makes sense. I never had any desire to learn it, myself, and now I don't think I will after reading this.
       
 (DIR) Post #ASatVph3fEwfCDlSlM by cambridgeport90@social.platypush.tech
       2023-02-12T05:53:10Z
       
       0 likes, 0 repeats
       
       @blacklight My chosen languages, at the moment, C#, PowerShell, Python, Node.JS, and a little bit of PHP when needed to fix stuff in Wordpress, YOURLS, and other small-ish things. Are there any issues with any others? (dotnet has telemetry, though it's just so that it's creator can see where it's being used since dotnet being cross platform is fairly new, so I don't mind it that much.)
       
 (DIR) Post #ASbRlqqaXUrrqi238K by steveb@hachyderm.io
       2023-02-12T12:16:52Z
       
       0 likes, 0 repeats
       
       @blacklight I've been playing with Go recently in a little side project. This decision by Google makes me think its time to look at something else. But really, should we be surprised that a company who's main product relies on surveillance decided that his was necessary?
       
 (DIR) Post #ASbrJHzZ8NjARoGwSG by ArneBab@rollenspiel.social
       2023-02-12T17:03:10Z
       
       0 likes, 0 repeats
       
       @blacklight Thank you for your toot. I once thought that if a big company maintained some software, this would be the best ensurance for its longevity. G+ taught me otherwise and since then my trust in systems backed by large companies has dropped every year.I’m at the point where the only software I trust to stay available is copyleft software with a community behind it.Or at least without VC-backed or corporation-backed entity.
       
 (DIR) Post #ASbs6W8dKMQSVjzHJQ by ArneBab@rollenspiel.social
       2023-02-12T17:12:04Z
       
       0 likes, 0 repeats
       
       @blacklight I’ve been using Guile since 2013 now, and it feels very close to Python — not as polished, but also with a lot more powerful constructs — and even with full OO-code if you want to go there ⇒ GOOPS.I also made it look closer to Python … https://www.draketo.de/software/wispAnd Guile Scheme has itself to not get bloated over time. After almost 30 years it’s still beautiful and moving forward. @alcinnz @janriemer
       
 (DIR) Post #ASbw0M4UF6HVMtMgXQ by m455@tiny.tilde.website
       2023-02-12T17:55:39Z
       
       0 likes, 0 repeats
       
       @technomancy haha is this where that "no telemetry in fennel" toot arose from?
       
 (DIR) Post #ASc6woGcZJgF9YYKOm by jgg@qoto.org
       2023-02-12T19:58:21Z
       
       0 likes, 0 repeats
       
       @blacklight And what about Dart, the language underlying all things Flutter? It is a Google language too, and it's growing each year. Should we be worried?
       
 (DIR) Post #ASc9KSkERKVrGEoERk by acb@mastodon.social
       2023-02-12T20:25:01Z
       
       0 likes, 0 repeats
       
       @blacklight sickos_yes_ha_ha_ha_yes.jpgPlease let this be the end of that unergonomic tarpit of a language, so the world can move onto something with proper generics at least.
       
 (DIR) Post #AScA5XnhSYhoYHsibw by masto@masto.masto.com
       2023-02-12T20:33:35Z
       
       0 likes, 0 repeats
       
       @blacklight Have all the opinions you want, but please avoid alternative facts. "Shares their source code" is not even close to accurate. Nor is it true that "the systems that store and use that data aren't open". I will assume in good faith that you didn't read the proposal. It's at https://github.com/golang/go/discussions/58409.I have no involvement with Go and couldn't care less if this is adopted but the misinformation in the past few days irks me. Nobody listens any more, it's all snap reactions and hot takes.
       
 (DIR) Post #AScBjV4F8mlZc3EgTI by mtomczak@qoto.org
       2023-02-12T20:52:01Z
       
       0 likes, 0 repeats
       
       @blacklight It's an interesting idea. Telemetry is a much cleaner signal than self-reporting, although I think they could get equivalent information bycrawling GitHub, so probably way more trouble than it's worth.
       
 (DIR) Post #AScK7U3DN4nF2jhaGO by nuintari@infosec.exchange
       2023-02-12T22:25:58Z
       
       0 likes, 0 repeats
       
       @blacklight Go never "sat right" with me, I feel that belief has been completely and utterly vindicated now.
       
 (DIR) Post #AScRgJz1Uf8ZdLIgNc by mathew@universeodon.com
       2023-02-12T23:50:42Z
       
       0 likes, 0 repeats
       
       @blacklight "After #Rust really took off, I didn't see a single reason why someone would pick Go."Let me give you three, then: 1. Syntax. I absolutely want the technical benefits of Rust. However, I also really want syntax that doesn't look like C++ and Perl had a baby.2. Ease of cross-compiling. It's better than C/C++, but that's not saying much.3. Compile times.
       
 (DIR) Post #ASdRHNB2fysVSQzB3Y by njoseph_1@toot.thoughtworks.com
       2023-02-13T11:20:54Z
       
       0 likes, 0 repeats
       
       @blacklight This might start a slippery slope that other languages could slide down.How confident can we be that Rust won't add telemetry in the future, following Go's example? Google is a Platinum Member of the Rust Foundation after all. :blobthinking: #Go #Rust #telemetry
       
 (DIR) Post #ASdVAaZEtPEUmCKAXw by blacklight@social.platypush.tech
       2023-02-13T12:04:33Z
       
       2 likes, 1 repeats
       
       @njoseph_1 I think the projects are different for a simple reason.In #Go's case, Google has a big say in its development, and most of the codebase is contributed by Google's employees.In #Rust's case, yes Google has a sit at the table, but the development and decision-making is much more decentralized, and something like opt-out #telemetry in the toolchain would be met by a lot of resistance by a large majority of the community.I still see a long-term risk that comes from "inception" though. Google is not only trying to put telemetry in the #golang toolchain and get away with it. They are trying to convince the WHOLE open-source community that opt-out telemetry is not a bad idea: "Open-source software projects need to explore new telemetry designs that help developers get the information they need to work efficiently and effectively". THIS is the whole thing that we need to fight back. If more projects start adhering to this approach, then we need to actively boycott or fork those projects.
       
 (DIR) Post #ASdVMqCUawcGjjWjbc by shuLhan@fosstodon.org
       2023-02-13T12:06:43Z
       
       0 likes, 0 repeats
       
       @blacklight @railmeat > I don't think they will learn a lot from telemetry that can't be learned by profiling their own code.Have you read the part 3? https://research.swtch.com/telemetry-usesGiven the permutations of Go version + the number of OS and architecture + number of features + ...  I don't think that is something that can be  "tested".> ... to collect more code real-timeNo code are being collected.#golang #telemetry
       
 (DIR) Post #ASdWUOA6pCpC31ZiXw by blacklight@social.platypush.tech
       2023-02-13T12:19:18Z
       
       0 likes, 0 repeats
       
       @shuLhan @railmeat other compiled languages have gone through similar struggles (high number of OS, architectures and versions to support), but how come we've never heard of opt-out telemetry being implemented in the gcc or Rust toolchains?I agree, those aren't easy problems to solve, but they aren't impossible either. On each stable release, you build an integration that runs a few known tests and benchmarks for all the main x86*/arm* architectures. Testing on specific OS, at least in the UNIX world, should be delegated to package maintainers. And, when it comes to features, one can start by listing all the possible toggles, and deciding which of them are worth including in the automated suite.I still fail to see a case that leaves no alternatives to opt-out telemetry.
       
 (DIR) Post #ASdX59BfSpDIJopdse by blacklight@social.platypush.tech
       2023-02-13T12:25:53Z
       
       0 likes, 0 repeats
       
       @phf sorry, indeed I didn't mean "no proper constructs" - I should have actually said "quite primitive constructs".Again, that's by design, given that Go was a language specifically designed to keep the style consistent, even if it comes at the cost of expressivity. To me, using interfaces and structs in Go (and explicitly defining methods and properties outside of the object's body) feels a lot like going back to do proto-OOP in C  or early C++. It may be just syntactic sugar of course, but developers have really got used to that level of expressivity and syntactic sugar over the years.
       
 (DIR) Post #ASdXh9bgLtuscl7gWW by _dm@infosec.exchange
       2023-02-13T12:32:49Z
       
       0 likes, 0 repeats
       
       @blacklight I haven't heard of the telemetry thing, so not expressing an opinion there, butvery good at solving the types of problem that are usually solved at Google...But those problems are not unique to Google! Many open source projects suffer from having many users but only a few contributors.Supporting many varied paradigms and complex metaprogramming is great for encouraging clever programmers to flex their muscles in writing unmaintainable code--which is great if you don't really care about the future of your open source project, and it's just a hobby. But for serious work--including serious open source work--limiting expressiveness in exchange for lowering the bar to  contributing is a trade-off worth considering.
       
 (DIR) Post #ASdYvgCa3qEXiys8fY by blacklight@social.platypush.tech
       2023-02-13T12:46:40Z
       
       0 likes, 0 repeats
       
       @_dm there's always a trade-off to strike there. On one hand, you have languages like Go that are very opinionated about which constructs should be available in the language. On the other side of the spectrum, you have languages like Raku/Perl that allow you to express the same problem in a nearly infinite number of ways. I think the sweet spot lies in between.I don't think that features like functional patterns and modern OOP are negotiable in a modern language (even if that language provides the coolest way of dealing with asynchronous channels), because it means writing more procedural, repetitive (and, therefore, bug-prone) code. On the other hand, you don't even want to go all the way in and define grammars and meta-programming as native components of the language, therefore allowing developers to shoot their own foot with a big bazooka.
       
 (DIR) Post #ASdaVdOc4RKROwD04G by _dm@infosec.exchange
       2023-02-13T13:04:21Z
       
       0 likes, 0 repeats
       
       @blacklight For sure, it's a discussion that warrants a lot of nuance. I'm not saying Go has chosen the right point on the spectrum--certainly not for all projects or programmers, because that's subjective. But I do think the Go designers highlight an important requirement often overlooked--for easy-ramp-up, and not "expressiveness" or "flexibility."
       
 (DIR) Post #ASfiVvIOhw0SrjrzlY by farcaller@hdev.im
       2023-02-14T13:43:26Z
       
       0 likes, 0 repeats
       
       @blacklight FWIW Flutter was doing it for many years and no one really cared much.
       
 (DIR) Post #ASg2LezUTLjWU5PTcG by tuxflo@chaos.social
       2023-02-14T17:25:42Z
       
       0 likes, 0 repeats
       
       @blacklight well the reason why people choose Go over Rust is that it's way easier to learn. Also it's currently more adopted and you'll be able to find and hire Go developers easier than Rust experts. This might change in the next couple of years but today there are still good reasons to use Golang.If I had to compare it to other language learning curves I'd say Go is more like Java and Rust is more like C++.