Hacker News new | ask | show | jobs
by chasinglogic 1151 days ago
Man I love Make. But recently started a new job and we decided to use Just* and it's been fantastic. I doubt I would use Make again unless I was planning to use it as a real build system (which has been the minority use case of my use cases in the last 5 or so years).

* https://github.com/casey/just

3 comments

Same, except I do not love make. Love did not grow in the three years I have had to use it for C and C++ building and as a command file. I don't understand the love. There are so many footguns. Nothing you want from it is easy. `make` experts always tell you that your makefile is wrong even when it does what it is intended to and when you ask to see a good makefile, you're given a document you can barely understand even though you thought you had good `make` knowledge. Correct handling of header files needs files generated by the compiler the alternative being recompiling everything when you change one header file.

Run

I now use `xmake` for building (found love at last) and basic scripts or `just` for command files

I love make, personally, because no other system gives me the level of flexibility and power. I use it for all sorts of things that aren't even building code.

> There are so many footguns.

That's true. That sorta comes with flexibility and power.

> `make` experts always tell you that your makefile is wrong even when it does what it is intended to

I wouldn't do this. "If it's stupid and works, it's not stupid."

> Correct handling of header files needs files generated by the compiler the alternative being recompiling everything when you change one header file.

I'm not sure I understand what you mean here.

I suspect people love the concept of Make, not its implementation, that’s just Stockholm Syndrome after using it for too long. It does fit beautifully into the „everything is a file“ paradigm tho!

Never used Xmake, looks nice and clean - the Zig way seems promising as well…

Huge vote for Just from me as well.

It has revolutionised how I build my projects, particularly with monorepos and is a massive productivity booster when compared to manual task running.

I dont get it. Isn't "just" simply a "friendlier make" but only for linear pipelines that could have been simple bash scripts in the first place?

(in which case, why not just use a bash script to begin with?)