Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases now! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Understanding Software

You're reading from   Understanding Software Max Kanat-Alexander on simplicity, coding, and how to suck less as a programmer

Arrow left icon
Product type Paperback
Published in Sep 2017
Publisher Packt
ISBN-13 9781788628815
Length 278 pages
Edition 1st Edition
Arrow right icon
Author (1):
Arrow left icon
Max Kanat-Alexander Max Kanat-Alexander
Author Profile Icon Max Kanat-Alexander
Max Kanat-Alexander
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

1. Table of Contents FREE CHAPTER
2. Understanding Software
3. Credits
4. About the Author
5. www.PacktPub.com
6. Customer Feedback
7. Foreword
8. One. Principles for Programmers 9. Two. Software Complexity and its Causes 10. Three. Simplicity and Software Design 11. Four. Debugging 12. Five. Engineering in Teams 13. Six. Understanding Software 14. Seven. Suck Less 15. Index

Chapter 15. The Source of Bugs

Where do bugs come from? Could we narrow down the cause of all bugs to just one source or a few? As it turns out, we can.

Bugs most commonly come from somebody's failure to reduce complexity. Less commonly, they come from a misunderstanding of something that was actually simple.

Other than typos, I'm pretty sure that those two things are the source of all bugs, though I haven't yet done extensive research to prove it.

When something is complex, it's far too easy to misuse it. If there's a black box with millions of unlabeled buttons on it, and 16 of them blow up the world, somebody's going to blow up the world. Similarly, in programming, if you can't easily understand the documentation of a language, or the actual language itself, you're going to misuse it somehow.

There's no right way to use a box with millions of unlabeled buttons, really. You could never figure it out, and even if you wanted to read the...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime