Hacker News new | ask | show | jobs
by autarch 3051 days ago
I wouldn't exactly call Go's standard library _good_. It's got a lot of stuff in it, which is nice, but the API design ranges from excellent (net/http) to "how much crack?!" (time.Format and .Parse) to not-quite-sufficient (various packages).

And of course, standard library APIs age with time. Perl and Python are good examples. Both ship with packages that were really good in their day, but have long since been superceded by community-created tools. But the core has to keep shipping the old thing for backwards compat and the maintainers are reluctant to add yet another package that does the same thing.

Dependencies have their downsides, but being able to assemble the best of what's out there rather than relying on the best of what was available at some point in the past has a lot of advantages too. Languages with good dependency management seem like the best possible option.

Go's refusal to embrace this is a huge pain point. Dep is a decent start, but without a community actually doing things like releases, changelogs, and all the other things that go into a solid ecosystem, it's a half measure at best.

1 comments

> Go's refusal to embrace this is a huge pain point. Dep is a decent start, but without a community actually doing things like releases, changelogs, and all the other things that go into a solid ecosystem, it's a half measure at best.

Go has indeed embraced it and is working on `dep` the officially sanctioned dependency manager.

It's under the official golang github repository.

Yes, I know. But that doesn't help at all with the lack of releases, changelogs, etc. As I said, it's a decent start.
https://github.com/golang/dep/releases

https://github.com/golang/dep/graphs/commit-activity

Agreed that it's a decent start, however I disagree with the lack of releases. If you look at the git history there is a lot of activity in it.

I think he's saying the packages you install with dep don't adhere to things like semver.