Linked by Thom Holwerda on Fri 25th May 2012 14:55 UTC
General Unix James Hague: "But all the little bits of complexity, all those cases where indecision caused one option that probably wasn't even needed in the first place to be replaced by two options, all those bad choices that were never remedied for fear of someone somewhere having to change a line of code... They slowly accreted until it all got out of control, and we got comfortable with systems that were impossible to understand." Counterpoint by John Cook: "Some of the growth in complexity is understandable. It's a lot easier to maintain an orthogonal design when your software isn't being used. Software that gets used becomes less orthogonal and develops diagonal shortcuts." If there's ever been a system in dire need of a complete redesign, it's UNIX and its derivatives. A mess doesn't even begin to describe it (for those already frantically reaching for the comment button, note that this applies to other systems as well).
Thread beginning with comment 519486
To read all comments associated with this story, please click here.
Wouldn't exactly call it a counterpoint...
by Yamin on Fri 25th May 2012 20:43 UTC
Yamin
Member since:
2006-01-10

I wouldn't exactly call the two arguments counterpoints. They seem one in the same. The second post by Cook merely explains why we have created machines of complexity.

I think Cook does a pretty good job of it by showing the 3 points of Unix philosophy.

1. Write programs that do one thing and do it well.
2. Write programs to work together.
3. Write programs to handle text streams, because that is a universal interface.

I'd actually suggest people don't really like all 3 all the time. Many people don't like text streams and would prefer table or other more explicit format.. or in the case of programs calling programs... needless encoding and decoding and text grabbing.

But the same is true of course of Windows. Windows had an ideology of centralization (registry, event logger...)... but many people and programs didn't like it and this resulted in complexity on its end. Especially in Windows this often resulted in weird convoluted ideas. The easiest to pick on was the add/remove program... but without any actual install/uninstall enforced standard format, it became a weird convoluted system.

Only by rigidly controlling your apps by some kind of approval process could you keep your ecosystem simple. Both Windows and Unix rejected any control of the system as a whole.

Reply Score: 8