3 ms·
> Apparently someone at Bell labs needed a preprocessor and wrote M4, sometimes in the '70, for no other greater purpose than to scratch a personally itch. Tha
by zokier 3y ago
> Apparently someone at Bell labs needed a preprocessor and wrote M4, sometimes in the '70, for no other greater purpose than to scratch a personally itch.
That covers pretty much all of unix. Some people treat unix as if it had some grand design behind it, but really most of it is just a pile ad-hoc hacks stretched way beyond their original intent and later immortalized by backwards compat and inertia.
- chipdart 3y ago> That covers pretty much all of unix. I think Unix critics completely miss the point. Contrary to your claim, Unix's basic architecture principles were proven to be key to it's success. Contrary to your claim, this does not mean each tool and interface defines the gold standard for operating systems. Since then we have half a century of advances in ergonomics, developer experience, and software engineering, which Unix developers didn't had back then. More importantly, what you are missing is the myriad of alternatives to Unix that were developed since Unix was specified in POSIX, and how each and every single one of them is an utter and complete failure in representing a better alternative to Unix. A lot of them claim to do things in a better way, but in practice none of them ever delivered anything remotely capable. Unix is the poster child of "x is the worst, except for every single other alternative".
- musicale 3y ago> someone at Bell Labs "Kernighan and Ritchie then joined forces to develop the original m4, described in “The M4 Macro Processor” Those nobodies. What were they thinking? > for no other greater purpose than to scratch a personally itch "The Brian Kernighan and P.J. Plauger book Software Tools, Addison-Wesley (1976), describes and implements a Unix macro-processor language, which inspired Dennis Ritchie to write m3"[1] "Originally, the Kernighan and Plauger macro-processor, and then m3, formed the engine for the Rational FORTRAN preprocessor, that is, the Ratfor equivalent of cpp. Later, m4 was used as a front-end for Ratfor, C and Cobol."[1] If the m3/m4 folks wrote a whole "Software Tools" book and then used m4 as a front-end for multiple languages, it sounds like it served a useful purpose. [1] GNU M4 manual section 1.2, "Historical References"