Buy new:
$34.00
FREE delivery Saturday, May 18 on orders shipped by Amazon over $35
Ships from: Amazon
Sold by: Always Best Dealz
List Price: $44.99 Details

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
Save: $10.99 (24%)
Get Fast, Free Shipping with Amazon Prime FREE Returns
FREE delivery Saturday, May 18 on orders shipped by Amazon over $35
Or fastest delivery Thursday, May 16. Order within 13 hrs 43 mins
Only 1 left in stock - order soon.
$$34.00 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$34.00
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon
Ships from
Amazon
Returns
30-day easy returns
30-day easy returns
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Returns
30-day easy returns
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Get Fast, Free Shipping with Amazon Prime
FREE delivery Monday, May 20 on orders shipped by Amazon over $35
Or fastest delivery Thursday, May 16. Order within 13 hrs 43 mins
Condition: Used: Good
Access codes and supplements are not guaranteed with used items.
eBook features:
  • Highlight, take notes, and search in the book
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Something went wrong. Please try your request again later.

Beautiful Code: Leading Programmers Explain How They Think 1st Edition

4.2 4.2 out of 5 stars 100 ratings

How do the experts solve difficult problems in software development? In this unique and insightful book, leading computer scientists offer case studies that reveal how they found unusual, carefully designed solutions to high-profile projects. You will be able to look over the shoulder of major coding and design experts to see problems through their eyes.

This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules.
This book contains 33 chapters contributed by Brian Kernighan, Karl Fogel, Jon Bentley, Tim Bray, Elliotte Rusty Harold, Michael Feathers, Alberto Savoia, Charles Petzold, Douglas Crockford, Henry S. Warren, Jr., Ashish Gulhati, Lincoln Stein, Jim Kent, Jack Dongarra and Piotr Luszczek, Adam Kolawa, Greg Kroah-Hartman, Diomidis Spinellis, Andrew Kuchling, Travis E. Oliphant, Ronald Mak, Rogerio Atem de Carvalho and Rafael Monnerat, Bryan Cantrill, Jeff Dean and Sanjay Ghemawat, Simon Peyton Jones, Kent Dybvig, William Otte and Douglas C. Schmidt, Andrew Patzer, Andreas Zeller, Yukihiro Matsumoto, Arun Mehta, TV Raman, Laura Wingerd and Christopher Seiwald, and Brian Hayes.
Beautiful Code is an opportunity for master coders to tell their story. All author royalties will be donated to Amnesty International.

Read more Read less

Amazon First Reads | Editors' picks at exclusive prices

Frequently bought together

$34.00
Get it as soon as Saturday, May 18
Only 1 left in stock - order soon.
Sold by Always Best Dealz and ships from Amazon Fulfillment.
+
$39.73
Only 2 left in stock - order soon.
Ships from and sold by WhitePaper Books.
+
$32.73
Get it as soon as Saturday, May 18
Only 1 left in stock - order soon.
Sold by Take-N-Go and ships from Amazon Fulfillment.
Total price:
To see our price, add these items to your cart.
Details
Added to Cart
Some of these items ship sooner than the others.
Choose items to buy together.

Editorial Reviews

About the Author

Andy Oram is an editor at O'Reilly Media, a highly respected book publisher and technology information provider. An employee of the company since 1992, Andy currently specializes in free software and open source technologies. His work for O'Reilly includes the first books ever published commercially in the United States on Linux, and the 2001 title Peer-to-Peer. His modest programming and system administration skills are mostly self-taught.

Greg Wilson holds a Ph.D. in Computer Science from the University of Edinburgh, and has worked on high-performance scientific computing, data visualization, and computer security. He is the author of Data Crunching and Practical Parallel Programming (MIT Press, 1995), and is a contributing editor at Doctor Dobb's Journal, and an adjunct professor in Computer Science at the University of Toronto.

