1. 프로그래밍의 본질

앞선 챕터에서 우리는 폰 노이만 구조를 통해 "프로그램이 메모리에 저장되어 실행된다"는 컴퓨터의 구조를 이해했습니다.

이제 우리의 시선을 하드웨어에서 소프트웨어로 옮겨봅니다.

 

가장 먼저, 프로그래밍이란 결국 "사람의 생각을 기계에게 전달하는 과정" 임을 이해하는 영상을 하나 살펴봅시다.

이 소통 방식은 인간이 더 편해지는 방향으로 끊임없이 진화해 왔습니다.

 

▲ 천공카드부터 AI 코딩까지, 프로그래밍의 변천사

 

영상에서 보셨듯이, 초기에는 구멍 뚫린 종이(천공카드)로 대화했다면, 이제는 말 한마디(AI, 바이브 코딩)로 프로그램을 짜는 시대가 되었습니다. 하지만 이 화려한 발전 뒤에는 변하지 않는 '기계의 본질'이 숨어 있습니다.

 

프로그래밍이란 본질적으로 "인간의 의도를 기계가 이해할 수 있는 0과 1로 번역하는 과정"입니다.

 

 

이 섹션에서는 단순히 기술이 발전했다는 사실을 넘어 "어'불편함'을 해결하기 위해 등장해야만 했는가?"를 파악합니다.

그리고 '빌드(Build) 와 실행'의 개념을 이해하는 기반이 됩니다.

 

 

2. 학습 목표

이 섹션을 끝까지 학습하면, 다음 내용을 명확히 설명할 수 있게 되는 것이 목표입니다.

✅ 프로그래밍 언어의 진화와 '추상화' 흐름을 파악한다

천공카드(물리적 입력)에서 바이브 코딩(AI)까지, 프로그래밍이 점차  인간의 언어에 가까워지는 과정을 이해합니다.

✅ 기계어의 실체와 하드웨어 종속성 문제를 이해한다

0과 1만 아는 CPU의 본질과, 기계마다 언어가 달라 매번 다시 개발해야 했던  어셈블리어의 치명적 한계를 파악합니다.

✅ 고급 언어의 등장과 '이식성'의 혁명을 이해한다

유닉스와 C언어가 가져온  '어디서나 실행되는(Portability)' 개념과, 이를 가능케 한 컴파일러(번역기)의 역할을 정립합니다.