our team to manage the development of the ChEBI software is an automated build tool called Apache Maven. Opinions are often divided on whether Maven is a good or a bad thing. Most of them are very subjective, argumentative and often very extended. See why does Maven have such a bad reputation? and 25 things* I hate about Maven for examples.One of the many tools we use in
All this is fairly predictable, and I could add a few tales of Maven woe to the pile myself. But wondering if Maven is any good reminded me of something Bjarne Stroustrup [1,2,3] (one of the people behind the C++ programming language) once said in an article on the problem with programming:
“There are just two kinds of [programming] languages: the ones everybody complains about and the ones nobody uses.”
Actually when you think about it this applies to build systems too, there are two kinds. It also applies to just about any technology you care to name, you can crudely classify them all into two categories:
- Those technologies everybody complains about…
- … and the rest, that nobody uses.
So is Maven any good? Worth using? Worth the pain? Depends on who you ask. What we can say for sure, is that like many technologies, everybody complains about it.
- Bjarne Stroustrup (2010). Viewpoint: What should we teach new software developers? Why? Communications of the ACM, 53 (1) DOI: 10.1145/1629175.1629192
- Bjarne Stroustrup (2007). Evolving a language in and for the real world: C++ 1991-2006 Proceedings of the third ACM SIGPLAN conference on History of programming languages DOI: 10.1145/1238844.1238848
- Bjarne Stroustrup (1993). A history of C++: 1979–1991 The second ACM SIGPLAN conference on History of programming languages DOI: 10.1145/154766.155375
* Only 25? That seems like quite a short list to me.