Sorry for the plug, but I can't help myself everytime I read about task managers to notice you have to learn yet another DSL. DSL are the plague of our field, for one that is useful like SQL, you have a hundred that turn your life into hell. Make's DSL is already full of gotchas, but templated YAML based DSL are just insanity. They have so many footguns, and so little flexibility and ability to be debugged. After try…
For Pythonistas or people interested in Python, I can't plug the commenter's newsletter enough: it is an absolute treasure trove of good advice for new and old users of Python. They did a whole series on the right way to install and use Python [1]. If you follow their advice you'll never struggle with any of the problems people complain of encountering with Python. [1] https://www.bitecode.dev/p/installing-python-the…
Taskfile: A Modern Alternative to Makefile
71–80 of 223 posts
Re: Taskfile: A Modern Alternative to Makefile
#72Sorry for the plug, but I can't help myself everytime I read about task managers to notice you have to learn yet another DSL. DSL are the plague of our field, for one that is useful like SQL, you have a hundred that turn your life into hell. Make's DSL is already full of gotchas, but templated YAML based DSL are just insanity. They have so many footguns, and so little flexibility and ability to be debugged. After try…
No need to apologise, I don't like YAML, I like Python, and I agree: I'd rather have a domain specific library than a DSL anyday. The best of both worlds is a good programming language that allows expressing domain specific libraries almost as if they were domain specific languages, without going so declarative that people don't know how to script anything anymore. I don't know if Python/doit really achieved that, bu…
But imagine having this in CI instead of YAML files.
Re: Taskfile: A Modern Alternative to Makefile
#73Naming isn’t consistent with what make does and why it’s called Makefile. Makefile is for make, which “makes files”. You don’t “task files” *file in general is wrong. Of course it’s a file
Re: Taskfile: A Modern Alternative to Makefile
#74Earlier quoted context omitted.
Why do you think they haven't evolved? Latest versions give you access to Guile scheme as an extension language, not to mention that they extended over time for quite a bit. But it is all backwards compatible so old makefiles still run.
Make has no way to opt into lots of greybeard "best practices" by default, and the syntax is still difficult to deal with. I want to keep the solver, which is pretty good. I want to keep the idea of targets, rules, recipes, which is what tools like Taskfile throw out that makes them not very attractive to me. I even want to keep a good chunk of the syntax for specifying these. But Make needs some kind of way to invok…
https://people.redhat.com/rjones/goals/ http://oirase.annexia.org/rwmj.wp.com/2020-01-goals-preview....
Re: Taskfile: A Modern Alternative to Makefile
#75I have coworkers who use this. They tried to make me use this too. I failed to see the point. It offers no benefits of a build system, no benefits of existing automation tools, comes with "bespoke" syntax and requires installing an extra program to run it. I have never tested it enough to discover things it does wrong, but given how new and not exactly popular this tool is, I bet there are lots of things it doesn't d…
I remember how I promoted Git over a decade ago, and I heard from the lead guy that “SVN does the same” and “there are no benefits of using branches” (he never used them). Please listen to your coworkers and don’t be that guy. Technology moves forward, make it great, but it’s time to move on.
Re: Taskfile: A Modern Alternative to Makefile
#76I don't understand this argument: "it's 47 years old" as a bad thing. If something has been around that long, does it not mean it is proof tested? The syntax of Taskfile looks more verbose to me than Makefile, which is basically a shell script in disguise. To note also is that you praise Devenv because of it being based on Guix (Guile scheme), while you ditch Makefile which also embeds Guile scheme as the extension l…
Can you use spaces in filenames with GNU make yet? Seems like a 47yo vestige when spaces in filenames weren’t really a thing…
Re: Taskfile: A Modern Alternative to Makefile
#77Re: Taskfile: A Modern Alternative to Makefile
#78So what does make (the took is not called Makefile, btw) "wrong". Where could one improve on it? 1. Syntax. Makefiles aren't parseable and have some at least unexpected syntactic properties. 2. Dependency detection: AFAIK any make will always use a timestamp and the precision varies a lot. A checksum or at least guaranteed resolution would be great. Also, you can't depend on directories. 3. Dynamics (this is going to…
- Multiple out file dependencies are also difficult to describe in make (GNU Make). There's a dedicated section for how to solve it in the manual[^1] but it's a crutch. - Taking environment variables into account as a dependency (they may affect Makefile logic and also code generation by tools that interpret them). [^1]: https://www.gnu.org/software/automake/manual/html_node/Multi...
Re: Taskfile: A Modern Alternative to Makefile
#79> Taskfile: It’s PHONY Makefile in Yaml
Re: Taskfile: A Modern Alternative to Makefile
#80Sorry for the plug, but I can't help myself everytime I read about task managers to notice you have to learn yet another DSL. DSL are the plague of our field, for one that is useful like SQL, you have a hundred that turn your life into hell. Make's DSL is already full of gotchas, but templated YAML based DSL are just insanity. They have so many footguns, and so little flexibility and ability to be debugged. After try…
Enter magefiles, I could use the same language in them as I could with my other code and stuff just worked.