이 책은 컴퓨터 명령에 관한 내용을 다룬다. 오늘날 컴퓨터는 스크류 드라이버만큼 흔하지만 훨씬 더 복잡하며, 컴퓨터가 우리가 원하는 작업을 처리하도록 만드는 일이 쉽지만은 않다.
컴퓨터에서 이메일을 보여 주거나 계산하는 것처럼 일반적이고 이해가 쉬운 작업을 하는 경우, 적당한 애플리케이션을 열고 작업을 시작하면 된다. 하지만 고유한 작업이나 확장이 가능한 작업의 경우는 해당되는 애플리케이션이 존재하지 않을 것이다.
여기서 바로 프로그래밍이 개입하게 된다. 프로그래밍은 프로그램을 만드는 행위로 컴퓨터가 무엇을 해야 하는지 알려주는 구체적인 명령어 집합이다. 컴퓨터는 지나치게 바보같이 규칙을 따르는 물건이기 때문에 프로그래밍은 본질적으로 지루하고 답답하다.
다행히 이러한 사실을 극복할 수 있고, 바보 같은 기계가 처리할 수 있는 용어를 사용해 엄격하게 사고하는 것을 즐길 수 있다면 프로그래밍에 보람을 느낄 수 있다. 직접 하면 오래 걸리는 작업을 프로그래밍으로 몇 초 만에 할 수 있다. 프로그래밍은 컴퓨터에서 이전에는 처리할 수 없었던 작업을 처리하도록 만드는 방법이다. 그리고 추상적인 사고를 할 수 있는 좋은 훈련이 된다.
대부분의 프로그래밍은 프로그래밍 언어를 사용한다. 프로그래밍 언어는 컴퓨터에게 명령하기 위해 인위적으로 만든 언어다. 컴퓨터와 가장 효율적으로 의사 소통하는 방법이 인간의 의사 소통 방법에서 많은 부분을 차용한 것은 흥미로운 부분이다. 인간의 언어와 마찬가지로 컴퓨터 언어도 단어와 구문을 새로운 방식으로 결합해 새로운 개념을 표현할 수 있다.
1980년대와 1990년대에는 BASIC과 DOS 프롬프트와 같은 언어 기반 인터페이스가 컴퓨터와 상호 작용하는 주요 방법이었던 적도 있었다. 이후로 대부분은 시각적인 인터페이스로 대체됐고 배우기 쉬워졌지만 자유도는 줄어들었다. 하지만 컴퓨터 언어가 사용되는 곳을 알고 있다면 여전히 그 자리를 지키고 있는 언어를 확인할 수 있다. 이러한 언어 중 하나인 자바스크립트는 모든 최신 웹 브라우저에 내장돼 있으며 거의 모든 장치에서 사용할 수 있다.
이 책에서는 이 언어와 친해져 재미 있고 쓸모 있는 작업을 할 수 있도록 도와줄 것이다
자바스크립트를 설명하는 내용과 더불어 프로그래밍의 기본 원리를 소개한다. 프로그래밍은 어렵다. 기본적인 규칙은 간단하고 명확하지만 이러한 규칙 위에 만들어진 프로그램은 스스로 만든 규칙과 복잡함을 설명해야 할 만큼 복잡해지기도 한다. 특정 방식으로 자신만의 미로를 만들고 그 안에서 길을 잃을 수도 있다.
이 책을 읽다가 몹시 좌절감이 들 수 있다. 프로그래밍이 처음이라면 소화해야 할 새로운 내용이 많을 것이다. 대부분의 내용은 추가 연결이 필요한 방식으로 구성돼 있다.
필요한 노력을 하는 것은 자신에게 달려 있다. 책을 따라하기 위해 고군분투 할 때 자신의 능력을 성급하게 평가하지 않기를 바란다. 잘하고 있고, 멈추지 않고 계속해서 하면 된다. 잠시 휴식을 취한 다음 내용을 다시 읽고, 예제 프로그램과 연습 문제를 이해했는지 확인한다. 배움은 힘든 일이지만 배우는 모든 것은 자신의 것이며 이후에 배울 내용을 더 수월하게 익힐 수 있다.