10-2. 컴퓨터과학의 역사적 발전

이 문서는 단독으로 읽을 수 있다. 컴퓨터과학이 어떻게 200년에 걸쳐 만들어졌는지를 따라간다.


이 문서를 왜 보는가?

오늘 우리가 쓰는 모든 IT 도구 — 폰·검색·앱·LLM — 는 200년에 걸친 누적의 결과다. 시대순으로 보면 왜 어떤 기술이 등장했고 왜 다른 기술이 그것을 대체했는지가 보인다. CS 면접 단골 질문(폰 노이만 구조·튜링 기계·운영체제)도 시대 맥락 안에서 더 깊이 이해된다.

실생활 비유: CS 역사는 건축의 역사와 같다. 토대(이론) → 골조(하드웨어) → 외장(OS) → 인테리어(응용) → 거주자(사용자)의 순서로 쌓였다. 지금 우리가 쓰는 한 줄 코드도 이 누적 위에서 작동한다.


큰 그림 — 8개 흐름

[1820~1900]    수학적 토대 — 배비지·러브레이스
[1930~1940]    이론 정립 — 튜링·처치·셰넌
[1940~1950]    첫 컴퓨터 — ENIAC, 폰 노이만 구조
[1950~1970]    프로그래밍 언어와 OS — Fortran, Lisp, Unix
[1970~1990]    개인용 컴퓨터 혁명 — Apple, IBM, MS
[1990~2000]    인터넷·웹 폭발
[2000~2010]    모바일·클라우드·소셜
[2010~ ]       AI/ML 부활, 딥러닝, LLM

1. 수학적 토대 (1820~1900)

1-1. 찰스 배비지 (1791~1871)

구상: 차분 기관(Difference Engine), 분석 기관(Analytical Engine)
의의:
  - 분석 기관은 사실상 최초의 "프로그래밍 가능한 컴퓨터" 설계
  - 입력·메모리·연산·출력 분리
  - 펀치 카드로 명령 입력 (자카드 직조기에서 영감)
한계: 당대 기술로 실제 제작 못 함. 1991년 런던 과학박물관이 차분 기관 복제.

1-2. 에이다 러브레이스 (1815~1852)

의의: 분석 기관용 알고리즘(베르누이 수 계산)을 작성 — "최초의 프로그래머"로 평가.
통찰: "기계는 기호를 다룰 수 있고, 그 기호가 숫자가 아닐 수도 있다."
영향: 컴퓨터가 단순 계산을 넘어 음악·예술·언어를 다룰 수 있다는 첫 비전.

1-3. 불(Boole)과 셰넌

조지 불 (1815~1864):
  - *논리 법칙* (1854)
  - 논리를 대수(0,1)로 표현 — 후일 디지털 회로의 토대

클로드 셰넌 (1916~2001):
  - MIT 석사 논문(1937)에서 불 대수를 전기 회로에 적용
  - 1948년 *통신의 수학적 이론* — 정보 이론(information theory) 창시
의의: "비트(bit)" 용어 정착. 모든 정보를 0/1로 표현 가능하다는 토대.

2. 이론 정립 (1930~1940)

2-1. 앨런 튜링 (1912~1954)

저서: *On Computable Numbers* (1936)
의의:
  - 튜링 기계 정의 — 추상 계산 모델
  - 정지 문제(Halting Problem) — 어떤 문제는 알고리즘으로 풀 수 없음을 증명
  - 처치-튜링 명제 — "계산 가능"의 정의

전쟁기:
  - 블레칠리 파크에서 독일 에니그마 암호 해독
  - "Bombe" 기계 설계
  - 추정: 전쟁을 2~4년 단축

전후:
  - 튜링 테스트(1950) — "기계도 생각하나?"의 검증법 제안
  - 동성애로 박해받고 1954년 자살
  - 2009년 영국 정부가 공식 사과

튜링 테스트(Turing Test) = 인간과 기계가 텍스트로 대화할 때, 인간 심사위원이 기계인지 사람인지 구별할 수 없으면 그 기계는 “지능”으로 간주.

2-2. 처치(Alonzo Church)와 람다 계산

처치(1903~1995):
  - 람다 계산(λ-calculus) — 함수 기반 계산 모델
  - 튜링 기계와 동등한 능력 (처치-튜링 명제)
  - 함수형 프로그래밍 언어의 이론적 토대 (Lisp, Haskell)

3. 첫 컴퓨터 (1940~1950)

3-1. ENIAC (1945)

사건: 펜실베이니아 대학에서 ENIAC(Electronic Numerical Integrator and Computer) 가동.
규모: 진공관 17,468개, 무게 30톤, 면적 167㎡
용도: 전쟁 후반 포병 사격표 계산, 나중에 수소폭탄 시뮬레이션
입력: 케이블·스위치 직접 조작 → 새 프로그램 마다 다시 배선
의의: 최초의 "범용" 전자 컴퓨터.

3-2. 폰 노이만 구조 (1945)

