I think it's a bad addition since it pushes people towards a worse solution to a common problem. Using "go tool" forces you to have a bunch of dependencies in your go.mod that can conflict with your software's real dependency requirements, when there's zero reason those matter. You shouldn't have to care if one of your developer tools depends on a different version of a library than you. It makes it so the tools them…
I ask this out of curiosity, not accusation, do you work for Flox? Can't say I've ever seen it mentioned "in the wild".
Go 1.24's go tool is one of the best additions to the ecosystem in years
181–190 of 207 posts
Re: Go 1.24's go tool is one of the best additions to the ecosystem in years
#182Earlier quoted context omitted.
Go launched without any dependency management. Go people believe that anything non-trivial is either a useless abstraction, or too difficult for the average developer. So their solution is to simply not add it, and tell anyone claiming to need it that their mind has been poisoned by other languages... Until that time when they realize everyone else was right, and they add an over simplified, bad solution to their "gr…
go mod is best in class dependecy manager, it is way better than what most mainstream languages have, it's not even close. I worked with C++/ruby/python/js/java and C#, go mod is superior to all them. The one that is similar is Cargo ( rust ).
Re: Go 1.24's go tool is one of the best additions to the ecosystem in years
#183Re: Go 1.24's go tool is one of the best additions to the ecosystem in years
#184Earlier quoted context omitted.
That is a bit much to ask for IMO. In any case, the project may not be aware of how any given developer will use the tool. So who is to say that if you change the order of two parameters to the tool, the tool might not take a different path and proceed to hack your computer? You really don't want any of this problem. What you should ask for is for the tools' dependencies to be listed separately, and for each tool to…
> for each tool to ... "do one thing well." There is a lot of merit to this statement, as applied to `go tool` usage and to security scanning. Just went through a big security vendor analysis and POCs. In the middle I saw Filippo Valsorda post [1] about false positives from the one stop shops, while govulncheck (language specific) did not have them. At the same time, there was one vendor who did not false positive wi…
Re: Go 1.24's go tool is one of the best additions to the ecosystem in years
#185Earlier quoted context omitted.
i think it's more an argument to not use the dumpster fire that is golangci-lint
I've been working on a version manager for golangci-lint in the quiet moments [1] It already works, but it's work in progress. Happy to get feedback [1] https://github.com/anttiharju/vmatch
Re: Go 1.24's go tool is one of the best additions to the ecosystem in years
#186Earlier quoted context omitted.
I've been working on a version manager for golangci-lint in the quiet moments [1] It already works, but it's work in progress. Happy to get feedback [1] https://github.com/anttiharju/vmatch
What's the use case you have over "just" using the official install process (`curl | sh`)?
Having the wrong version installed between collaborators is problematic as then they may get different results and spend time wondering why.
Works across branches and projects.
Re: Go 1.24's go tool is one of the best additions to the ecosystem in years
#187Earlier quoted context omitted.
Go launched without any dependency management. Go people believe that anything non-trivial is either a useless abstraction, or too difficult for the average developer. So their solution is to simply not add it, and tell anyone claiming to need it that their mind has been poisoned by other languages... Until that time when they realize everyone else was right, and they add an over simplified, bad solution to their "gr…
Your reply is polemical and somewhat detached from the experience of working with Go. From my experience, Go's dependency management is far better than anything else I've worked with (across languages including Java, Scala, Javascript/Typescript, Python). Your criticism is perhaps relevant in relation to language features (though I would disagree with your position) but has no basis in relation to tooling and the sta…
Anything is better than npm, with one function per package.
Python, thankfully I only need batteries for OS scripting.
Re: Go 1.24's go tool is one of the best additions to the ecosystem in years
#188Earlier quoted context omitted.
Go launched without any dependency management. Go people believe that anything non-trivial is either a useless abstraction, or too difficult for the average developer. So their solution is to simply not add it, and tell anyone claiming to need it that their mind has been poisoned by other languages... Until that time when they realize everyone else was right, and they add an over simplified, bad solution to their "gr…
go mod is best in class dependecy manager, it is way better than what most mainstream languages have, it's not even close. I worked with C++/ruby/python/js/java and C#, go mod is superior to all them. The one that is similar is Cargo ( rust ).
Re: Go 1.24's go tool is one of the best additions to the ecosystem in years
#189Earlier quoted context omitted.
Why do ecosystems continue to screw up dependency management in 2025? You would think the single most widely used feature by programmers everywhere would be a solved problem by now.
Go has been a masterclass in disparaging industry learnings as "unnecessary" (dep management, generics, null safety), then gradually bolting them into the language. It's kinda hilarious to watch.
A bit like C ignoring previous experience in safe systems, getting lucky with UNIX's adoption, and we are still trying to fix that to this day.
Re: Go 1.24's go tool is one of the best additions to the ecosystem in years
#190Earlier quoted context omitted.
I have no beef with Rust, but objectively I think it's dependency management, general tooling, and standard library are significantly worse than Go's. The language, as you say, has a quite different philosophy from Go which many favour - but that is only part of the story. Could you elucidate which of the 'mentioned issues' you think are present for Go (in relation to tooling) that do not apply to Rust/cargo? Is your…
Each rust crate is compiled on their own. Means if a library you pull in, needs the same crate as a another dependency, even with incompatible versions, it doesn’t matter. Then cargo understands the difference between test and build dependencies next to the dependencies for the actual lib/binaries. The fact that each library and its dependencies gets compiled separately adds quite a lot in build time depending how ma…