Rent
$5.53
Buy
$12.49

Deliver to your Kindle or other device

Flip to back Flip to front
Audible Narration Playing... Paused   You are listening to a sample of the Audible narration for this Kindle book.
Learn more

Get the Free Kindle App

Enter email or phone number to get a link

Processing your request...

Code Simplicity: The Fundamentals of Software Kindle Edition

31 customer reviews

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Kindle
"Please retry"
$12.49
Rent from
$5.53

Length: 84 pages

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Editorial Reviews

Book Description

The Science of Software Design

About the Author

Max Kanat-Alexander, Chief Architect of the open-source Bugzilla Project, Google Software Engineer, and writer, has been fixing computers since he was eight years old and writing software since he was fourteen. He is the author of http://www.codesimplicity.com/ and http://www.fedorafaq.org, and is currently living in Northern California.


Product Details

  • File Size: 255 KB
  • Print Length: 84 pages
  • Page Numbers Source ISBN: 1449313892
  • Simultaneous Device Usage: Unlimited
  • Publisher: O'Reilly Media; 1 edition (March 23, 2012)
  • Publication Date: March 23, 2012
  • Sold by: Amazon Digital Services, Inc.
  • Language: English
  • ASIN: B007NZU848
  • Text-to-Speech: Enabled
  • X-Ray:
  • Word Wise: Not Enabled
  • Lending: Not Enabled
  • Enhanced Typesetting: Not Enabled
  • Amazon Best Sellers Rank: #401,825 Paid in Kindle Store (See Top 100 Paid in Kindle Store)
  •  Would you like to give feedback on images?


More About the Author

Max Kanat-Alexander, Chief Architect of the open-source Bugzilla Project, Google Software Engineer, and writer, has been fixing computers since he was eight years old and writing software since he was fourteen. He is the author of codesimplicity.com and fedorafaq.org, and is currently living in Northern California.

Customer Reviews

Most Helpful Customer Reviews

38 of 41 people found the following review helpful By Erez Zukerman on October 29, 2012
Format: Kindle Edition
This review is part of the O'Reilly Blogger Review Program. I got the book for free, but I didn't have to write a positive review about it. Fortunately, it's a great book.

I've been scripting, hacking, and patching things together for years now. I first started with VBA, then AutoHotkey, then Ruby, with a bit of PHP and JavaScript here and there. But I've never really considered myself a proper coder -- I just hack things together until I get something works. I knew "proper coding" can be beautiful, but I didn't really understand it until I finished reading Code Simplicity.

It's a short read, but it sometimes feels like it was written in blood. The author isn't afraid of making bold assertions, and calling his findings "laws." You don't have to know how to code to read this book: There are no code samples. It's all high-level concepts, from the Equation of Software Design helping you figure out whether or not to implement a change, to The Three Flaws that coders make when they're trying to change their software (mistakes that I have, of course, done in the past), to a fascinating chapter about simplicity, including how simple you really have to be (stupid, dumb simple), and, why that's important, and what _is_ simplicity, anyway.

If you have any interest in programming, are thinking of getting into it, or if you already code and feel like you're missing some of the philosopical underpinnings of the subject, this is really a must-read. Highly recommended.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
30 of 32 people found the following review helpful By R. Friesel Jr. on April 26, 2012
Format: Paperback
"Code Simplicity" by Max Kanat-Alexander (published by O'Reilly, 2012) is the kind of book you might give to a junior or journeyman programmer and say: "Read this over the weekend, and then on Monday we'll talk about your design." There are many quotable passages, pithy aphorisms, and axioms that take the form of definitions, facts, rules, and laws. Kanat-Alexander uses a conversational tone that takes this already common-sense study on the subject and makes it even more approachable and straightforward. And just what is the subject here? As the title dictates, the subject of the book is code simplicity: dealing with complexity, identifying areas where complexity is likely to creep in, and strategies for eliminating or reducing that complexity.

At a high level, Kanat-Alexander's discussions of the component parts of this subject are deft and lucid. He is able to evoke familiar situations and scenarios (e.g., coding under a deadline; e.g., dealing with large legacy code bases) and uses those to frame and present his recommended methodologies for keeping code "simple". A lot of the techniques and suggestions will all seem like common sense to anyone who has been programming for a non-trivial interval: reduce maintenance effort before trying to reduce implementation effort; the larger your change, the more likely you are to break something; don't "fix" things unless you know that you have (and have evidence of) a problem -- and so on. Again, to experienced programmers (and, arguably, also to someone who has just sat in on 4+ years worth of computer science lectures?) these suggestions will all seem like conventional wisdom, like the elements of craftsmanship that they perform and preach every day.
Read more ›
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
53 of 60 people found the following review helpful By Kent R. Spillner on April 9, 2012
Format: Kindle Edition
This book was a terrible disappointment. I was excited by the novel prospect that the author managed to create an original science of software design, but in reality this book is just a vague, rambling argument in favor of Agile software development. In fact, every idea in this book has already been presented in far better books by Kent Beck, Martin Fowler, Robert C. Martin, etc.

I applaud the author's ambition in wanting to create a science of software design, but I think he was incredibly naive to think he could do so without more data, evidence, and rigor. The most confusing aspect of the whole book is that he spends several pages in chapter 2 talking about what a science is, and what the necessary characteristics of a science of software design must look like, but then throughout the rest of the book he doesn't make any attempt to adhere to this model. Instead, he always proceeds directly from vague generalizations and observations, or "data" from contrived examples, to his "laws" and "facts" about software design. For example, in chapter 4 he argues about optimizing design decisions to reduce the future cost of maintenance at the expense of greater initial implementation cost, and the only evidence he offers in support of this position is a series of tables showing different hypothetical situations with different costs of effort and value. It's not that his conclusion is necessarily flawed or invalid -- indeed, making decisions to reduce the future cost of maintenance is a very reasonable and pragmatic approach -- but that his argument suffers from lack of evidence, and specificity, and rigorous application of the scientific method.
Read more ›
6 Comments Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
24 of 26 people found the following review helpful By Reilly Sweetland on April 27, 2012
Format: Kindle Edition
Great read. I would recommend this book for a few reasons.

1. For me (I am a beginning / intermediate programmer), my programming education came down to mainly syntax, how to make stuff work with some "tricks" for organization and maintainability along the way. But what was left out was the philosophy of how to approach a software problem and what your goal is beyond getting it to "just work". This book filled that gap for me, providing the most fundamental laws of the subject that I have found yet. For this reason, this book reads more "philosophically" than "technically" - which I liked.

2. As a manager of programmers, I have struggled with other's kludgy code, and from the complaints of others who had to inherit it. The principles in this book are well suited for a programming team to adopt as a point of their culture. The very experienced programmers may have already learned some of these lessons, or intuitively apply them. But for the whole team to be on the same page, it is necessary to have these points clearly stated in a short way that anyone can understand. I think this short (~90 page) book does that job very well.
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in