3 ms·
> but Go's tooling is still far easier than pretty much anyone else's (it's actually what brought me to Go). Really? Maybe that's true if you compare it to PI
by vog 9y ago
> but Go's tooling is still far easier than pretty much anyone else's (it's actually what brought me to Go).
Really?
Maybe that's true if you compare it to PIP (Python), Gems (Ruby) or NPM (JavaScript/NodeJS).
But I think that Cargo (Rust) got it almost perfectly right, and Opam+Ocamlbuild (OCaml) is very close.
- weberc2 9y agoSome other languages that make Go's tooling look awesome: C, C++, Java Cargo is comparable to Go's tooling in my mind (in terms of ease of use; I think it's better in other categories), but figuring out how to use libraries (mod vs use) and organize a multi file project is a notorious pain point with no analog in Go. This means it's harder to get started with Rust than Go (language features notwithstanding), which is pretty much what we're discussing here. I don't really know what to say about Ocaml. I don't have much experience, but most of it has been bad. It seems like you're supposed to use Makefiles, and an Opam file. The more I learned the less I liked, and it seemed to be the consensus that the build tooling was one of the language's weak points. I will say that installing packages from Opam was a painless experience. The build tooling wasn't the only thing that drove me away, but it was right up there with the poor standard library, ecosystem fragmentation, and low-quality documentation. Which is a shame because the language features look great. With Go, all you need to know to get started is "go get".
- ernst_klim 9y ago>poor standard library What's wrong with containers, batteries and core? >go get Wow, once I've tried go the package management was utterly broken, even cabal hell looked better than this. What, no package versions? Downloading directly from git repo, are you kidding me?
- weberc2 9y ago> What's wrong with containers, batteries and core? Well, between those three and the actual std lib, there are four standard libraries, which defeats the purpose of having a standard library. > Wow, once I've tried go the package management was utterly broken, even cabal hell looked better than this. What, no package versions? Downloading directly from git repo, are you kidding me? `go get` isn't a package manager. Go's solution to dependency management is vendoring, which has its own suite of problems, but my comment was about getting newbies off the ground, and for that `go get` is suitable.