5 ms·
That's a fine opinion, but I haven't found a more widely available tool to describe a project "recipe", where project is written in one or more, of many possibl
by antipaul 3y ago
That's a fine opinion, but I haven't found a more widely available tool to describe a project "recipe", where project is written in one or more, of many possible languages
* Snakefile -> requires installation
* bash -> macOS is now ZSH. (Is bash a better choice than Make?)
* python -> what if I'm not using python?
What else is as "accessible" as Makefile?
EDIT: formatting
- jjnoakes 3y agoThe Makefile is going to be running external commands, no? So you still have the same problem (what are those external commands written in?) - whatever the answer to that question is, your task runner could be written in as well, probably. At least, that's how I prefer to do it. A project that's heavy JS? Use a JS task runner. Heavy python? Python task runner. Heavy shell? And so on.
- alwillis 3y ago> A project that's heavy JS? Use a JS task runner. Trying to keep up with JS task runners for web projects is why I started using Make and haven’t looked back.
- jjnoakes 3y agoSure but if a developer already has a JS runtime and they don't have Make installed, you've added unnecessary friction to the development process. I hate JS as much as the next guy, but if I'm developing in JS, I use a JS task runner. Even a simple one. There's not much to "keep up with" IMO - they are quite easy to create and use, if the common/popular ones are missing features or move too fast for you.
- taeric 3y agoI have seen few hells as bad as "just use the target runtime for build."
- jjnoakes 3y agoIt can be done well though, and when it is, it removes friction from the development process.
- paulddraper 3y agoStep 0: Ensure your project only uses one thing.
- Izkata 3y ago> * bash -> macOS is now ZSH. (Is bash a better choice than Make?) Makefiles don't run code themselves, the recipe is written to a file and executed using "sh" (at least by default, the shell to use is changeable).
- pasc1878 3y agoThe issue for bash is also the issue for Makefiles. make is not part of the default macOS install - You need to install developer tools - which I suppose if you are a developer is OK. As for bash as it is an old verion on macOS you need to stick to a simpler subset - better write as sh. So sh seems to be the most general. Then consider Windows - ah ... You are going to have to install something. Shells don't run natively and how do you get snakefile or just. So python or make are the cross platform tools you have