2 ms·
There are make competitors written in Python (and other good scripting languages). SCons is built in Python and its equivalent to makefiles are written in Pytho
by SwellJoe 9y ago
There are make competitors written in Python (and other good scripting languages). SCons is built in Python and its equivalent to makefiles are written in Python. Cons, from which SCons was forked/derived/something, is in Perl and Perl is its scripting language.
Plain old Python (or whatever) is missing any notion of dependencies (so you'll re-implement a topological sort in every large project), file identity (so, you're either checking timestamps or hashing them or something to know when files have changed), and probably some other stuff. You're kinda doomed to reimplement half of make poorly every time you start a new project, and you'll find out which half as your project grows.
Some of the things that "modern" build tools from a decade or two ago implement has since been implemented at the language level...so, while SCons can do things with remote dependencies, you wouldn't need/want that in a Go/Rust/JS/whatever project because they all already have their own dependency resolving package managers.
That's not to say make is ideal. But, a scripting language alone is probably less ideal.
References:
http://scons.org/ http://scons.org/
https://www.gnu.org/software/cons/ https://www.gnu.org/software/cons/