- Mastering Node.js(Second Edition)
- Sandro Pasquali Kevin Faaborg
- 243字
- 2021-07-02 19:28:37
POSIX
POSIX, the Portable Operating System Interface, defines the standard APIs for Unix. It's adopted in Unix-based operating systems and beyond. The IEEE created and maintains the POSIX standard to enable systems from different manufacturers to be compatible. Write your C program using POSIX APIs on your laptop running macOS, and you'll have an easier time later building it on a Raspberry Pi.
As a common denominator, POSIX is old, simple, and most importantly, well-known to developers of all stripes. To make a new directory in a C program, use this API:
int mkdir(const char *path, mode_t mode);
And here it is in Node:
fs.mkdir(path[, mode], callback)
The Node documentation for the filesystem module starts out by telling the developer, there's nothing new here:
File I/O is provided by simple wrappers around standard POSIX functions.
https://nodejs.org/api/fs.html
For Node, Ryan Dahl implemented proven POSIX APIs, rather than trying to come up with something on his own. While such an attempt might be better in some ways, or some situations, it would lose the instant familiarity that POSIX gives to new Node developers trained in other systems.
In choosing POSIX for the API, Node is in no way limited to the standards from the 1970s. It's easy for anyone to write their own module that calls down to Node's API, while presenting a different one upwards. These fancier alternatives can then compete in a Darwinian quest to prove themselves better than POSIX.