3 ms·
I know I sound salty here, but 10 years ago I got ridiculed on go-nuts, with dismissive comments from Rob Pike, because I dared to suggest that the way go get a
by kitsune_ 3y ago
I know I sound salty here, but 10 years ago I got ridiculed on go-nuts, with dismissive comments from Rob Pike, because I dared to suggest that the way go get and module imports over the wire 1. worked, 2. were advertised in all their docs for beginners, and 3. how they were subsequently used throughout the community was ultimately harmful / shortsighted.
- hota_mazi 3y agoJust Rob Pike expressing to the world how ignorant he is of programming language theory that was discovered after 2000.
- GauntletWizard 3y agoI wish everyone were.
- kaba0 3y agoHe is ignorant of it even before 2000, see their for loop fck up.
- treyd 3y agoThe way Go's package system works, especially before modules, really feels like it was a hack over an earlier and even more limited system that was designed to be used entirely inside the Google monorepo that was made to work outside. The weird global namespace tree makes sense there, and the emphasis on checked-in codegen also make sense there when you consider that Google also includes build artifacts in their monorepo.
- capital_guy 3y agoThis was exactly what happened. Rob Pike mentioned in another talk that they overfitted the pre-module system to how Google deals with packages. So I think he/they have conceded this was a mistake
- p_l 3y agoIf one used Plan9, it becomes quite clear how the module system happened (it also matches nicely with google monorepo).
- shp0ngle 3y agoIt's interesting that what they came up with is better than what's out there for other languages. Yeah, you have the "v2" / forever v0 problem. But it's still better than what I need to deal with when using npm or (doing sign of the cross) anything with python.
- djha-skin 3y agoRuss Cox's "minimum version selection" was a complete reinvention of Apache Ivy's "Latest" version resolver. They basically reinvented maven, if you examine the version resolution plumbing of both tools.
- nulltype 3y agoLooking at https://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html https://ant.apache.org/ivy/history/latest-milestone/ivyfile/... I don't see how this is the same as minimal version selection.
- djha-skin 3y agoWrong page. I'm referring to this page: https://ant.apache.org/ivy/history/latest-milestone/settings/conflict-managers.html https://ant.apache.org/ivy/history/latest-milestone/settings...