3 ms·
No, it's mostly because the Makefile grammar is incredibly well suited to any of the things you've mentioned -- it's just seen as "old", and most people don't k
by endlessvoid94 15y ago
No, it's mostly because the Makefile grammar is incredibly well suited to any of the things you've mentioned -- it's just seen as "old", and most people don't know it anymore.
It's neither legacy nor voodoo. Your statement that if you suggest using one tool in place of another makes you something besides a hacker is incomprehensible.
PUppet/chef/capistrano are specialized versions of Make. Rake is a misnomer, as it's just a collect of "tasks". Again, it's a subset of what Makefiles can do.
It's a little bit like using Lisp -- it's a "dilapidated", "old" tool but most modern tools are subsets of it in some manner.
- batista 15y agoNo, it's mostly because the Makefile grammar is incredibly well suited to any of the things you've mentioned -- it's just seen as "old", and most people don't know it anymore. It's not just seen as old. It is old, and not in a good way. The only thing it has got going for it, is being generally available. Make has poor support for many common needs. For example, it doesn't track dependencies itself. It lacks proper namespace support. The whitespace rules can get you. It lacks higher level constructs that one can build with other tools. You can't programmatically introspect the make script to see how it goes or debug it if it behaves unexpectedly. It doesn't know anything about the stuff you're working with -- i.e you're stuck with plain old command line instead of smart context based scripting ("now I want to update some configuration file", "now I want to sftp stuff", "now I want to ... on a non POSIX machine", "now I want to interface with a database"). It's also bad for managing multiple different environments, leading to the autotools et co development. Your statement that if you suggest using one tool in place of another makes you something besides a hacker is incomprehensible. A hacker should use the right tool for the right job. So, yes, using one tool in place of another (that fits better) makes you less of a hacker, at least in the tool selection aspect. PUppet/chef/capistrano are specialized versions of Make. Rake is a misnomer, as it's just a collect of "tasks". Again, it's a subset of what Makefiles can do. And C, Lisp, Haskell are just specialized versions of what assembly can do. This is beside the point, which is those tools are better for their perspective uses (and the tool mentioned in the post link is not about building C projects).