Hacker News new | ask | show | jobs
by swimorsinka 1915 days ago
Yikes. Say what you will about package.json files and all their associated problems, but Make? Really?

I've written multi-thousand line Makefile build systems across multiple directories and multiple platforms, from scratch.

I must say Make is the most non-intuitive language I've ever had to work with. It's been near impossible for other engineers to pick up the build systems I've written. They still come back to me to ask questions years later.

And most importantly, you have to use tabs instead of spaces. ::sigh::

It's a great tool for some things, just like anything else. But I'd be careful about using it as your default.

1 comments

Make is arcane and it gets really gnarly when you use it to describe a large build.

I wouldn't want to use it for its intended use without first looking hard at modern alternatives. (perhaps starting here? https://github.com/ninja-build/ninja/wiki/List-of-generators... )

But for solving the problem of "where should we keep our developer command shortcuts?" (which you might answer with "shell scripts" or "a Rakefile"), I've found Make to be pretty great!

I do exactly the same for maven builds, for exactly the same reasons (Discoverable one-liners, bash autocompletion etc.). Added bonus: facade the XML (yuck) based config language of maven