Hacker News new | ask | show | jobs
by robbyt 2385 days ago
Make is available everywhere that matters, and is a simple declarative way to encompass build actions. What are the alternatives?

Bash? Not declarative, and requires lots more code.

Some go rewrite of Make? Not universal, possibly not maintained in the future.

Rake? Ugh, Ruby.

I strongly believe that make is the least worst way to build go projects, but please change my mind by suggesting some alternatives, not by complaining about the shortcomings of make.

2 comments

This is patently untrue. Make is not available by default on Windows, which - whether you like it or not - matters as a platform for a large number of developers.

_Fortunately_ some CI images (certainly GitHub Actions and Azure DevOps) install GNU Make on their windows images by default, but it absolutely cannot be assumed for average developers.

For the sake of this argument, windows support doesn't really matter.

If you're forced to use Windows for a job- that sucks. You're probably used to doing lots of silly things just to get a reasonable development environment.

It's like saying Make is a bad system because it doesn't support left-to-right languages like Hebrew or Arabic.

While I have in the past shared this view (and vocalised it at Microsoft events...), I’m not so sure that dismissing the majority operating system is such a good idea if you want a project to gain traction.
"Available" and "available by default" are two different things, and GP didn't claim the latter.
Well, by default, nothing is available on windows.
> Bash? Not declarative, and requires lots more code.

Most uses of Make outside of C are not declarative either. They tend to just be full of phonies and would be better served by a "$@" Bash script.