Hacker News new | ask | show | jobs
by rat9988 2385 days ago
>It's there and has been used for decades for a reason.

I have always had problems to comply with such statements when the reasons aren't given.

1 comments

either the parent edited his comment or you haven't read it, you're quoting the only sentence that hasn't got a reason in it.
None of those reasons explain why a Makefile is any better than a scripting language.
Here's 3 reasons:

- Makefiles are a de-facto standard. People know them and those who don't can read how they work in 2000 tutorials. They shouldn't have to read your (and everybody's) custom (and different) script to build a project they've downloaded.

- Makefiles are specialised to the tasks of building, running tests, etc. A scripting language is general purpose. As such, it encourages adding all kinds of crap, from overcomplicated steps, to security issues.

- Makefile just needs make which is part of the core set for any distro and works fine on Mac and Windows (WSL or elsewhere) as well. Users shouldn't have to install a scripting language (or even a specific version of one) just to build a project.

Make is better than de facto; POSIX specifies it.
Thank you. I had to reread the comment two times to make sure I didn't miss something. Glad to see I'm not the only one.