컴퓨터의 역사

2025. 9. 29. 19:10·🖥️Computer Science

컴퓨터 공학 기초 ( Computer Science  & Engineering )

 

컴퓨터라는 이름은 오늘날 우리가 생각하는 전자기계 이전에 사람을 가리키는 말에서 시작했다.

많은 과학 분야와 비슷하게 컴퓨터 과학도 수학과 가장 밀접한 관계를 가지고 있고, 수학에 기초를 둔 과학 분야이다.

 

 

컴퓨터의 역사 ( Computer History )

컴퓨터는 주판과 같은 고대 계산 도구에서 시작하여, 19세기 찰스 배비지가 해석기관을 설계하고, 20세기 초 진공관을 이용한 에니악과 같은 최초의 전자식 컴퓨터를 거처 1970년대 마이크로 프로세서와 개인용 컴퓨터 ( PC ) 의 등장으로 대중화 되었다.

이 과정에서 프로그램 내장 방식의 폰 노이만 구조가 도입되었고 , 현대에는 휴대용 기기와 네트워크를 통해 우리 생활 전반에 필수적인 도구가 되었다.

 

 

역사 요약

  • 전 ( 前 ) 전자 시대 : 수판 → 기계식 계산기 → 배비지의 해석기관 구상과 러브레이스의 알고리즘 아이디어
  • 전기 · 전자 초기 : 천공카드 , 튜링의 계산 가능성 이론 , 릴레이 / 진공관 컴퓨터 ( 콜로서스 · 에니악 )
  • 폰 노이만 구조 정립 : 저장 프로그램 방식의 표준화 ( EDVAC · EDSAC · 맨체스터 Baby )
  • 세대 구분 : 진공관 ( 1세대 ) → 트랜지스터 ( 2세대 ) → 집적회로 ( 3세대 ) → 마이크로프로세서 / PC ( 4세대 )
  • 현대 : 인터넷 · 모바일 · 클라우드 → GPU / 병렬화 → 생성형 · AI 엣지 · 양자

 

 

 

1. 전자 이전 : 계산 도구와 "기계로 계산한다" 는 발상 ( 기원전 ~ 19세기 )

  • 수판 ( Abacus ) : 고대부터 널리 쓰인 대표적인 계산 도구이다.
  • 안티키테라 메커니즘 ( 기원전 2세기 ) : 천문 계산을 위한 정교한 톱니 장치 - 아날로그 계산 장치의 원형
  • 로그 슬라이드 룰 ( 17세기 ) : 로그 개념을 이용해 곱셈과 나눗셈을 기계적으로 단순화했다.
  • 파스칼린 ( 1642 , 파스칼 ) : 덧셈과 뺄셈 기계식 계산기
  • 라이프니츠의 스테핑 드럼 ( 1673 ) : 곱셉 나눗셈까지 가능한 진일보한 기계식 계산기
  • 찰스 배비지의 차분기관 ( 1822 ) 과 해석기관 ( 1837 ) :
  • 핵심 아이디어 : 입력 ( 천공카드 ) - 연산 ( 가산기, 제어장치 ) - 저장 ( 메모리 ) - 출력의 개념을 설계에 반영
  • 에이다 러브레이스 ( 1843 ) : 해석기관을 위한 알고리즘적 설명을 남겨 '최초의 프로그래머'로 언급된다.

배비지의 해석기관은 완성되지 못했지만, 현대 컴퓨터 아키텍처의 구조적 전조를 명확히 보여준다. 

배비지 ( Charles Babbage )

영국의 수학자, 컴퓨터 과학자이자 발명가로 프로그래밍이 가능한 최초의 컴퓨터를 발명한 사람이다.

차분기관 ( Difference Engine ) : 다항식 계산을 자동으로 수행하는 기계, 사람이 아닌 기계가 계산하게 하려는 목적으로 설계

해석기관 ( Analytical Engine ) : 지금의 범용 컴퓨터 개념에 가까운 기계, 입력-연산-저장-출력 구조를 모두 갖춤

