This is a series of thoughts I wrote down a few months ago and have been meaning to formalize into an essay. Right now I'm just writing them down as they went onto the piece of paper so no being harsh! -- AdamShand
Programming will be the Kung Fu of the 21st Century
We won't ever have true virtual reality. What we will have, and do already to a certain extent, is mediated reality (aka. SteveMann and http://wearcam.org/).
Kung Fu is the ability to manipulate the physical world, programming is the ability to manipulate the virtual world. Just as few people are truely proficient at Kung Fu, not many people are truely proficient at programming. In proportion to the number of people that use computers, the percentage of people that are programmers is dropping every day (why languages like Python are a good thing) ... segue to MeatBall and LawrenceLessig and "responsibilty to code".
The false assumption is that computers are getting easier to use, they aren't they are getting much harder to use. However we are getting much better at using metaphors to facilitate human interaction with machines (eg. the recycle bin in windows).
As a kid using Apple Works to do my homework the main decisions I had were whether to double space it and if I should use a proportional font. At ten I knew what every key stroke and every feature in Apple Works did. At 27 and after nearly ten years of being a computer professional i can't use 80% of the features in Word and probably don't know what 50% of them even are. This isn't because I'm dumb but rather because I don't need to know and it's not worth the investment of time to learn. Honestly, I liked Apple Works (and Word Perfect 5.1).
The difference between syntactic and symantic knowledge.
As our world gets more and more mediated, and the ways in which computers effect our life become more invasive, programming will provide the ability to manipulate the world.
Computers provide human simplicity with the cost of underlying complexity. The more you give a computer a "human" interface the less it behaves like a tool (ie. UNIX vs. Windows).
Who the hell wants a drill that figures out where to drill for you? Or a car that drives for you? Well that answer is "a lot of people", most people don't want to learn how to use the tool, they want the result that the tool can provide.