3 ms·
"But I think the metrics you've chosen are irrelevant." Nothing is more frustrating than discovering that you need to install a new component or build system j
by niggler 14y ago
"But I think the metrics you've chosen are irrelevant."
Nothing is more frustrating than discovering that you need to install a new component or build system just to build a specific component. It gets worse when dealing with multiple external components in different build systems.
"It's also very hard to learn and very difficult to maintain"
I agree insofar as most people go into make without trying to learn it properly. There's a manpage and pretty good documentation for the GNU extensions. But in my experience, with custom build setups using stuff like Maven, a lot of time is spent fighting the build system when a simple Makefile would suffice.
"with the added benefit of not having to learn a new language."
You've shifted the burden from "learning a new but very simple language" to "learning a framework atop your language", which (based on my reading of gradle's docs) is not very concise.
- imissmyjuno 14y agoIndeed, mseebach's answer is really saying that those metrics are irrelevant to him.
- mseebach 14y agoNo, what I'm really saying is that if you get to cherry-pick the metrics, you can win any debate. Of course there are tradeoffs in anything, and if the expressiveness of your build script is the deal-breaker for your project, by all means use make. On the whole, I will still argue that more modern alternatives provide a better total experience. Also, note that the OP is directed at beginners.
- Jare 14y ago"Ubiquity" and "expressiveness" are hardly cherry picking in my book
- wtracy 14y ago> Nothing is more frustrating than discovering that you need to install a new component or build system just to build a specific component. If you're talking about a FOSS component that random people will have to rebuild: Yes, absolutely. (Go listen to the Linux From Scratch community complain about CMake!) If you're talking about a proprietary project that will only be distributed as binaries, or maybe even not distributed externally at all, why not pick the best tool for the job?