In my youth I loved to build things: rockets, rocket cars, telescopes, slot car tracks. Some of my favorite toys included the Edmund Scientific Kit, Erector Set, and the Visible Engine. All of this was before I got involved in computers and programming. I knew about computers from the early space program and from my dad’s work. I didn’t get to actually touch a computer until the fall of 1969 when I entered Cal Poly San Luis Obispo and wrote my first Fortran program. I’ve been hooked on computer programming from the time I experienced the successful output of my first program. The computer was the college’s IBM 360 model 40 computer. It was fun to be able to create a program from lines of source code. For the past 37 years I have continued to have fun playing about computer architecture, learning file systems, data structures, programming languages, compilers, operating systems and more. It has never stopped being fun.
Fred Brooks, in his book “The Mythical Man Month”, describes five reasons why programming is fun:
- The sheer joy of making things
- The pleasure of making things that are useful to other people
- The fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning
- The joy of always learning
- The delight of working in such a tractable medium
The is a good starting list of why programming is so much fun. Here are a few more reasons that I would add to the list:
- The enjoyment of working with other programmers in a team
- Being able to play with leading edge computer hardware
- Helping to debug complex software systems that someone else built
- Building developer tools that are useful to others and that I can use myself
- Meeting and communicating with top industry experts in our software field
- Being able to visit with our customers around the world
- I get paid to play
How about you? Why is programming fun?