Comment by lawl
7 years ago
I havent read the entire thing yet, but reading from "replacing fork" to the end it reads too much like embrace extend extinguish.
7 years ago
I havent read the entire thing yet, but reading from "replacing fork" to the end it reads too much like embrace extend extinguish.
It's suggesting posix_spawn, which is standardized and has nothing to do with Microsoft.
> Just as a programming course would not today begin with goto, we suggest teaching either posix_spawn() or CreateProcess(), and then introducing fork as a special case with its historic context (§2).
Or CreateProcess(), which has a lot to do with microsoft.
It really doesn't. Microsoft employs a guy named Dave Cutler who is credited with leading the development of Windows NT in the late 80s/early 90s. They hired him from DEC, where he... is credited with co-leading a research project that later became VMS. If you go look at OpenVMS programming manuals, you will see process creation calls (e.g. SYS$CREPRC, LIB$SPAWN) that look and behave a lot like CreateProcess().
I think it's well-known that Windows NT took a lot of ideas from VMS.
https://en.wikipedia.org/wiki/Dave_Cutler https://docs.microsoft.com/en-us/windows/desktop/api/process... https://www.itec.suny.edu/scsys/vms/OVMSDOC073/v73/5932/5932... http://www.itec.suny.edu/scsys/vms/OVMSDOC073/v73/5841/5841p...
I don't think we should ever forget how MS behaved through the mid 2000s. But we don't live in that world anymore, they aren't (capable of being) that company anymore, and I think we're at a point where dismissing research because of a connection to MS is not protecting anyone from anything.
2 replies →
Yeah, if you're using Windows you aren't going to be able to use it. Or are you suggesting that Microsoft should implement posix_spawn?
6 replies →
It's just the equivalent, not EEE.
Nowhere there did the authors "embrace" fork(). Quite the contrary.
While the article points out that the NT kernel natively supports fork, it certainly isn't arguing for any extension of the call.
So all we're left with is "extinguish", which this article certainly does. And it is persuasive. I will look at posix_spawn() for my own code in the future.