CHAPTER
15
버그의 원인
버그는 어디에서 올까? 모든 버그의 원인을 몇 가지 혹은 한 가지로 간추릴 수 있을까? 놀랍게도 그 답은 “그렇다.”이다.
버그는 보통 복잡성을 줄이지 못할 때 발생한다. 또 그보다는 드물지만 간단한 대상을 잘못 이해했을 때도 발생한다.
이 가설을 증명하기 위해 광범위한 연구를 수행하지는 않았지만 오타 외에는 이 두 가지가 버그의 가장 흔한 원인일 거라고 자신한다.
복잡한 건 잘못 쓰기 쉽다. 어떤 검은색 상자에 무슨 용도인지 설명이 없는 수백만 개의 버튼이 있는데 그중 16개가 세상을 날려버리는 버튼이라면 누군가는 세상을 날려버릴 것이다. 마찬가지로 프로그래밍 언어 혹은 그 언어에 대한 설명이 이해하기 어렵다면 어떻게든 잘못 사용하게 될 것이다.