4 ms·
This is where opinions will differ, I quite like go's ability to pull straight from a repository, and see outcomes like this as an unfortunate side effect of th
by yahyaheee 8y ago
This is where opinions will differ, I quite like go's ability to pull straight from a repository, and see outcomes like this as an unfortunate side effect of that feature. If a developer doesn't understand proper git and package versioning they will have a hard time in any language producing quality software. I'm not sure I want to give up the speed and ease of `go get` just to protect entry developers.
- masklinn 8y ago> This is where opinions will differ, I quite like go's ability to pull straight from a repository Having the ability to do so does not mean it should be the easiest and simplest way to get from A to B. Both pip and cargo can pull from repositories, but it's not the default and it's basically not covered in any tutorial. It's easy to do, but a developer is unlikely to find the information before they're actively looking for it. > If a developer doesn't understand proper git and package versioning they will have a hard time in any language producing quality software. I don't understand why you're using Go if your teaching methodology is to throw live chainsaws at people and berate them for not understanding proper power tool safety, why are you not just cutting out the middleman and using C++?
- yahyaheee 8y ago:sigh: clearly you just don't like Go, which is fine. Of all the languages I've picked up Go was far and away the simplest and most productive, which is why I continue to use it. When I wrote python we were constantly using pip to pull from repos, so moving to Go I liked their repository centric view. Just because python recommends pip, doesn't mean junior devs don't totally botch dependency management with it. Dep management and git are core skills developers need to learn well to produce good software. There is simply no substitute for a bit of elbow grease on the matter. I'm not berating anyone, software is hard and being good at it means taking the time to learn some core tools.
- masklinn 8y ago> clearly you just don't like Go, which is fine. Well at least you're not trying to defend the indefensible, even if you refuse to be honest about it. > When I wrote python we were constantly using pip to pull from repos, so moving to Go I liked their repository centric view. That is a rather peculiar situation, I believe in the 15 years I've been using Python I've had one dependency (and a rather outdated one at that) I had to pull from a repository. > Just because python recommends pip, doesn't mean junior devs don't totally botch dependency management with it. Dep management and git are core skills developers need to learn well to produce good software. I obviously agree with that complete platitude, the question is whether you think people learn better and are more likely to do so if you trick them and lay down traps for them. And whether you think your amusement is worth some out entirely. > software is hard and being good at it means taking the time to learn some core tools. And how is making those core tools harder to use and more likely to be misuse conducive to that?
- dang 8y agoYou've been breaking the site guidelines, such as by being uncivil in comments here. That's not ok. Would you please review https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and use HN as intended from now on? We'd appreciate it.
- weberc2 8y agoThis is a poor characterization of the issue. First of all, "do the packages come from git?" is not a real concern (similarly, "but it came from Pypi!" is not itself a feature). The real concerns are all "what reproducibility/security guarantees does my package manager provide?". For `go get` and vanilla `pip install`, the answer is "mostly none, but this is more or less okay for newbies/prototyping--it's okay though because the packaging docs point them to the better-but-tedious things". Cargo and Go modules do a pretty good job about providing reproducibility and usability at the same time, Python's answer seems to be `pipenv` which makes some pretty great promises, but has been quite buggy/quarelsome for us so far (and it's not even "official" as far as I can tell). To characterize Go's ecosystem (but not Python's) as "throwing live chainsaws at people and berating them..." is pretty blatant dishonesty, doubly so once Go modules makes its official debut.