Product details

  • Publisher ‏ : ‎ O'Reilly Media; 1st edition (July 31, 2007)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 618 pages
  • ISBN-10 ‏ : ‎ 0596510047
  • ISBN-13 ‏ : ‎ 978-0596510046
  • Item Weight ‏ : ‎ 2.16 pounds
  • Dimensions ‏ : ‎ 7 x 1.41 x 9.19 inches
  • Customer Reviews:
    4.2 4.2 out of 5 stars 100 ratings

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

4.2 out of 5 stars
4.2 out of 5
100 global ratings

Top reviews from the United States

Reviewed in the United States on October 22, 2007
I am a software engineer of about 5 years of professional experience. The book is attractive to me because it describes proven best-practices for existing software. There are a large variety of software descriptions in this book. If you are looking for a programming-language-specific book, this book might not be for you, because it contains a wide variety of projects from different programming languages (from Fortran to Python and perl).

For the intermediate or beginning programmer, I'd say this is an excellent read as long as you are able to comprehend the material. Some of the text demands more than a cursory knowledge of programming. I will probably need to reread a few chapters later in my career in order to understand them in the manner they were intended.

The book reads like a book about software pattern implementations, but without the emphasis on the patterns. It is left to the reader to draw generalizations from the examples that they can apply to their own code.

Personally, I'd like to see more books like this. It provides a good frame of reference for the construction of good software.
5 people found this helpful
Report
Reviewed in the United States on November 18, 2013
This is an interesting book. Beauty is in the eye of the beholder. I certainly do not find all of the code featured in this book to be beautiful, but there is a lot of variety in the case studies which make up each chapter, and I think there is something for everyone here - as long as you have a reasonable amount of programming experience.
One person found this helpful
Report
Reviewed in the United States on June 21, 2018
A gift for my son the programmer
Reviewed in the United States on December 6, 2009
Enjoyed the book a lot. Not only contains really good solutions to a wide variety of problems: the core of the book are the explanations from the authors of each piece of beautiful code and why they think it is beautiful.

The better part is that each section is short enough to be read in one shot. Helps a lot on following the authors!
One person found this helpful
Report
Reviewed in the United States on November 10, 2008
The editors of this uneven book give us 33 chapters from various, often well-known developers, in which these developers describe some code and explain why they think that it is beautiful. There are some gems, but it's not light reading and quite a bit of it is a real slog. If you are a professional programmer, it's probably worth the effort, but otherwise I'd steer clear.

And, in fact, all too much of the code is downright ugly. This starts, sadly enough, with the first example, by Brian Kernighan, describing a limited-capacity regular expression matcher.

Yes, THAT Brian Kernighan, a software god among men. But the example he describes as beautiful would be the last thing I would ever want in any software that I had to maintain. I am sure it is efficient, and it probably works, but the only beauty that I can see is that, if you convince yourself you understand why it works, you've also proven to yourself that your mental abilities put you in an elite category of coder. God help you if you need to modify the method's functionality or (shudder) debug it.

Another dubious entry in the book is by Adam Kolawa, who describes the CERN mathematical library. He claims that no library routine can be beautiful if it uses dynamic memory allocation. The software architecture he deems beautiful passes working memory, in the form of an array to the library routines, which in turn pass it on to their subroutines. In fact, the space used by the input parameters is reused to hold the solution. I am sure that CERN math library is an excellent package, but I would hate to have the job of tracking down bugs in a system in which all the subroutines in the stack were writing back into the same array.

Software ugliness can take many forms, as, for example, in the chapter by Ronald Mak, describing NASA software used for the Mars Rover mission. The solution for a highly reliable, long running, independent system? SOA, using Java 2 and J2EE EJBs. I am a big fan of Java and J2EE, but why on earth (or Mars!) would the Mars Rover system need EJBs? The SOA and EJB technology is at its best when coupling diverse databases and interacting with legacy systems. It brings with it a significant complexity and overhead. Why would anyone think this was appropriate for the Mars Rover?

