4 ms·
Things went south when Java's Maven gained traction. Before that projects usually contained all their dependencies in a binary form (.so, .dll, .jar etc) or som
by abraxas 4y ago
Things went south when Java's Maven gained traction. Before that projects usually contained all their dependencies in a binary form (.so, .dll, .jar etc) or sometimes in the source form. Then Maven showed up and popularized the instant gratification build system that downloaded 25% of the internet before anything could compile.
Other languages followed suit and monstrosities like npm took over in the land of Javascript. Meanwhile Python went totally off the rails and became the absolute worst developer experience of any popular platform today.
Sadly, we're not likely to see the olden days come back. Some people grab a bunch of random shit and put it in docker thinking they found the solution. Unfortunately that strategy comes with its own issues and it's really just caking more complexity on top of what is already much too complex.
- deleted 4y ago[deleted]
- cratermoon 4y agoLong before Maven came around there was Ant, and before Ant there was Mozilla Tinderbox.
- abraxas 4y agoThose did not come with a centralized repository of crap that every project pulled from. You composed your dependencies carefully and checked them into your source code control.
- cratermoon 4y agoAh, I think I get what you're saying now. So it's not just the complexity of the build system, it's the system of dependency resolution and management across a networked multi-repository of components. That does add complexity and risk, as the left-pad incident (and others) have made well-known. Come to think of it, besides javascript with npm, what other build systems consult only a single central repository? Is having a single central repo (or at least, appearing as a single hub) simpler, or is something like Go's modules, which can pull from any number of repos, public or private, added complexity?
- fiedzia 4y agoDocker keeps insanity of irreproducible environments contained (no pun intended) and comparing with all solutions before, it works very well for that purpose.