▼구성 요소

  • Mill ( 밀 ) → 오늘날의 CPU 역할 ( 연산 장치 )
  • Storage ( 저장 ) → 메모리 역할 ( 데이터 저장 )
  • Punch Cards ( 천공카드 ) → 프로그램과 데이터를 입력하는 장치
  • Printer & Plotter → 출력 장치

오늘날 컴퓨터의 핵심인 "프로그램 가능한 범용 기계" 개념을 최초로 제시

단순 계산기를 넘어 조건 분기 ( if ) , 반복 ( loop ) 같은 구조를 지원하려고 설계되었다.

에이다 러브레이스 ( Ada Lovelace )

에이다 러브레이스 ( Ada Lovelace ) 가 이 해석기관을 위해 알고리즘 ( 세계 최초의 컴퓨터 프로그램 ) 을 작성했다.

배비지는 기계를 만드는 사람이었지만, 러브레이스는 그 기계가 할 수 있는 잠재력을 본 최초의 인물이었다.

그래서 오늘날 프로그래밍 언어 ( Ada ) 가 그녀의 이름을 따서 만들어졌다.

 

 

 

 

2. 전기기계식 시대와 계산 이론 ( 1880 년대 ~ 1940 년대 초 )

  • 홀러리스의 천공카드 탭유레이팅 머신 ( 1890 ) : 인구조사 자동화 → 이후 IBM 의 뿌리가 되는 기업으로 발전
  • 튜링 ( 1936 ) : "계산 가능한 수" 논문에서 튜링 머신 개념을 제시했다. 무엇이 계산 가능한가에 대한 이론적 토대.
  • 릴레이 기반 컴퓨터 : Zuse Z3 ( 1941 ) , Harvard Mark I ( 1944 ) : 전기기계식으로 구현된 이른 세대의 자동 계산 장치들

앨런 튜링 ( Alan Mathison Turing )

영국의 수학자 , 논리학자 , 컴퓨터 과학자이다.

컴퓨터 과학의 아버지이자 현대 컴퓨터 과학을 정립한 인물로 평가된다.

제 2차 세계 대전이 발발하자 정부의 요청에 따라 나치 독일군의 에니그마 암호 해독을 맡았다.

 

튜링 머신 ( Turing Machine 1936 )

  • 종이테이프 ( 무한한 길이 ) 위에 기호를 읽고 쓰며 이동하는 가상의 기계 개념을 제시
  • 단순하지만 계산 가능한 것과 불가능한 것을 이론적으로 구분할 수 있게 해준다.
  • 오늘날의 알고리즘 컴퓨터 모델의 기초가 되었다.

 

인공지능 개념

  • 기계가 생각할 수 있는가? 라는 질문을 던졌고 이를 검증하기 위해 튜링 테스트라는 사고 실험을 제안

 

전쟁 기여

블렛치리 파크에서 암호해독 팀을 이끌며 봄브 ( Bombe ) 라는 전자 기계식 장치를 개발해 독일의 에니그마 암호 해독

연합군의 전쟁 승리에 큰 기여를 했다.

 

 

 

3. 1세대 ( 진공관 ) : 전자식 컴퓨터의 출현 ( 1940 년대 ~ 1950 년대 )

  • Colossus ( 1943~44 ) : 암호해독 특화, 진공관 기반 전자식
  • ENIAC ( 1945 ) : 대규모 진공관 사용, 초기엔 배선 재구성으로 프로그램 - 이후 저장 프로그램 방식으로 개조
  • Stored-Program ( 저장 프로그램 ) 컴퓨터의 태동 :
  • Manchester Baby ( 1948 ) : 최초로 실행된 저장 프로그램 컴퓨터
  • EDSAC ( 1949 ) : 실용적 저장 프로그램 컴퓨터
  • EDVAC 설계안 ( 1945 ) 와 폰 노이만 보고서 : 프로그램과 데이터를 같은 메모리에 저장하는 구조를 명확화
  • UNIVAC I ( 1951 ) : 최초의 상업용 전자식 컴퓨터 중 하나

폰 노이만 ( John von Neumann )

헝가리 출신 미국의 수학자 , 물리학자 , 컴퓨터 과학자

수학 , 물리학 , 경제학 , 게임이론 , 핵무기 개발 등 다양한 분야에 걸쳐 업적을 남겼다.

특히 현대 컴퓨터 아키텍처를 체계화한 인물로 유명하다.

연산자 이론을 양자 역학에 점목시킨 최초의 선구자 중 하나였다.

 

 

폰 노이만 구조 ( von Neumann Architecture )

  • 오늘날 거의 모든 컴퓨터가 따르는 기본 설계 방식
  • 메모리에 프로그램과 데이터를 함께 저장
  • 입력 → 연산 ( CPU ) → 저장 ( Memory ) → 출력 구조
  • 순차 실행이 기본이며 분기 반복 같은 제어 흐름도 가능

이 구조 덕분에 컴퓨터는 단순 계산기에서 범용 프로그램 가능한 기계로 발전했다.

 

 

ENIAC → EDVAC 발전

  • 1940년대 , 최초의 전자식 컴퓨터 ENIAC 개발에 참여
  • 이후 EDVAC 보고서에서 "저장 프로그램 방식" 을 명확히 제안
  • 이것이 곧 폰 노이만 구조로 불리게 된다.

 

 

게임 이론과 수학적 기여

  • 경제학에서 게임 이론 ( Game Theory ) 의 창시자 중 한 명
  • 핵무기 개발 ( 맨해튼 프로젝트 ) 에도 참여

 

 

 

4. 2세대 ( 트랜지스터 ) : 소형화 신뢰성 향상 ( 1950 년대 후반 ~ 1960 년대 )

  • 트랜지스터 ( 1947 ) : 진공관 대비 작고 덜 뜨겁고 전력 효율적
  • 고급 언어의 시대 : FORTRAN ( 1957 ) , COBOL ( 1959 ) , ALGOL ( 1958 ) 
  • 운영체제의 시초 : 배치 처리 , 초기 스케줄링 , 장치 추상화 등장

 

 

 

5. 3세대 ( 집적회로 , IC ) : 표준화와 시분할 ( 1960 년대 ~ 1970 년대 초 )

  • IC ( 집적회로 ) : 킬비 ( 1958 ) , 노이스 ( 1959 ) 의 공정 → 대량생산과 신뢰성 비약
  • IBM System / 360 ( 1964 ) : 호환성 확장성을 중시한 라인업 → IT 기업 표준의 상징
  • 시분할 ( Time-sharing ) 과 멀티유저 : MULTICS 실험 , UNIX ( 1969 ) 의 간결한 철학 확산
  • ARPANET ( 1969 ) : 인터넷의 전신 → 패킷 교환 네트워킹 실험
  • C 언어 ( 1972 ) : 시스템 프로그래밍 표준으로 성장

 

 

 

6. 4세대 ( 마이크로 프로세서 개인용 컴퓨터 ) : 컴퓨터의 개인화 ( 1970 년대 ~ 1980 년대 )

  • 마이크로프로세서 : Intel 4004 ( 1971 ) → 8008 ( 1972 ) → 8080 (1974 ) → 8086 ( 1978 )
  • 홈브류 혁명 : Altair 8800 ( 1975 ) 와 BASIC 보급
  • 트라이애드 ( 1977 ) : Apple II , Commodore PET , TRS-80
  • GUI 와 마우스 : Xerox Alto ( 1973 ) → Apple Lisa ( 1983 ) → Macintosh ( 1984 ) → Windows 1.0 ( 1985 )
  • 소프트웨어 생태계 : 스프레드시트 ( VisiCalc ) , 워드프로세서 , 데이터베이스의 대중화

 

 

 

7. 인터넷의 상용화와 표준의 시대 ( 1990 년대 ) 

  • World Wide Web : 1989 제안 , 1991 공개 → 하이퍼텍스트와 URL / HTTP 정보 혁명
  • 브라우저 붐 : Mosaic ( 1993 ) → Netscape ( 1994 ) → 웹 대중화
  • 운영체제 개발 생태계 : Linux ( 1991 ) , Windows 95 ( 1995 ) , Java ( 1995 ) , 오픈소스 운동 확산
  • 모바일의 전초 : 저전력 RISC ( ARM ) 생태계 성장

 

 

 

