Mathias Brandewinder on .NET, F#, VSTO and Excel development, and quantitative analysis / machine learning.
by Mathias 21. February 2010 13:36

Who should get this book

This book is definitely for programmers. It’s a series of 15 lively interviews with legendary figures in software development, covering question ranging from what makes code beautiful to how to recognize a good programmer. If you are interested in the history of the young field of software, and want to get some perspective from highly respected people in the area, this book is for you!

3 things I enjoyed about it

Hear what the Masters have to say: every developer has his/her opinion on what good code is, whether comments are good or bad, or how to debug a program. This book gives you the opportunity to hear what people who really know what they are talking about think about this. Chances are, you won’t be able to talk about this with Donald Knuth around the water cooler and hear his take – you’ll get that with this book. Furthermore, having 15 different takes on similar questions provides an interesting way to compare views, and see where everyone agrees, and where there is disagreement.

A lively discussion: full credit goes to the author, Peter Seibel. He is a great interviewer, and has solid credentials as a developer, and it shows. He asks great questions, and the excitement of the discussion shows in the book. It’s also full of anecdotes and stories from the trenches, and fantastic quotes, making it a really entertaining read.

Literate programming: I was at least familiar with most topic discussed in the book, but I had never heard of literate programming before. Most of the interviews discussed this approach to programming, and generated interesting discussions - and made me curious about it.

3 ways I would have liked it better

Old school: I often feel that I started computing in the Dark Ages. I mean, my first computer had no mouse and hard drive, and its floppy drive made it cutting edge. Most of the guys in the book have worked with punch cards, and talk about devices which I can’t even begin to imagine the purpose of (rotating cylinders?). On one hand, it makes for great anecdotes, and gives a broader perspective on software development. On the other hand, it felt a few times like what they are describing is a bit disconnected from my own experience.

Length: I really enjoyed the book, but I had to read it by small installments. As much as I am a geek, there is just that much I can read about this in one single day!

… and I couldn’t find a third criticism.

Final thoughts

I really enjoyed that book, and would recommend it to anyone who is interested in software development, and its history. There are two points that I found intriguing in the book. First, no one seems to like C++ – which came a bit as a surprise to me. I don’t use C++ myself, but I naively thought that as a widely used OO language, it would have supporters. It doesn’t seem to be the case. The other point I found interesting is that the idea of design patterns was shot down by quite a few people, with arguments along the lines of the architecture astronaut criticism dear to Joel Spolsky. I definitely respect that opinion, but I wonder if this is generational, and has to do in part with developers used to work with low-level languages, in a time when low-level concerns mattered more than today.

Comments

3/4/2010 3:39:25 AM #

Bob Phillips

Good stuff, history is just as relevant to cutting edge technology as it is to politics,in reality so many things are just re-hashing.

I certainly recall punched cards. In those days, you would write the program, get it punched overnight/overweek, and then compile it. Invariably you had compilation errors, so you either punched your own corrections, or submitted them to the data centre for another overnight cycle. I well remember pushing the bits back into holes so as to change the characters whilst avoid re-punching them.

I also worked on paper-tape, I remember one tape which was output from SWEDA machines that we had to read in backwards, I forget why, but just imagine trying to assemble the data from paper-tape backwards.

I don't crave returning to those days, coding is a lot simpler and more fun nowadays, but it certainly made you think about what your program should do, and test it away from the machine as these actions were quicker and more fruitful than doing everything online (a teletype terminal). I like to think it made me a better programmer, and is the foundation of my belief that an hour spent on design is worth 10 hours of diving straight into coding.

Bob Phillips United Kingdom | Reply

3/4/2010 8:17:00 PM #

mathias

Thanks for the comment, Bob!
You know, some of the devices from the old days sound so strange to me, I almost wish I could have a one-afternoon workshop on how it was to write programs in the punch-card era, or even for machines with no keyboard (someday, I also have to learn how to use an Abacus!)... It seems that "old-timers" just have a deeper understanding of how the machine "really" works. Of course, it might also be that the authors are top, top notch Smile
I see where you are coming from about thinking before coding. Being able to compile/run quasi-instantaneously is nice, in that it allows quick feedback and experimentation, but it can (often?) result in a random proliferation of code, too.
You can actually feel a bit of this crossroad between 2 eras in the book, with discussions revolving around the question of whether it's still important to know low-level stuff, and whether today's developers, who need to learn gigantic frameworks, can and should dig deeper.

mathias United States | Reply

3/6/2010 10:23:48 AM #

Bob Phillips

I am not sure Mathias. I am happy that I went through my learning curve, it hasn't hurt me at all and it has been interesting. But in reality, I think a good programmer will develop good skills and good practices whatever the era, just as a poor programmer will develop bad practices (I was a Cobol programmer for a while, and one of my colleagues declared their variables a,b,c, etc. I use i and j for disposable counters but that is going too far).

As to strange, when we started using Tandems (my company was the first UK company to buy a Tandem) we had to manually boot it, running a cycle of toggleswitches. Get one wrong, and it was back to the beginning. Imagine trying to boot the machine at 8:00am on a Mondxay morning as the users come in, and they need to verify millions worth of telexes ... there's pressure Smile

Strangely, I was on Mike Woodhouse's blog today (Grumpy Old Programmer)and noticed he also reviewed that book. As you say, these guys are top notch, any serious developer cannot fail but be impressed. I read a book on Steve Wozniak (my coding hero) a while back, the guy is great. I would love to read a similar book on Paul Allen.

Anyway, this is a great blog, keep up the good content, I am enjoying it.

Bob Phillips United Kingdom | Reply

3/7/2010 1:40:29 PM #

Mathias

Wow. Given that it takes my brain a good hour to boot (and that's in a good day, with a fair amount of caffeine involved in the process), a device requiring more than just pushing a button to boot does sound like a recipe for disaster in my hands. It is probably a good thing I am born after that period, after all Smile
As for good and bad developers or development habits, I absolutely agree. People will keep writing awesome or horrendous code, and knowing the inner workings of the machine very probably doesn't make a difference! But I find it interesting that today, developers just can't know all about their machine and language the way they could not so long ago - and have to know about more and more frameworks, to decide which one is right for the job.
Thank you very much for the words of encouragements, this means a lot to me. VSTO is not the only topic I write about, but it is a recurring theme, and it's a bit on the fringe for both .Net and VBA developers, so sometimes it feels a bit lonely out there.
And I too read the Grumpy Old Programmer regularly - it's a great blog, and I like that the technologies covered are eclectic!
Mathias

Mathias | Reply

12/4/2011 10:27:13 AM #

Poke de Koningsman

How much does it cost? The book ofcourse Tong LOL

Poke de Koningsman Netherlands | Reply

12/4/2011 10:28:13 AM #

Tandarts Almere

I'm sorry I see the link to Amazone, thanks anyway!Tong

Tandarts Almere Netherlands | Reply

6/28/2012 12:06:30 PM #

pingback

Pingback from fittravelsynonym.radioonthenet.mobi

Asteroid hunters announce first private deep space mission | Fit Travel Synonym

fittravelsynonym.radioonthenet.mobi | Reply

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading



Comments

Comment RSS