For my taste, the worst of the worst was an article by R. Kent Dybvig, describing a program for analyzing code and detecting parameter name clashes. The code to be analyzed is in Scheme, a Lisp dialect. It's been awhile since I've fooled with LISP, but I was ready to give it a try. So here is an example of a macro that has potential scope issues, if there is a bound variable t elsewhere in the code:

(or e1 e2) -> (let ([t e1]) (if t t e2))

...and here is the refactored code, in which the problem is fixed:

(or e1 e2) -> (let [g e1] (if g g e2))

I stared dumbly at this for all too long a time until I read the next phrase, "in which 'g' is a generated (fresh) identifier". Here I'd fault the author for a really rotten presentation, and also for begging the question, since the whole problem he is purporting to solve is avoiding name clashes.

In fairness, the book also has many descriptions of genuinely beautiful code. I especially enjoyed the article by Charles Petzold on efficient image processing through code generated on-the-fly. Also, Henry Warren essay on devising efficient algorithms for counting the number of enabled bits in a bit string is fascinating. Yet another stimulating article is by Brian Hayes, who describes an efficient approach for determining if three points are co-linear. This article also uses LISP as the example language, but unlike Dybvig's piece, it's clear, and "porting" the approach to Java or C++ would be straight-forward.

In summary, "Beautiful Code" is a very mixed bag. On balance, it is probably worth reading, but without doubt it is a disappointment.
16 people found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Valerio Maggio
5.0 out of 5 stars Da avere nella propria libreria
Reviewed in Italy on June 30, 2013
Testo da avere assolutamente nella propria raccolta personale: un manuale ricco di esempi illuminanti da cui apprendere e imparare ed espandere la propria visione delle cose ( per non are tutto troppo scontato in questo contesto oramai sempre più "off the shelf" )
Michael
5.0 out of 5 stars Brilliant and Insightful
Reviewed in the United Kingdom on March 23, 2013
This book takes you through several examples of what some top programmers consider beautiful code. As a by-product the book reads more like a collation of articles from a coder's version of Cosmopolitan magazine rather than a programmer's erotic novel. However I cannot complain about this as I did only by the book for a specific chapter. Simon Peyton Jone's article on "Beautiful Concurrency", it is a beautiful read, especially around Christmas time.

Enjoy!
Lou
3.0 out of 5 stars Un peu court
Reviewed in France on November 12, 2015
J'ai été un peu déçu par ce livre car il livre plutôt des témoignages que des exemples de code. Chaque chapitre renvoie à un projet logiciel qui se veut exemplaire, mais au final on n'apprend pas grand chose, c'est un long bavardage assez nombriliste.
2 people found this helpful
Report
PJ (London)
5.0 out of 5 stars Five Stars
Reviewed in the United Kingdom on December 16, 2014
A must read for developers
A. Batllo
4.0 out of 5 stars Quite good and revealing
Reviewed in the United Kingdom on August 30, 2010
I agree somewhat with what the other reviewers have said, but then you must take into account that there are 30+ authors here, and each one will have very different things to say and as many ways to say it. You could say that an editor should have taken care of equalizing the book, normalizing the styles, but I think that will destroy the spirit of it. It's true that there are many technologies and languages, but I don't think that is a mess, but the obvious result from putting together many great minds from different backgrounds and dealing with many different problems. It won't make you a better programmer, but I don't think that was the target of the book. This is not a cookbook or a book to teach you C++ in 21 days. This is something else. Think of it as an essay (or a collection of) or a documentary series. I still didn't read all articles, and because of the sheer variety and ample scope of the book, I will probably never read them all, but for sure I can tell you some of the chapters are also powerful motivators. With the daily corporate grind, you can get somewhat jaded sometimes with tech, but this is a foray into the joys of problem solving, the eureka moment, the pleasure of coding. For me, not a waste of time, definitely.
10 people found this helpful
Report