그 말은 내 마음 깊은 곳에 와 닿았다. 나의 불안함이 무능력보다 무지에서 비롯되었다는 것을 이해했기 때문이었다. PC 본체를 열고 내부를 보니 마음이 차분해졌다. 보드 몇 장이 전부였다. 슬롯 하나에 사운드 카드를 끼웠다. 더 이상 나에게 PC 본체는 미스터리 박스가 아니었다. 이후에 미술 전공 학생들에게 컴퓨터 기초를 가르칠 때도 같은 방법을 사용했다. 나는 마우스를 열고 그들에게 마우스 볼을 보여주었다. 불행하게도 이 예는 학생들에게 별로 와닿지 않았다. 나는 곧바로 PC 본체를 열었고 “보다시피, 두렵지 않다. 그냥 보드와 그것을 꽂는 슬롯으로 이뤄져 있다”라고 마무리지었다.
이 경험은 나중에 새롭고 복잡한 것을 다루는 데 있어서 나의 좌우명이 되었다. 나는 두려움을 느끼기 전에 모든 범위의 복잡도를 직면할 수 있도록 먼저 상자를 여는 것부터 시작했다. 대부분은 내가 두려워하는 것보다 덜 복잡했다.
마찬가지로 라이브러리, 프레임워크, 또는 컴퓨터가 어떻게 동작하는지에 대한 세부 사항은 그 위에 무엇이 구축되었는지 이해하는 데 엄청난 영향을 미칠 수 있다. 상자를 열고 부품을 보면 상자를 올바르게 사용하는 데 도움이 된다. 코드를 처음부터 읽거나 수천 페이지짜리 이론서를 뒤질 필요는 없지만, 최소한 어떤 부분이 어디에, 어떻게 영향을 미치는지 정도는 알아 두어야 한다.
그렇기 때문에 앞으로 다룰 주제 중 일부는 근본적이거나 낮은 수준의 내용들이다. 이것은 상자를 열고 상자 안이 어떻게 돌아가는지 보는 것과 같다. 이를 통해 우리는 높은 수준의 프로그래밍을 위한 더 나은 결정을 내릴 수 있다.