About Duffbert...

Duffbert's Random Musings is a blog where I talk about whatever happens to be running through my head at any given moment... I'm Thomas Duff, and you can find out more about me here...

Email Me!

Search This Site!

Custom Search

I'm published!

Co-author of the book IBM Lotus Sametime 8 Essentials: A User's Guide
SametimeBookCoverImage.jpg

Purchase on Amazon

Co-author of the book IBM Sametime 8.5.2 Administration Guide
SametimeAdminBookCoverImage.jpg

Purchase on Amazon

MiscLinks

Visitor Count...



View My Stats

« Book Review - Medusa by Clive Cussler and Paul Kemprecos | Main| Book Review - Emotional Bailout! : Nine Principles for Rising when Your World Is Falling by Cathy Holloway Hill »

Book Review - Masterminds of Programming: Conversations with the Creators of Major Programming Languages by Federico Biancuzzi and Shane Warden

Category Book Review Federico Biancuzzi Shane Warden Masterminds of Programming: Conversations with the Creators of Major Programming Languages
A picture named M2

So you don't get to be a mastermind behind a widely used programming language without having a pretty deep knowledge of computer science (and quite a few other things).  But you *certainly* don't have to agree with other masterminds on what works and what doesn't.  This shows very clearly in the book Masterminds of Programming: Conversations with the Creators of Major Programming Languages by Federico Biancuzzi and Shane Warden.  They interview a number of the people behind some of the popular and influential computer languages and record those interviews for the reader.  I think what I found most interesting is that there's no "right" answer about what works and what doesn't, and much depends on what niche the language will end up covering.

Contents:
C++ - Bjarne Stroustrup; Python - Guido von Rossum; APL - Adin D. Falkoff; FORTH - Charles D. Moore; BASIC - Thomas E. Kurtz; AWK - Alfred Aho, Peter Weinberger, and Brian Kernighan; LUA - Luiz Henrique de Figueiredo and Roberto Ierusalimschy; Haskell - Simon Peyton Jones, Paul Hudak, Philip Wadler, and John Hughes; ML - Robin Milner; SQL - Don Chamberlin; Objective-C - Brad Cox and Tom Love; Java - James Gosling; C# - Anders Hejlsberg; UML - Ivar Jacobson, James Rumbaugh, and Grady Booch; Perl - Larry Wall; Postscript - Charles Geschke and John Warnock; Eiffel - Bertrand Meyer; Afterword; Contributors; Index

I found this wasn't the easiest book to read, as it got deep into some very esoteric topics, and the interviews were likely to go off in many different directions.  As such, it wasn't as if there were a set of questions that everyone answered so that you could directly compare and constrast topics and background.  Still, I found a couple of ways in which the book worked for the reader.  If you're into language design, Masterminds gives you some of the inner thoughts of people who have successfully built and rolled out a computer language that has been adopted for use by others.  One of the most revealing topics is how they all have dealt with the issue of upgrading and enhancing the language without breaking stuff that has been previously built.  As a language ages, it has more and more "cruft" from older features that are kept around for backwards compatibility.  The language developers are always walking that fine line between adding new features and making sure it will be supportable going forward.  You don't really get a chance to start over and correct your mistakes once they are part of a published version.

The second way you can read the book is to use it as a personality study of a language designer.  Geeks are not always known for being the most socially adept or "normal" of humans, and language designers seem to take that a step beyond.  These individuals appear to be totally consumed with their computer passions, and as such have very definitive personalities and viewpoints.  One designer might state that object-oriented programming is without a doubt the biggest scam pushed on developers in the last decade.  Others might state with equal conviction that OOP has been the revolutionary turning point in computer science.  And what one designer finds as the "must-have" concept in a language, another designer will brush off as hubris.  You'd think after all these years, there'd be some points of truth that just aren't arguable.  But at least in language design, that certainly doesn't seem to be the case...

Obviously, it's not possible to cover every single language that's ever been written, and I'm sure many will quibble over why a certain language was included or excluded.  Regardless of that, Masterminds is still a good read if the topic is one of interest to you.  You may not agree with some of the views expressed by the designers (hey, they don't agree with each other!), but at least you'll have a better understanding of why a certain path was followed.

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Want to support this blog or just say thanks?

When you shop Amazon, start your shopping experience here.

When you do that, all your purchases during that session earn me an affiliate commission via the Amazon Affiliate program. You don't have to buy the book I linked you to (although I wouldn't complain!). Simply use that as your starting point.

Thanks!

Thomas "Duffbert" Duff

Ads of Relevance...