Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software Hardcover – January 16, 2007
See the Best Books of 2017
Looking for something great to read? Browse our editors' picks for the best books of the year in fiction, nonfiction, mysteries, children's books, and much more.
Customers who viewed this item also viewed
What other items do customers buy after viewing this item?
In the 80s, Tracy Kidder's The Soul of a New Machine attempted to define the story of the development of a minicomputer: from the new science to the business and nascent culture of electronic hardware and software that was characteristic of that time. Scott Rosenberg's Dreaming in Code draws on Kidder's model as it attempts to document the state of software, the Internet, and everything circa 2006 through the lens of Chandler, an as-yet-unfinished software application for the management of personal information.
The Chandler project--driven by Mitch Kapor, the founder of Lotus Development and main designer of its 1-2-3 spreadsheet, and later co-founder of the Electronic Frontier Foundation--isn't the primary point of Dreaming in Code, though reading about software people and their social behavior is at least as interesting as reading about that of meerkats or monkeys. Rather, Chandler is a rhetorical device with which Rosenberg takes on the big questions: How do software development teams work (or not)? Why does the reuse of software modules rarely work altogether correctly? Does open-source development by volunteers on the Internet lead to innovation or just insanely bifurcated chaos? Chandler helps his readers think more clearly about all of these issues; however, "answers" to these questions are, of course, not to be had, which is one of his points.
The problem with books about technical subjects that aspire to appeal to a general audience, particularly computers and software, is that such subjects are so far outside the realm of familiarity of most people that the prose bogs down in analogy and metaphor. Rosenberg manages to avoid too much of that and deliver a readable account of software development and culture. --David Wall
From Publishers Weekly
Software is easy to make, except when you want it to do something new," Rosenberg observes—but the catch is that "the only software worth making is software that does something new." This two-tiered insight comes from years of observing a team led by Mitch Kapor (the creator of the Lotus 1-2-3 spreadsheet) in its efforts to create a "personal information manager" that can handle to-do lists as easily as events scheduling and address books. Rosenberg's fly-on-the-wall reporting deftly charts the course taken by Kapor's Open Source Applications Foundation, while acknowledging that every software programmer finds his or her own unique path to a brick wall in the development process. (The software is still in development even now.) With equal enthusiasm, Rosenberg digs into the history of the computer industry's efforts to make programming a more efficient process. Though there's a lot of technical information, it's presented in very accessible terms, primarily through the context of project management. Even readers whose computer expertise ends at retrieving their e-mail will be able to enjoy digressions into arcane subjects like object-oriented programming. (Jan.)
Copyright © Reed Business Information, a division of Reed Elsevier Inc. All rights reserved.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The book is about 2/3 following the day-to-day of the development team, 1/3 philosophizing about what programmers do and should do. The team started to grate on me after a while...maybe it was the whole "change the world" holier-than-thou approach they took to their project. It's just a calendar, and if you do a little research, it is utterly underwhelming. The history and philosophy of programming as the author sees it was very interesting, since I'm something of a code monkey myself. A reader from the general public might not appreciate that part so much, but this book will give most people a better sense of why software is buggy and takes so long to develop.
Kidder's book was successful because it reached a definite conclusion: the new machine was completed, and it met its goal of beating the VAX. During the course of the book, the reader vicariously became a hardware hacker, a power tool, pedal to the metal - you could feel the tension, the long nights into morning, the frustration.
In contrast, Chandler does not get finished in Dreaming; it's barely alpha test. Of course that's not the author's fault, but in that respect alone this book falls far short of Kidder's. As far as style, Rosenberg is not nearly as effective as Kidder in conveying to the reader the mentality, the spirit, the verve, the je ne sais quoi that embodies the software hacker. And I say that as someone who has had to hack software to the wee hours. In other words, I know what it's like, and Dreaming didn't really bring back wistful memories of the quest to get it working; how would a lay person get it?
That said, Dreaming is a start, but IMHO it still leaves a void for a book that really is a software version of Soul of a New Machine.
Mr. Rosenberg delves beyond the Chandler Project to put this effort into perspective with the history of computer software development. He tries to show why, despite the advances in computer hardware and the development of advanced programming languages, the creation of a new application remains so challenging. He shows how many of the challenges facing software development in the 1960's as outlined by Fredrick Brooks in "The Mythical Man-Month" are still facing programmers today, such as, adding more programmers to a project behind schedule, only makes it farther behind schedule. He explains why managing creative programmers whether it is for the Chandler Project, or for the FBI's Virtual Case File, is terribly difficult and can frequently lead to abject failure.
"Dreaming in Code" is written as much for the non-technicial reader as for a technical one. It does not require an advanced degree in computer programming to be understood. It is more of a epic travelog through the shoals of modern software development. Can the visionary communicate that vision to managers and programmers so they can bend technology to create the application? In some cases they can and in others the vision must be modified.
The reason I did not give this it's fifth star is that the story remains incomplete. This is not the fault of the author, but rather due to the delays in completing the Chandler project itself. A preview version of the Chandler application is due out this Spring, several years beyond the original schedule. But dispite this frustration, I would recommend this book to anyone interested in the complexity of technology development.