Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It does not make perfect sense. It’s nearly 50 year old software and its design shows it. The basic concepts are perfectly reasonable, but the grammar is not what someone would invent today (see: Bazel).

And until recently-ish, there wasn’t a great alternative that let end users run the equivalent of `make build && make test`, but without using Make. That’s why so many people abused it so: it seemed so close to being handy and convenient. And then someone comes along and runs `touch test` and `make test` doesn’t run tests anymore because no one knew they had to label that target as PHONY.

That’s the kind of stuff that got me all-in on Just from the beginning. It “feels” kind of like Make in the nice ways, but optimized for scripting instead of for building C projects. What a breath of fresh air! And as mentioned elsewhere, for me, Mise came along right behind it and gave us do-everything tool that’s nearly ideal for the kinds of non-C projects I work on now in Rust, Python, and TypeScript.



When you’re using PHONY, you’re using the wrong tool for the job imo. (That means most people)

Just is a task runner, doesn’t do file dependencies / “derived files”

Make is the exact opposite. It’s completely based on files, and their derivatives.

Make will (well should) skip already compiled files, speeding up compilation if you’ve only changed 1 of 100000 file into ann object instead of waiting an hour, and go straight to linking.

Just is nice. But they are two different tools, that just happen to share the fact that they have some sort of dependency tree.

The tooling is 40 years old. It’s been long over due, but it’s ubiquitous.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: