Geeks With Blogs
Mark Zudeck's Bridge To Softwhere People talking to people about programs talking to programs

Windows and Objective-C: two great things that haven't gone so great together. If you are a Windows programmer who has developed some curiosity around the hoary old object-oriented language (perhaps due to its popularity in the programming of a new-fangled device called the iPhone) you are at a distinct disadvantage.

One indicator of this is the non-treatment of the Windows platform in books on the language. See for example "Programming in Objective-C", by Stephen G. Kochan, published by Addison Wesley. The book is now in its second edition. (Actually, one could argue that, since the title has been changed to "Programming in Objective-C 2.0", this is in fact a first edition. Pity the poor publishers of computer manuals.) It appears to have become the de facto standard text for those aspiring to learn the language, seeming to have a lock on the top Safari Online best sellers list at the moment. (This again being undoubtedly due to the iPhone effect.)

On a side note, the new book has a picture of a highway bridge on its cover. We are of course fond of bridges here at BTSW, but the first edition had a photo of what appeared to be a playground carousel. If the title is to become the classic reference on its topic, this simply won't do. The adherents of classic programming volumes have a tradition of referring to their book by the picture on the cover. The most famous example of this is "Principles of Compiler Design" by Aho and Ullman, another Addison-Wesley title dating back to the antediluvian year of 1977. (I would say that having a dog-eared copy of this on your shelf automatically enrolls you in SOFE, the Society of Old-Fart Engineers.) The cover showed a knight, presumably the brave programmer, battling a dragon meant to represent the unwieldy compiler code. The book has ever after been referred to by those who lived by it as "The Dragon Book".

Here again we must point out that its successor was given a different title: "Compilers: Principles, Techniques, and Tools". In this case, however, A-W had the good sense to call the differently titled work a first edition. This is probably due to the fact that a third author was brought on board, Mr. Ravi Sethi. I remember taking a compiler course in which the syllabus referred to the book by the handle "ASU", short for the first initial of each author's last name. One student, not getting this, pointed out to the instructor that the author's name was in fact Aho, not Asu. It occurred to me how great it would have been if Alfred Aho had in fact been named Alfred Asu, in which case "ASU" would have been a recursive acronym in the same way that GNU stands for "Gnu's Not Unix".

green dragon bookred dragon book

Anyway, despite the break with the original volume through a title change, additional author, and claim of first edition, the 1986 book maintained the knight vs. dragon motif, though the dragon was now red rather than green and the errant knight programmer seems to have decided that the keyboard was mightier than the sword, putting the latter weapon under his arm and typing away furiously in order to slay the beast protruding through his 80’s-style monitor screen.  In the second edition, that is the third version, the chameleon-like beast has turned purple and the intrepid knight has again taken up the sword, perhaps reflecting the doctrine of the U.S. administration that was in office when the edition was published in 2006.  Keeping with the policy of a bringing another author on board with a new edition, this publcation had Monica Lam, another 3-digit name, as a contributor.  ASU had become ALSU. 

By making color changes while keeping the same species of beast, the publisher enabled programmers in the know to refer not only to the book in general, but a particular edition, without using its title.  Thus we have the “green dragon”, “red dragon” and “purple dragon” books.  This is nicely illustrated by Wikipedia’s disambiguation of “Dragon Book”.  In contrast, can you imagine an Objective-C programmer referring to the “bridge-that-used-to-be-a-carousel” book?  I suppose you could refer to the “carousel edition”, but this only works if we assume we are talking about the same book, which is what I will do for the rest of this post. 

In that spirit, we can observe that the waning of Windows coverage in Objective-C books is illustrated by the fact that the subsection called “Compiling and Running Under Windows” in the carousel edition of the Kochan book has been completely removed from the bridge edition.  Nevertheless, in my next post I’ll try to fill in those gaps and bring this interesting language to a larger Windows audience.

Posted on Thursday, February 26, 2009 9:52 PM | Back to top

Comments on this post: Languages.ObjC.Platforms("'I wanna learn Objective-C, but I only do Windows.' - Part I")

No comments posted yet.
Your comment:
 (will show your gravatar)

Copyright © BridgeToSoftwhere | Powered by: