Code Craft
The art, science and craft of writing quality software

Aug. 24, 2005 - Inspiration

Why do we write software?  What drives us to put finger to keys and create something?  There are basically two classes of answers I hear 1) it´s a great job (== $) and 2) I just love writing programs.  If you could read people´s minds I bet you would find that the best programmers all pick answer number two.  You would also find that most programmers pick answer number one.

 

One of the things that most motivated me to become a programmer was a book my father gave me when I was around 13 (23 years ago).  It was called Etudes for Programmers and I rank it as the best book most programmers have never read (and probably never will).  Written by Charles Wetherell  in 1978, it presents a series of classic programming problems including the map coloring problem, programs that output their own source code, and a lot of other very interesting and sometimes very hard problems.  Its tone is light, it's easy to read and impresses you with the power of algorithms and the power of writing code.  It is not a vain puzzle book.  If you can solve the problems in Etudes unaided you are well on your way to being a great engineer.  As I went to write this I discovered that I was not alone in my appreciation for this forgotten book.  EBay has auctioned them for $270 and frankly it´s worth the money.


 

I checked programming books on Amazon and found that the number one programming book (at this moment) is Head First Design Patterns.  You can´t meaningfully compare Etudes with a book that sells itself like this:

Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter.

 

With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts.

It´s not worth a link.  Just above Java for Dummies (maybe).  If my dad had given me this instead of Etudes I might just be driving a truck today. 

Post A Comment!

Aug. 24, 2005 - Second Edition of "Etudes" planned

Posted by Anonymous
I've started a project to get "Etudes" back into print again. I'm in contact with the author and he got the copyright back from Prentice Hall, but we still need to negotiate a publishing contract. Updates to the project can be found at http://bookfix.com/books

-fix
Permanent Link

Aug. 24, 2005 - Woohoo!

Posted by Kevin Barnes
That's great news.
Permanent Link

Aug. 26, 2005 - hehe

Posted by Sergio
Great post.
Permanent Link

Share and enjoy
  • Digg
  • del.icio.us
  • DZone
  • Netvouz
  • NewsVine
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • YahooMyWeb
<- Last PageNext Page ->

Kevin Barnes

Code Craft is the place for my thoughts, rants, ideas and occassional jokes on what it means to write code, why some people are better at it than others, and how we think about software in general.

Links

Home
View my profile
Site Feed (RSS)
Archives
Email Me
StorePerform
TechNexxus
Soul Craft (my stories and discussions)
My Wall

Joel on Software
Paul Graham
Patric Logan
Martin Fowler
Free Blogs
Free Blog



Copyright (C) 2005, Kevin Barnes. All rights reserved.