"컴퓨터란 무엇인가요?" 같은 질문을 자주 하는 편이다.
개인적으로, 모든 프로그래밍 기술들은 프로그램을 조금이라도 더 편리하고 효율적으로 개발하기 위해 탄생했다고 생각한다.
그러므로 이러한 기술들을 학습하는 하나의 방법인, 기술이 탄생된 시점에서 어떤 부분이 프로그래밍에 불편했었고 그 문제를 어떤 방식으로 개선했지를 찾아가며 이해하는 방법에 익숙해지길 바래서다.
"컴퓨터란 무엇인가요?"란 질문은 "컴퓨터는 어떤 부분을 해결하기 위해 탄생했나요?"와 동일한 질문이다.
개인적으로 개발자라는 직업을 시작하고 싶다면, 아래 질문 정도는 대답할 수 있어야 한다고 생각한다.
- 하드웨어가 뭔가요?
- 소프트웨어가 뭔가요?
- 개발자는 뭐 하는 사람인가요?
그리고 프로그래밍을 공부한다면, "컴퓨터는 무엇인가요?" 로 시작하는 것이 맞다고 생각한다.
- 컴퓨터가 뭔가요?
신입 개발자로 시작하고 싶다면,
추상적이고 주관적인 질문과 용어들에,
객관적이고 명확한 정답을 찾는 과정과,
스스로 정의내린 정답을 고쳐나가며 발전 준비가 되었느냐를 평가한다.
컴퓨터란 무엇인가? 에 대한 정답을 찾는 과정은,
컴퓨터의 발전 역사에 대한 질문으로, 기계식 계산기에서 전자식 계산기, 최초의 컴퓨터와 비동기, 동기, 운영체제, 입출력장치와 컴파일, 빌드, 프로그래밍까지 이어지는 문제 해결 과정에 대한 정의다.
최초의 컴퓨터가 무엇인지, 몇년도인지에 대한 암기는 중요하지 않다.
컴퓨터가 어떠한 이유로 발전해왔는지의 흐름을 이해하고, 현재 컴퓨터의 동작구조와 기능을 비교해야 한다.
1. 컴퓨터란 무엇인가?
1.5 에드박(1952, 폰 노이만 구조), "컴퓨터란?" 에 대한 대답
- 컴퓨터의 어원은?
- 계산기와 컴퓨터의 차이점은?
- 기계어란?
- 어셈블리어란?
- 어셈블러란?
- 프로그램이란 무엇인가요?
- 버그의 어원은?