News for hackers. Stuff that matters.
Re:Go += Package Versioning by Sir_Cmpwn on Tuesday February 20, 2018 @01:46PM (#16422786)
I should add that another big part of the reason I've been avoiding the language for years is the cult of Golang telling me my complaints are "totally naive and irrational".
Re:Go += Package Versioning by dasacc22 on Tuesday February 20, 2018 @02:18PM (#16423186)
I've been working with Go for 6 years, your complaints are not "totally naive and irrational".

I don't mind GOPATH, but I did argue that if vendoring was to be a thing then it needed to be dropped entirely. I was also not a fan of the vendoring mechanism.

The approach given here looks much more thought out getting rid of each, first proposal I've actually liked.

Re:Go += Package Versioning by Groxx on Wednesday February 21, 2018 @12:14AM (#16427025)
This kind of attitude around package management and especially dependency injection have been major turn-offs for me as well. More than a sufficient number of the community has been emitting a high-pressure stream of NIH combined with ignorance of existing solutions, and it has been crippling the community for years.
Re:Go += Package Versioning by neoasterisk on Wednesday February 21, 2018 @03:07AM (#16427784)
Dependency injection is very commonly used in the Go ecosystem. Do not confuse resistance about unidiomatic DI frameworks with resistance about DI itself.
Re:Go += Package Versioning by Groxx on Wednesday February 21, 2018 @09:25PM (#16434726)
Which ones are common? I've been hoping this would be the case, but I've been unable to find evidence for it.

e.g. the most-popular one I can see so far is Facebook's "inject", which has a remarkably small 841 stars: https://github.com/facebookgo/inject

Even Glide, Godep, and Dep have several thousand. And those can barely claim "most", much less "very common".

Re:Go += Package Versioning by neoasterisk on Thursday February 22, 2018 @05:32AM (#16436629)
What do you mean which ones? I am talking about dependency injection as a technique/pattern. In Go you can just do it without importing anything.

Please read:

https://medium.com/@benbjohnson/standard-package-layout-7cdb...

(I've linked to the exact point in the article where it talks about DI but you might want to read the rest as well.)

Re:Go += Package Versioning by Groxx on Thursday February 22, 2018 @04:49PM (#16441751)
Yeah, it's widespread as a hand-coded thing. It has to be - you essentially have no choice in Go for even basic things like tests.

But that just means that everyone rolls their own thing by hand, with widely-varying feature-sets, method names, bugs, etc. DI frameworks are very much nicer for interop between a bunch of libs.