Why I Love Coding | Henrik Warne's blog
Henrik Warne's blog
Thoughts on programming…
Skip to content
Home<br>About
← Coursera course review: Design and Analysis of Algorithms I
Programmer Productivity: Emacs versus IntelliJ IDEA →
Why I Love Coding
Posted on June 2, 2012 | 22 Comments
I love coding. Ever since I bought my first computer (a VIC-20), I’ve been fascinated by computer programming. For many years I never thought of why I enjoyed it so much – I just knew I did.
But that changed when I read The Mythical Man-Month by Fred Brooks. Most people associate that book with Brooks’s law: adding people to a late project makes it later. But for me, that is not the best part of the book. The best part is one page at the end of chapter one, entitled The Joys of the Craft.
There, Fred Brooks quite eloquently put into words what I love about coding.
1. The sheer joy of making things. Programming is fundamentally about creating solutions to problems. At the end of the day, you have created something that didn’t exist that morning, and that is in and of itself satisfying.
2. The pleasure of making things that are useful to other people. One of most satisfying aspects of the job as a programmer is seeing code you wrote deployed in a live system and used by actual people, especially if it improves their lives in some way.
3. 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. Very well put. Not only do programs have complex structure and dependencies, there is also the dynamics of the interaction between the parts as the program executes. The ultimate puzzle indeed!
4. The joy of always learning, which springs from the nonrepeating nature of the task. While constructing the program you constantly expand your understanding of both the problem and the solution. In addition, there is almost no limit to what you can learn to improve your craft – languages, algorithms, methodology, tools, frameworks.
5. The delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of imagination. Easily my favorite in the list – insightful and wonderfully formulated. And he goes on to note that "yet the program construct, unlike the poet’s words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself". Yeah!
To these five excellent points from Fred Brooks I would add:
6. The expressiveness of code. It sounds counter-intuitive, given the strict specification of a programming language, and the relatively few constructs it contains (compared to a natural language like English), but there is almost an infinite number of ways to write a program to solve a given (non-trivial) problem. First and foremost, you as a coder name classes, methods and variables. But you also decide the algorithm, the partitioning of the logic, and finally the layout. All these factors combine to give the programmer great freedom in expressing the solution in code.
There – six reasons why I love coding!
Share this:
Share on X (Opens in new window)
Share on Facebook (Opens in new window)<br>Facebook
Share on LinkedIn (Opens in new window)<br>LinkedIn
Like Loading...
Related
This entry was posted in Programming and tagged coding, creativity, love, programming. Bookmark the permalink.
← Coursera course review: Design and Analysis of Algorithms I
Programmer Productivity: Emacs versus IntelliJ IDEA →
22 responses to “Why I Love Coding”
E-skills4Future
June 2, 2012 at 3:09 pm<br>Reply
Love this! Thanks for sharing your thoughts on why you love coding, posts like these are exactly what is needed to get more people interested in learning e-skills. Mind if I reblog?
Henrik Warne
June 2, 2012 at 3:36 pm<br>Reply
Thanks! Yes, you can reblog it.
E-skills4Future
June 2, 2012 at 3:42 pm<br>Reply
Reblogged this on E-skills4Future – stories about e-skills.
downhousesoftware
June 29, 2012 at 4:20 pm<br>Reply
Great post. I learned to love coding on my TI-994A (Not the best machine in the world but you have to use what you have). The memory of loading simple programs from cassette tapes still actually makes me smile.
I was sure I was going to be a programmer back then, but something happened that separated me from it only to come back almost 30 years later to make a new start.
I would emphasize #4 – the joy of always learning. I’ve often thought that learning a computer language, just like any other language, gives you a new perspective to think about the world from. I especially like the way that coding seems to make the impossible possible.
Eric
September 13, 2012 at 11:01 pm<br>Reply
I think that this, along with a lot of your other posts, would be well-received by our audience of advanced devs...