존 폰 노이만 *EDVAC 보고서 초안*:
  - 프로그램과 데이터를 같은 메모리에 저장
  - 명령을 순서대로 가져와 실행 (Fetch-Decode-Execute)
  - 입력·출력·메모리·CPU 분리

영향: 이후 거의 모든 컴퓨터가 이 구조.
한계: "폰 노이만 병목" — 메모리와 CPU 사이 데이터 이동이 느림.
점검: 자기 노트북도 폰 노이만 구조다 — 어떤 부분이 그런가?

3-3. 그레이스 호퍼와 컴파일러

그레이스 호퍼(1906~1992):
  - 미 해군 장교, COBOL 개발 주도
  - 1952년 첫 컴파일러(A-0) 작성
  - "버그(bug)" 용어 — 진짜 나방이 회로에 끼인 데서 유래
의의: 인간 친화적 언어로 코딩 가능 → 프로그래밍 대중화의 출발.

4. 프로그래밍 언어와 OS (1950~1970)

4-1. 1950년대 — 첫 고급 언어들

Fortran (1957):
  - 최초의 널리 쓰인 고급 언어 (IBM 개발)
  - 과학·공학 계산 용도
  - 지금도 슈퍼컴퓨터에서 사용

Lisp (1958):
  - 존 매카시 — 인공지능 연구용
  - 함수형 프로그래밍의 시조
  - "Lisp 프로그램은 데이터다" — 메타프로그래밍

COBOL (1959):
  - 비즈니스용 영어 친화 언어
  - 호퍼 중심 위원회 개발
  - 지금도 은행·정부 시스템에 잔존

4-2. 운영체제(OS)의 등장

배경: 비싼 컴퓨터를 여러 사용자가 공유 필요.
개념:
  - 시분할(Time-sharing) — 여러 사용자가 동시에 사용
  - 가상 메모리 — 물리 메모리보다 큰 프로그램 실행 가능
  - 파일 시스템 — 데이터의 계층적 저장

대표:
  - Multics (1965) — 시분할 운영체제 선구
  - Unix (1969) — 켄 톰슨·데니스 리치, AT&T 벨 연구소
    - C 언어와 함께 개발
    - 이식성·단순성·모듈성
    - 지금의 macOS·Linux·Android의 조상

4-3. C 언어 (1972)

개발: 데니스 리치 (Unix와 함께)
의의:
  - 저수준 제어(메모리·포인터) + 고수준 추상화 동시 제공
  - 거의 모든 운영체제·임베디드의 표준
  - 50년이 지나도 여전히 가장 영향력 있는 언어 중 하나

5. 개인용 컴퓨터 혁명 (1970~1990)

5-1. 마이크로프로세서의 등장

1971년 Intel 4004 — 최초의 상용 마이크로프로세서.
의의: 컴퓨터를 한 개 칩에 → 가격·크기 폭발적 감소.

5-2. PC 황금기

Apple I (1976) — 워즈니악·잡스, 차고에서 시작
Apple II (1977) — 첫 대중적 PC
IBM PC (1981) — 표준화·기업 시장
Macintosh (1984) — 대중적 GUI(아이콘·마우스) 도입
Microsoft Windows (1985~) — IBM PC에 GUI 제공
Linux (1991) — 리누스 토르발즈, 오픈소스 운영체제

5-3. 한국의 PC

1981 — 삼보컴퓨터 SE-8001 (애플 II 호환)
1986 — 교육용 PC 보급 시작
1990s 초 — 학교·가정 PC 확산

5-4. GUI·마우스·하이퍼텍스트의 발명

제록스 PARC(1970s):
  - GUI, 마우스, 이더넷, 객체지향 언어(Smalltalk)
  - 그러나 상업화 실패
  - 잡스가 1979년 방문 후 Apple로 가져와 Mac으로 출시

더글러스 엥겔바트 (1925~2013):
  - 1968년 "어머니의 모든 시연(The Mother of All Demos)"
  - 마우스·하이퍼텍스트·화상회의 시연
  - 50년 후 우리가 매일 쓰는 도구의 원형

6. 인터넷·웹 폭발 (1990~2000)

6-1. 인터넷의 토대

ARPANET (1969):
  - 미 국방부 자금 + 대학 협업
  - 핵 공격에도 살아남는 분산 통신 목적
  - 4개 노드로 시작
  - 1971년 첫 이메일

TCP/IP (1974~):
  - 빈트 서프, 밥 칸이 설계
  - 다양한 네트워크를 묶는 공통 규약
  - 1983년 ARPANET이 TCP/IP로 전환 → "인터넷" 용어 정착

6-2. 월드와이드웹(WWW) (1989)

팀 버너스리 — CERN에서 발명
구성:
  - URL — 자원 주소
  - HTTP — 전송 규약
  - HTML — 문서 형식
  - 첫 브라우저 + 서버 (1990)
  - 1993년 NCSA Mosaic 브라우저로 대중화

의의: 학술 도구였던 인터넷이 일반인에게 열림.

6-3. 1990년대 후반의 폭발

