5 ms·
> Make has deeply woven into it the assumption that the product of workflows are files You're referring to a standard Unix tool, an operating system where EVER
by geezerjay 9y ago
> Make has deeply woven into it the assumption that the product of workflows are files
You're referring to a standard Unix tool, an operating system where EVERYTHING is a file.
- Jtsummers 9y agoSometimes things in workflows are sending/retrieving data over a network. It may be turning on a light. It could be changing a database. Make has no way of recognizing those events unless you've tied them to your file system. Do you really want an extra file for every entry or table in a database? It becomes fragile and error prone. A real workflow system should use a database, and not the filesystem-as-database.
- geezerjay 9y ago> Sometimes things in workflows are sending/retrieving data over a network. It may be turning on a light. It could be changing a database. Make has no way of recognizing those events Why should Make violate basic software design rules and fundamental Unix principles? Do you want your build system to tweak lights? Setup a file interface and add it to your makefile. Do you want your build system to receive data through a network? Well, just go get it. Hell, the whole point of REST is to access data as a glorified file.
- ycombobreaker 9y agoThe filesystem is, and has always been, a database.
- lisper 9y agoBut it's not true that everything is a file. A row in a relational database, for example, is not a file, even in unix.
- geezerjay 9y ago> A row in a relational database, for example, is not a file, even in unix. Says who? Nothing stops you from creating an interface that maps that row to a file. That's the whole point of Unix. Heck, look at the /proc filesystem tree. Even cpu sensor data is available as a file.
- dozzie 9y agoHa, even eth0 is a file! You can open a network connection by opening this file! Erm... no, that doesn't work. Then a process! You spawn a process by opening a file! Erm... again, no. You want me to continue?
- anthk 9y agoIn 9front you can. You can even import /net from another machine. Bam, instant NAT.
- lisper 9y ago> Nothing stops you from creating an interface that maps that row to a file. That's true, nothing stops you, though it is worth noting that no one actually does this, and there's a reason for that. So suppose you did this; how are you going to use that in a makefile?