8. 모바일 , 클라우드 , 데이터의 폭발 ( 2000 ~ 2010 )

  • 스마트폰 혁신 : iPhone ( 2007 ) , Android ( 2008 ) → 손 안의 컴퓨터
  • 클라우드 컴퓨팅 : 가상화 대규모 데이터 센터, AWS ( 2006 ~ ) 필두로 IaaS / PaaS / SaaS 확산
  • 멀티코어 GPU 가속 : CUDA ( 2006 ) 이후 일반 목적 GPU 연산이 ML / 과학계산 표준 축
  • 데이터 소셜 : 빅데이터 , 추천 시스템 , 실시간 스트리밍 처리 ( 분산 시스템 )

 

 

 

9. 생성형 AI , 특화 가속기 , 엣지와 양자 ( 2020~ )

  • 딥러닝 가속 : 트랜스포머 ( 2017 ) 이후 생성형 AI 가 2020년대 대중화되기 시작 → 대형언어모델 ( LLM ), 멀티모달 모델
  • 가속 하드웨어 : GPU / TPU / NPU 등 AI 특화 칩과 분산 학습 스택
  • 엣지 사물 인터넷 : 온디바이스 AI , 초저지연 추론
  • 양자 컴퓨팅 : NISQ 단계 ( 오류정정 전 ) 에서 점진적 성능 실험 → 암호 , 최적화 , 재료과학 분야 기대

 

 

 

정리

폰 노이만 구조

  • 하나의 메모리에 명령어와 데이터를 함께 저장하는 구조
  • 연산장치 ( ALU ) , 제어장치 , 메모리 , 입출력 장치로 구성

 

불 대수 ( Boolean Algebra )

  • 0 과 1 두 가지 값만을 사용하는 대수 체계
  • 참 ( True ) / 거짓 ( False ) 을 수학적으로 표현할 수 있다
  • 불 대수는 단순히 수학 이론으로 끝난게 아니라 20세기 초 전기 회로와 결합하면서 디지털 컴퓨터의 논리적 기초가 되었다.
  • 오늘날 CPU , 메모리 , 프로그래밍 언어의 논리 연산 모두 불 대수 원리에 기반하고 있다.

 

 

무어의 법칙

  • 집적회로의 트랜지스터 수가 약 18~24개월마다 두 배로 늘어난다는 관찰
  • 2010년대 중반 이후 전력 / 발열 / 비용 한계로 스케일링 둔화 → 다중코어 가속으로 방향 전환

 

 

HCI ( 인간 - 컴퓨터 상호작용 ) 의 흐름

  • CLI → GUI → 터치 / 모바일 → 음성 / 제스처 → 대화형 AI
  • 학습 비용을 줄이고 표현력을 높이는 방향으로 진화

 

 

 

▼컴퓨터 역사 연표

기원전 2C 안티키테라 메커니즘
1642 파스칼린(파스칼)
1673 라이프니츠 스테핑 드럼
1822/1837 배비지 차분기관/해석기관, 러브레이스의 메모(1843)
1890 홀러리스 천공카드 탭유레이팅 머신
1936 튜링의 계산가능성 이론(튜링 머신)
1941/44 Z3, Harvard Mark I(릴레이)
1943–44 콜로서스(암호해독)
1945/46 ENIAC(전자식), 1945 EDVAC 설계
1948/49 Manchester Baby(최초 저장 프로그램 실행)/EDSAC
1951 UNIVAC I(상업용)
1957/59 FORTRAN, COBOL
1964 IBM System/360
1969 ARPANET, UNIX
1971 Intel 4004
1975–77 Altair 8800, Apple II/PET/TRS-80
1984/85 Macintosh, Windows 1.0
1991–95 WWW 공개, Linux, Java
2006–08 AWS, iPhone/Android
2012–17 AlexNet, 트랜스포머
2020s 생성형 AI 대중화, 특화 가속기, 양자 실험

 

 

 

마무리

컴퓨터의 역사는 추상화와 자동화의 역사이다.

사람이 하던 계산을 기계가 , 기계가 하던 반복을 소프트웨어가 , 이제는 패턴을 배우는 모델이 담당한다.

