

An Insight about Unix: It wasn't designed to be hard. - javajosh

The insight is simply that unix wasn't designed to be difficult. It wasn't designed. Unix commands exist in the kind of half-formed state that all software goes through, when the author knows it well, and has succeeded in scratching all his own itches. It works well for him because he <i>grew</i> it from a seed. He spends no time considering the impact this grown thing will have on people that did not start from this seed.
======
bediger4000
I don't buy this in the slightest. Given that Thompson and Ritchie had the
itch, and made Unix into whatever scratched the itch, then what about all the
transmutations since then? The BSD group, Unix System Labs, every company that
every made a commercial version, the GNU people, the Single Unix Specification
folks, etc etc, they've all modified everything: kernel, utilities, compiler,
etc.

Each group along the line got to experience the impact you mention, and do
things to either lessen or eliminate whatever impact the grown thing might
have on someone who didn't grow up with it.

And you can't give the "well, they just standardized what was in place
already" argument. Nobody was afraid to tinker. BSD group added sockets, VM, a
new filesystem. Unix Systems Lab added a new shell, Ksh. Every commercial Unix
vendor, from HP to IBM to SGI to Convex to Pyramid to SOlbourne to Sun, added
utilities, threading models, administration tools, windowing systems, blah
blah blah. Even the POSIX specification didn't quite match what was in place,
and the ANSI C 89 spec didn't match the ancient "K&R" C.

Enough people have had a hand in Unix (not to mention Linux and the various
FOSS BSDs) to sand off any rough edges.

Some things are just difficult. Operating systems are one of them.

------
codgercoder
Don't tar UNIX with such a broad brush. One of its important innovations was
allowing someone besides the system programmers to make commands that could be
used in exactly the same way system-provided commands could. A consequence is
that sometimes commands were created with less care than the whole system was,
or were inconsistent because there were made by so many different people.
Don't confuse a strength with weakness.

(It used to be, of course, that people knew the difference between the
operating system and programs that ran on it, but Microsoft confused that
forever.)

