17 ms·
It's hard to stay simple when the number of users grow. Go will probably not stay simple for much longer (with generics and whatnot). One thing that I don't un
by haolez 6y ago
It's hard to stay simple when the number of users grow. Go will probably not stay simple for much longer (with generics and whatnot).
One thing that I don't understand about the ecosystem is the hate towards GOPATH. Why introduce a complex dependency system for a package manager when you can just pin submodules with git and reap the same benefits? :)
- djur 6y agoHow does pinning submodules give you the same benefits as a package manager?
- kccqzy 6y agoGOPATH is hated because it's poorly thought-out. It's poorly thought-out because Go is designed by Google, who uses Bazel for dependency management. GOPATH is only there because you can't expect everyone to adopt Bazel in order to adopt Go, so some half-assed solution gets designed to get the language out the door. In simpler terms, the people who designed the language don't use GOPATH at all. That's why it's terrible.
- kortex 6y agoI don't think GOPATH is poorly thought out at all. Dependency-environment-locating is a PITA. Off the top of my head, I can't think of a single package management system that doesn't use universal installs, FOO_PATH or "giant local dump per project". Universal: - apt, yum, brew Team PATH: - GOPATH - CMAKE_PREFIX_PATH - PYTHONPATH (which Conda, virtualenv, etc modify) - CARGO_HOME Team redundant local blob: - Node - pipenv Rust is probably the least-half-assed (most full-assed?) model, with both a sane user-wide default for cache (~/.local/cargo), a way to edit that default, and project location flexibility. But I actually love the Go notation that I've opted to organize most of my code around the ~/namespace/src/domain/repo scheme. I never lose track of where a folder is :)
- mssundaram 6y ago> 've opted to organize most of my code around the ~/namespace/src/domain/repo scheme. I never lose track of where a folder is Yes I do the same! I don't lately write any Go but I really appreciate the organization this way
- lookdangerous 6y agoIs your home dir chock full of namespace folders?
- kortex 6y agoNope, just two or three. Most lives in ~/ao (easy to type on dvorak), some is in ~/rd (random), some is in ~/tmp. I don't really work on enough variety of projects to deal with collisions.
- fiddlerwoaroof 6y agoNix isn’t any of these? It installs each replicable version of a package once, but it’s not visible outside of the project that uses it.
- kortex 6y agoNever worked with Nix, though it looks interesting.
- fiddlerwoaroof 6y agoIt has rough edges, but I find it one of the better developer experiences.