I've been writing computer software for 25 years now, and recently I was reflecting on _what_ programming is. It's solving a puzzle (about how to manipulate data), and then telling a story about it. Once you can tell the story in a natural language (ex. English) you re-tell it using the language(s) of the computer.
-james.
--
c2.com/cgi/wiki?JamesStansell