1995 — Windows 95, 인터넷 익스플로러
1995 — JavaScript 탄생 (브렌든 아이크, 10일 만에)
1995 — 아마존 창업 (도서 판매)
1998 — 구글 창업 (PageRank 알고리즘)
1999 — 한국 초고속 인터넷 보급률 세계 1위

⚠️ 닷컴 버블(2000): 과열된 인터넷 기업 주가가 폭락. 그러나 살아남은 회사들(아마존·구글)이 21세기 빅테크의 토대.


7. 모바일·클라우드·소셜 (2000~2010)

7-1. 검색 엔진의 패권

1998 — 구글 등장. PageRank 알고리즘으로 검색 품질 압도.
의의: "정보 접근성"이 인터넷 핵심 가치로 정착.
사업 모델: 광고 기반 — 후일 빅테크 수익 모델의 표준.

7-2. 소셜 미디어의 부상

2003 — LinkedIn
2004 — Facebook (페이스북)
2005 — YouTube
2006 — Twitter
2010 — Instagram

영향:
  - 사용자 = 콘텐츠 생산자
  - 네트워크 효과 — 친구가 많을수록 가치 ↑
  - 광고·데이터 기반 수익 모델

7-3. 스마트폰 혁명

2007 — Apple iPhone 발표 (잡스의 "iPod + 전화 + 인터넷")
2008 — 앱 스토어 개장
2008 — Android 출시
의의:
  - 컴퓨터를 누구나 손에 들고 다님
  - "앱 경제" 폭발
  - 카메라·센서·GPS·블루투스 통합으로 새 응용 폭발

7-4. 클라우드 컴퓨팅

2006 — Amazon Web Services(AWS) 출시
주요 서비스:
  - EC2 — 가상 서버 빌리기
  - S3 — 저장소
의의:
  - 스타트업이 거대 인프라 없이도 사업 가능
  - "구독" 모델로 IT 비용 구조 변화
경쟁자: 마이크로소프트 Azure, 구글 Cloud, 한국 NCloud·KT

8. AI/ML 부활 (2010~ )

8-1. 딥러닝 혁명

2012 — AlexNet
  - 제프리 힌튼 팀, 이미지넷 대회 압승
  - GPU 활용 + 큰 신경망
  - "딥러닝의 가능성" 증명

2012~2015:
  - 음성 인식 정확도 폭발
  - 컴퓨터 비전(자율주행·의료 영상)
  - 신경 기계 번역(2016 구글)

2016 — AlphaGo
  - 딥마인드, 이세돌 4-1 승리
  - 강화학습 + 신경망의 합작
  - "AI가 인간 지능을 뛰어넘는 영역의 확장"

8-2. Transformer와 LLM (2017~)

2017 — *Attention is All You Need* (Vaswani 등)
  - Transformer 아키텍처
  - RNN·LSTM 대체

2018~2020:
  - BERT, GPT-2 — 사전훈련 + 파인튜닝 패러다임
  - 모델 규모 폭발 (수억 → 수십억 매개변수)

2022 — ChatGPT
  - 1억 사용자 2개월 만에 도달
  - "대화형 AI" 대중화
  - 산업·교육 충격 시작

2023~ :
  - GPT-4, Claude, Gemini 경쟁
  - Multimodal — 이미지·음성 통합
  - Agent — AI가 도구를 직접 사용

8-3. 한국의 AI 흐름

2016 — 알파고 충격으로 정부·대기업 AI 투자 가속
2018~ — 네이버 HyperCLOVA, 카카오 KoGPT
2020s — 한국어 특화 LLM, AI 반도체 (삼성·SK 하이닉스)
2024~ — AI 안전 정상회의(서울)·AI 기본법

시대를 관통하는 변화

차원1950s1990s2020s
컴퓨터방 크기, 기관 단위책상 크기, 가정 단위손바닥 크기, 개인 단위
사용자전문가 수십 명수백만수십억
연결독립 기계인터넷항상 연결, AI 통합
소프트웨어어셈블리·FortranC/C++/Java/WebPython·JavaScript·LLM 보조
결정 주체인간 + 절차인간 + GUI인간 + AI 협업

자기 점검 체크리스트

□ 배비지·러브레이스가 왜 "컴퓨터의 시조"로 불리는지 안다
□ 튜링 기계와 처치-튜링 명제의 의미를 안다
□ 폰 노이만 구조의 4개 부분과 "병목"을 설명할 수 있다
□ Unix·C 언어가 1970년대에 왜 표준이 됐는지 안다
□ 1970~80년대 PC 혁명의 핵심 인물·회사를 안다
□ ARPANET·TCP/IP·WWW의 등장 흐름을 안다
□ 2007년 iPhone이 왜 시장을 뒤집었는지 설명할 수 있다
□ 클라우드 컴퓨팅이 IT 비용 구조를 어떻게 바꿨는지 안다
□ 2012년 AlexNet, 2017년 Transformer, 2022년 ChatGPT의 시기적 의미를 안다

Comments

  • // 댓글을 불러오는 중...
main ⚠ 0 ✕ 0 Ln 1, Col 1 Spaces: 2 UTF-8 LF Markdown