I am a design chauvinist. I believe that good design is magical and not to be lightly tinkered with. The difference between a great design and a lousy one is in the meshing of the thousand details that either fit or don't, and the spirit of the passionate intellect that has tied them together, or tried. That's why programming-- or buying software-- on the basis of "lists of features" is a doomed and misguided effort. The features can be thrown together, as in a garbage can, or carefully laid together and interwoven in elegant unification, as in APL, or the Forth language, or the game of chess.
Almost nobody, looking at a computer system for the first time, has the slightest idea what it will do or how it should work. What people call an "intuitive interface" is generally one which becomes obvious as soon as it is demonstrated. But before the demo there was no intuition of what it would be like. Therefore the real first sense of "intuitive" is retroactively obvious.
[The Macintosh gave us] the abominable Hidey-Hole - called 'The Clipboard' - except that you can't see it, it holds only one item, and each item destroys the previous, in all other respects like a regular clipboard, except that there aren't any other respects. This is called a 'metaphor', meaning a stupid scrap of semblance on which bad software is built.
Computing has always been personal. By this I mean that if you weren't intensely involved in it, sometimes with every fiber in your body, you weren't doing computers, you were just a user. If you get involved, it involves all of you: your heart and mind and way of doing things and your image of yourself. A whole way of life.
The activity of programming can help make you more calm and confident. For some people it is excellent therapy, providing a series of small rewards and triumphs as the machine is tamed, step by step, to your intent. Unfortunately programming can also make you very neurotic: imaginative people tend to attempt extremely difficult programming tasks that go on and on.