3 ms·
I would agree except I find Maven to be easily the most sane and flexible and extensible build tool out there. I've used Maven to consistently build and deploy
by dnomad 8y ago
I would agree except I find Maven to be easily the most sane and flexible and extensible build tool out there. I've used Maven to consistently build and deploy vast systems made up of hundreds of libraries. And this was ten years ago. Maven's only "flaw" is that it doesn't support incremental builds and, frankly, I've come to believe this isn't a flaw at all and incremental builds are an inherently unpredictable anti-pattern. (That might just be the Maven trauma speaking. There are tools out there like buck that claim to get incremental builds down perfectly but I have doubts and we've seen some strange bugs in buck builds.)
What I find so strange is how the systems that came long after Maven -- particularly NPM and .NET -- that they could be so much worse than Maven. Somehow these people weren't aware of the importance of reproducible builds... despite that being a "thing" in Maven almost 20 years ago. Then, as noted above, you have go devs building off of git master branches.
All of this suggests a real problem in software engineering. There's a distinct lack of knowledge sharing that does not lead to gradual, linear progress. It's quite disconcerting. Things are not getting better, every day, after all.
- jacques_chester 8y agoThese days I appreciate Maven much more than I did at first (ugh, XML, lolenterprisejava amirite??). But the whack-a-dep thing is a real, genuine painpoint. Spring Boot Starters make this fairly close to invisible, but there are still billions of lines of Java code where the POM is like the map of an incredibly fragile ceasefire between 813 variants of some 118 different dependencies at 18 levels of nesting. Like Game of Thrones, except bloodier, more complicated and much more likely to cause everyone to give up.