'🖥️Computer Science' 카테고리의 다른 글

컴퓨터의 문자 체계 (ASCII , Unicode, UTF-8)  (0) 2026.04.07
메모리 구조와 작동 원리  (0) 2025.10.21
CPU 구조  (0) 2025.10.13
최초의 컴퓨터  (0) 2025.09.29
'🖥️Computer Science' 카테고리의 다른 글
  • 컴퓨터의 문자 체계 (ASCII , Unicode, UTF-8)
  • 메모리 구조와 작동 원리
  • CPU 구조
  • 최초의 컴퓨터
DevHoChan
DevHoChan
맨땅에서 시작하는 코딩 도전
  • DevHoChan
    Debugging Life
    DevHoChan
  • 전체
    오늘
    어제
    • 분류 전체보기 (374)
      • 🕹️Game Life (1)
      • 🖥️Computer Science (5)
      • 📖TIL (141)
        • 🔥Projects (16)
        • 💡DevTips (5)
        • 🤔발생한 문제와 해결 (5)
        • 🔮Unity Graphics (5)
        • 🎤Interview (3)
        • ✅CodingTest (9)
      • 🚀Game Release (4)
      • 🧊Unity Basic (58)
        • 📌용어 사전 (1)
        • 에디터&인터페이스 (3)
        • 디버그 (1)
        • 라이프사이클 (4)
        • 게임오브젝트 (4)
        • 프리팹 (1)
        • 오브젝트풀링 (4)
        • 애트리뷰트 (2)
        • 트랜스폼 (4)
        • 물리&충돌 (1)
        • 프레임&델타타임 (4)
        • 코루틴&이벤트 (7)
        • 수학&보정함수 (3)
        • 디자인패턴 (9)
        • UGUI (3)
        • 벡터 ( Vector ) (3)
        • 씬 ( Scene ) (2)
        • 데이터 관리 (2)
      • ⭐C Sharp (99)
        • 📌용어 사전 (1)
        • 📌문법 사전 (6)
        • 메모리 관리 (3)
        • 00. 문법 (17)
        • 01. 변수 (3)
        • 02. 자료형 (2)
        • 03. 연산자 (6)
        • 04. 조건문 (2)
        • 05. 반복문 (2)
        • 06. 배열 (3)
        • 07. 메서드(함수) (7)
        • 08. 열거형 (3)
        • 09. 구조체 (2)
        • 10. 참조 (2)
        • 11. 객체 지향 (11)
        • 12. 델리게이트 (3)
        • 13. 디자인 패턴 (7)
        • 14. LINQ (1)
        • 📂▼자료구조 (2)
        • 15-1. 제네릭 (3)
        • 15-2. 배열 (4)
        • 15-3. 리스트 (2)
        • 15-4. 스택과 큐 (2)
        • 15-5. 딕셔너리 해시테이블 (2)
        • 15-6. 트리와 그래프 (3)
      • 📊Algorithm (16)
        • BigO (2)
        • 정렬 (4)
        • 셔플 (2)
        • 탐색 (6)
        • 최적화 (1)
      • 📝Game Design (16)
      • 🤖​AI Tools (12)
        • AI 리뷰 분석 (6)
        • Player2 (0)
        • 3D 모델링 (1)
        • 2D 스프라이트 (0)
        • 이미지 (2)
        • 사운드 (1)
        • 동영상 (1)
        • 문서 (1)
      • 🌍Network (6)
      • 🌱Github (11)
        • 기본 개념 (7)
        • 명령어 (1)
        • 도구 활용 (1)
      • ⚙️Visual Studio (5)
        • 🔧설치 및 환경설정 (2)
        • ⌨️HotKey (1)
        • 🚨디버깅 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    유니티
    csharp
    문법
    unity
    OOP
    자료형
    부트캠프
    gamedesign
    자료구조
    메모리관리
    객체지향
    게임기획
    til
    algorithm
    기획
    디자인패턴
    CodingTest
    게임디자인
    c#
    GitHub
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
DevHoChan
컴퓨터의 역사
상단으로

티스토리툴바