For me there are two primary joys to software. The first is the creation of something real in the world. The first time I created a successfully running program (a very! long time ago), I thought that this was the closest a man could come to knowing what it was like to give birth.
The second is the joy of abstraction. It's probably the same for physicists: the realization that there is an abstraction that incorporates a number of previously disparate elements as special cases. It's like climbing a mountain. At each level, one gets a better view of the terrain. But at each level one catches glimpses of yet higher peaks with better views.
Computer science has been called applied philosophy. It's the only discipline that has created languages that can both (a) represent ideas in one's head and (b) produce results in the physical world. Software is the externalization of thought in a symbolic and executable form. No other discipline can claim anything like that.
Sunday, April 01, 2007
The joys of software
Steve Hsu has a blog called Information Processing. He has a piece about software. I left the following comment—toward the bottom. (It's his picture to the right, but my comments follow.)