4 ms·
> the platonic ideal of development is: > make # Build the project > make install # Install the project > make clean # Clean the project build dir(s) IMO, t
by ParetoOptimal 3y ago
> the platonic ideal of development is:
> make # Build the project
> make install # Install the project
> make clean # Clean the project build dir(s)
IMO, that last step of cleaning is very not platonic ideal. However... maybe a reality of incremental development?
The first step for me in a lot of cases is just trying a project to see if it's worth my time, typically that would just have been:
cd /tmp
git clone http://foo/some/project.git http://foo/some/project.git
cd project
# build steps, perhaps in a good case your make example above, a dockerfile, or nix flake
These days though I'm ecstatic when I see a Nix flake because I can reduce that to:
nix run github:some/project
Then for development I could even avoid cloning things myself (and sometimes do) with:
nix develop github:some/project
cd /tmp
unpackPhase
Make some change:
genericBuild
I guesss all this to say my platonic ideal includes getting more busy work out of the way and at least in the case of building, not having to worry about cache affecting reproducibility.
I guess all of the above is to try and express my different idea of platonic ideal here and how Nix gives it to me (and could perhaps to you, for a cost).
- layer8 3y agoIf nothing else, make clean is useful to recover disk space not needed anymore, which can be substantial. It’s like deleting a cache or a tmp directory. It can also help to fix the build process by resetting it if something got stuck in the wrong state, but that’s not necessarily the primary purpose.