Finally a decent alternative to make?
github.comPlease don't editorialize submission titles. It's against the HN guidelines. This is a link to the go-task/task repo, which describes itself as a "Simple task runner / Make alternative written in Go".
I hate to break it to the author - despite the effort put in, task is solving the wrong problem. The biggest problem in build systems is not the syntax, it's dependency management and reproducibility.
Buck / Bazel and to a very minimal extent make, get this right. There are pattern match rules and extensibility rules. The dependency graph largely works.
Task is trying to be a decent make alternative, but it's solving a years old problem. The next problem in build systems needs more thought and execution.
Best wishes, Divye
I disagree. Makefile syntax has been a barrier to entry for many engineers I've worked with. When I saw this I got very excited. I haven't used it yet, but I'm looking forward to playing with it next week.
I find that hard to believe.
I have replaced many multi page build.sh/dev.sh scripts with a 20 line or less Makefile using nothing more than the syntax above.target: dependency make_it_soYes the tab thing is stupid, vim makes it not matter.
Don't get me wrong, I love make, but I also can admit it's old and has some legacy warts. Phony targets, double dollar signs, the tab thing you mention. I've learned to be ok with it, but I've seen it be a barrier to adoption.
I'm not saying it should be a barrier, I'm saying it is a thing I have experienced in my career.
It sounds like you're both using it for different purposes. What the parent commenter meant is that this doesn't completely overlap with Make's feature set.
Make has intrinsic knowledge about how to build, compile, detect changes and recompile source code, and more. If you're using make solely as a task runner then yes, this could be a much more developer-friendly replacement.
Yes, it's a decent syntax sugar alternative for the kids. But it's not going to win if it doesn't solve the real problem: reproductive builds. A problem that CMake (and similars) are really trying to solve.
What about tup? http://gittup.org/tup/
There's a million decent alternatives to Make. None of them are installed as standard software on every Unix-like system.
except perl