1. 고리타분한 이론을 꼭 배워야 하는 이유

더보기

AI 를 바라보는 관점

 

1.3. AI 를 바라보는 관점

앞선 1.2. 개발자의 실제 업무 포스트에서는, 개발자의 일이 단순히 코드를 작성하는 것에 그치지 않고 계획, 분석, 설계, 구현, 테스트, 유지보수까지 이어지는 전체 흐름 안에서 이루어진다는

basiclike.tistory.com

 

이번 챕터에서는 [수동 계산기 → 초기 컴퓨터 → 현대적 폰 노이만 구조 바이브 코딩]으로 이어지는 진화의 흐름을 추적합니다. 이 과정을 통해 여러분은 단순히 '코드를 짜는 법'을 넘어, 기술이 실행되는 원리를 이해하는 진짜 엔지니어로 향하는 기초를 다지게 될 것입니다.

2. 학습 목표

더보기

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

✅ 컴퓨터의 기원과 '계산'의 본질을 파악한다

컴퓨터가 거창한 발명품이 아니라, '계산(Calculation) 노동을 줄이기 위한 도구'에서 시작되었음을 이해합니다.

 

✅ 하드웨어와 소프트웨어의 분리 과정을 추적한다

물리적 장치와 명령어가 분리되면서 프로그래밍의 개념이 어떻게 탄생했는지 흐름을 파악합니다.

 

✅ 폰 노이만 구조와 현대 컴퓨터의 탄생을 이해한다

전선을 뺐다 꽂는 하드웨어 코딩에서, 프로그램을 메모리에 저장하는 내장형 프로그램(Stored-Program) 방식으로의 전환과 컴퓨터 구조를 이해합니다.

3. 학습 로드맵

더보기

모든 기술은 '그 시대의 치명적인 문제'를 해결하기 위해 등장했습니다.

🔍 Q1. (사례) C언어는 왜 그렇게 어려울까?

A1. "하드웨어 종속성 문제 + 극심한 자원(메모리) 부족 해결"

많은 입문자가 C언어에서 좌절하는 이유는 하드웨어와 소프트웨어의 구분이 명확하지도 않은 1970년대의 ‘문제’를 모른 채 2020년대 관점으로 보기 때문입니다. C언어는 당시의 배경을 이해해야 포인터나 직접 메모리 관리 같은 설계 철학이 이해되기 시작합니다.

 

 

Q2. 기술의 보편적인 접근 방법이 있나요?

A2. "문제 파악 → 해결 방법 이해 순서로 보세요."

이 방법은 C언어에만 해당되지 않습니다. 객체지향 프로그래밍(OOP), C#/Java, Python, 그리고 최근의 딥러닝 기술도 모두 이전 세대가 겪었던 불편(고통)을 줄이기 위해 등장했습니다.

 

 

Q3. 컴퓨터의 구조를 학습하려면?

A3. ‘왜 이렇게 복잡해?’라고 하기 전에, 등장 배경부터 따라가 봅시다.

  • 첫 번째 질문:
    인류는 무엇이 문제였고, 어떻게 해결하려 했기에 ‘컴퓨터’ 가 등장했을까?
  • 두 번째 질문:
    초기 컴퓨터에 어떤 문제가 있어서 현대 컴퓨터 구조로 해결해야 했을까?

 

이 질문을 따라가다 보면, 난해해 보이던 컴퓨터 구조의 부품과 원리가 문제 파악 → 해결 방법 흐름으로 연결되기 시작합니다.
그 순간, 학습이 훨씬 쉬워집니다.