News for hackers. Stuff that matters.
Re:Brad Fitzpatrick on the future of Go by jbooth on Tuesday October 14, 2014 @12:05PM (#8454043)
Andrew Gerrand: The lack of versioning built into the Go tool incentivizes library authors to provide good, stable APIs.

Are you kidding me??? So if some invariant behavior on an otherwise stable API changes, I don't know until runtime that a bunch of the code that I shipped, haven't changed, and then recompiled a month later has changed it's behavior?

Re:Brad Fitzpatrick on the future of Go by enneff on Tuesday October 14, 2014 @01:01PM (#8454394)
If you're shipping serious code you should be vendoring your dependencies.
Re:Brad Fitzpatrick on the future of Go by jbooth on Tuesday October 14, 2014 @05:37PM (#8455980)
So, uh, why is the go-supported option encouraging me to download it from github at compile time without so much as crude versioning support?

Lots of people run internal Maven repos, they have every dependency vendored, but they also want the ability to choose between versions of that dependency.

Re:Brad Fitzpatrick on the future of Go by munificent on Tuesday October 14, 2014 @02:22PM (#8454876)
Why?
Re:Brad Fitzpatrick on the future of Go by namsral on Tuesday October 14, 2014 @03:29PM (#8455239)
Because you want to have control over all software you're shipping to production.
Re:Brad Fitzpatrick on the future of Go by munificent on Tuesday October 14, 2014 @08:10PM (#8456569)
Sure, but manual vendoring is just one (tedious, error-prone) means to that end. Any sane package manager with something akin to lockfiles gives you the same guarantee without all of the headaches of vendoring (and unvendoring when no longer needed!) all of your transitive dependencies.
Re:Brad Fitzpatrick on the future of Go by enneff on Wednesday October 15, 2014 @04:27AM (#8457589)
It's not tedious or error prone. Just use the tool.s
Re:Brad Fitzpatrick on the future of Go by simoncion on Tuesday October 14, 2014 @03:54PM (#8455372)
If "vendoring" precludes one from using a dependency installed on the system, then this practice is static linking all over again. Static linking has its place, but dynamic linking with sane versioning solves many problems.
Re:Brad Fitzpatrick on the future of Go by sagichmal on Tuesday October 14, 2014 @04:39PM (#8455658)
In the era of containerized application platforms and immutable infrastructure, static linking is the path forward.
Re:Brad Fitzpatrick on the future of Go by kyrra on Tuesday October 14, 2014 @04:31PM (#8455605)
People like Go because you have a single executable to drop on a box, no worrying about what version of what libraries are installed. Though, the Go team realizes there is a need for dynamic linked libraries, so they at least have a proposal for it[0].

[0] https://docs.google.com/document/d/1nr-TQHw_er6GOQRsF6T43GGh...

Re:Brad Fitzpatrick on the future of Go by 23david on Tuesday October 14, 2014 @04:59PM (#8455774)
I've been following that proposal, and I'm a bit surprised that it isn't mentioned on the roadmap. Looks like dynamic linked libraries will come sometime in 2.x land?
Re:Brad Fitzpatrick on the future of Go by kyrra on Tuesday October 14, 2014 @10:01PM (#8456840)
One of the other talks made reference to it[0].

[0] http://dotgo.sourcegraph.com/post/99652344343/go-team-q-a-de...

Re:Brad Fitzpatrick on the future of Go by dangerlibrary on Tuesday October 14, 2014 @04:18PM (#8455536)
I'm pretty sure all Go binaries are statically linked.
Re:Brad Fitzpatrick on the future of Go by munificent on Tuesday October 14, 2014 @08:12PM (#8456575)
Sure, but that's orthogonal to what's being discussed here. You don't check your compiled binary into source control, but proponents of vendoring do check their (transitive) dependencies in.
Re:Brad Fitzpatrick on the future of Go by weitzj on Tuesday October 14, 2014 @04:46PM (#8455705)
But they said there are plans for dynamic linking
Re:Brad Fitzpatrick on the future of Go by nulltype on Wednesday October 15, 2014 @12:09AM (#8457117)
What problems does dynamic linking with sane versioning solve?
Re:Brad Fitzpatrick on the future of Go by wtetzner on Tuesday October 14, 2014 @12:42PM (#8454272)
Yeah, this seems crazy to me. Also, honestly, while stable APIs can be nice, I would rather have people have the option to change the API in later versions, if it makes things better. But I want to be able to consciously decide to upgrade when I'm ready.
Re:Brad Fitzpatrick on the future of Go by enneff on Tuesday October 14, 2014 @01:01PM (#8454388)
You do have that option. As I explained at the time (but this was not included in the live blog), the convention is to change the import path when the package API changes.