Dreaming in code

From Studyplace

Jump to: navigation, search
Scott Rosenberg, Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software (Crown, 2007). ISBN 1400082463

Book Review

Dreaming in Code by Scott Rosenberg

As with any good book on programming, Dreaming in Code, opens with Chapter 0 to introduce the subject matter. As Rosenberg points out: Computers start counting with zero, so programmers must also.

The first four chapters go on to provide a selective overview of the software industry dating back to the 1950’s. Readers are introduced to concepts such as Brook’s Law established in 1975 which states that “Adding manpower to a late software project makes it later” and goes on to explain that “men and months are interchangeable commodities only when a task can be divided among workers that requires no communication between them.”

Additionally, the concept of open source code is introduced and defined, along with commentary from both its proponents and detractors. Rosenberg introduces the reader to one such proponent named Eric S. Raymond whose 1997 essay titled “The Cathedral and the Bazaar” is counter to Brook’s Law and proposes that: “Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.”

We’re also introduced to our “hero”, Mitch Kapor, who is a big-time (reluctantly) player in the world of software, and his non-profit company OSAF (the Open Source Applications Foundation). Kapor is best known as the visionary behind Lotus 1-2-3 and the founder of Lotus Corporation. Although Kapor resigned from Lotus in 1986, he left behind a project called Agenda that did not see the light of day until 1988. It was eventually orphaned by Lotus in 1992, but at the time it was critcally recognized as a very elegant Personal Information Management (PIM) tool and had achieved a cult following.

In 2001, after a series of different roles (MIT professor, venture capitalist), Kapor wanted back in the software game and envisioned an updated version of Agenda, but this time written in open source code.

At this point, Rosenberg actually turns story away from Kapor and returns to tales of the software programming industry (and in a turn of not so subtle foreshadowing), focues on the difficulty of building and designing software. His cited examples of scope creep and projects in which 100’s of millions of dollars were poured without a working version of the software ever being delivered are downright frightening.

As an author, Rosenberg does of fine job of overviewing in layman’s terms the details of different types of programming languages (interpreted vs. compiled) and the pros and cons of each, reviews of other languages, as well as definitions of abstraction and object-oriented programming.

After this brief dive into programming technology, the story turns back to Kapor and his visionary PIM project and the struggles to decide on a code name (Chandler was settled on) as well as an open source programming language (Python). With the aid of a press release and a website, OSAF’s project with released to the world and the story of Chandler begins.

Personal tools