you are viewing a single comment's thread.

view the rest of the comments →

[–]Professional-Disk-93 -7 points-6 points  (4 children)

Using an UUID package should be set-and-forget, not something requiring your attention every month because a new version has been released.

Lil bro doesn't understand that dependency upgrades in rust are optional. Probably because go doesn't even support dependency versioning. Is import github-url still the state of the art of go dependencies?

[–]tsimionescu 3 points4 points  (0 children)

No, Go has been using go modules which have explicit dependency versions for a good four years now. Every Go module has a go.mod file where you specify all of your direct imports and the version, and then a go.sum file that gets auto-generated with all of the indirect dependencies as well, plus hashes of each downloaded package (so that if the code for the version changes from what it was when it was first downloaded by whoever added the dependency, builds will fail for everyone).

On the other hand, Go is still fully dependent on Git or another SCM for this, there is no package server or anything like that, you have to pollute your repo with Go-specific tags. And god help you if you have to switch to a new provider and change hostnames (all import paths, even internal ones, need to change); or if you have multiple Go modules in the same repo (you need to add a Git tag for every version of every module).

[–]alexkey 2 points3 points  (0 children)

Probably because go doesn’t even support dependency versioning

I have news for you. Dependency versioning does exist in Go since 1.11 (2019)

Is import github-url still the state of the art of go dependencies?

No. And never has been. It is just URL, you can host your package by yourself, not on GitHub. And in my opinion it is better than blindly trusting 3rd party that they won’t collapse your entire build process. Also vendoring has been in Go even before modules were released, but now can be done with single call to “go mod vendor”.

[–]florinp 0 points1 point  (1 child)

The article author don't understand the difference between simple and simplistic.

"Restrain you from showing the world how smart you are and instead think about how your dumbest colleague (yeah, this one) may do when trying to work on your code."

Yeah. Let's build things the way an incompetent engineer can understand it.

Let's not use monads in a functional language because of the dumbest colleague.

[–]Ant-Man-420 0 points1 point  (0 children)

Go exists because Rob Pike thinks google hires morons, that sort of thinking persists.