|
Unix Programming - What Unix Gets Right - Unix Is Fun to Hack
Unix Is Fun to Hack
People who pontificate about Unix's technical superiority often
don't mention what may ultimately be its most important strength,
the one that underlies all its successes. Unix is fun to hack.
Unix boosters seem almost ashamed to acknowledge this sometimes,
as though admitting they're having fun might damage their
legitimacy somehow. But it's true; Unix is fun to play with and
develop for, and always has been.
There are not many operating systems that anyone has ever
described as ‘fun’. Indeed, the friction and labor of
development under most other environments has been aptly compared to
kicking a dead whale down the beach.[8] The kindest
adjectives one normally hears are on the order of
“tolerable” or “not too painful”. In the Unix
world, by contrast, the operating system rewards effort rather than
frustrating it. People programming under Unix usually come to see
it not as an adversary to be clubbed into doing one's bidding by main
effort but rather as an actual positive help.
This has real economic significance. The fun factor started a
virtuous circle early in Unix's history. People liked Unix, so they
built more programs for it that made it nicer to use. Today people
build entire, production-quality open-source Unix systems as a
hobby. To understand how remarkable this is, ask yourself when you
last heard of anybody cloning OS/360 or VAX VMS or Microsoft
Windows for fun.
The ‘fun’ factor is not trivial from a design point
of view, either. The kind of people who become programmers and
developers have ‘fun’ when the effort they have to put out
to do a task challenges them, but is just within their
capabilities. ‘Fun’ is therefore a sign of peak
efficiency. Painful development environments waste labor and
creativity; they extract huge hidden costs in time, money, and
opportunity.
If Unix were a failure in every other way, the Unix engineering
culture would be worth studying for the ways it keeps the fun
in development — because that fun is a sign that it makes
developers efficient, effective, and productive.
[an error occurred while processing this directive]
|