Taeyoung Kim

Cloud & Platform

프로그래밍 언어 계보 정리

프로그래밍 언어 계보 정리 학습 내용을 정리한 백필 노트입니다.

이 글은 2025년 학습 기록을 블로그 형식으로 정리한 백필 노트입니다.


1. 초기 기원 (1940~1950년대)

  • 어셈블리어(Assembly, 1940s)
    • 기계어(Machine Code)를 사람이 읽기 쉽게 기호로 표현.
    • 특정 하드웨어에 종속적.
  • 포트란(Fortran, 1957)
    • 최초의 고급언어(HLL, High-Level Language).
    • 수학, 과학 계산 중심.
  • 리습(Lisp, 1958)
    • 인공지능(AI) 연구에 사용.
    • 함수형 프로그래밍의 시초.
  • 코볼(COBOL, 1959)
    • 기업용 데이터 처리 중심.
    • 영어 문장과 유사한 문법.

2. 절차적 프로그래밍의 발전 (1960~1970년대)

  • 알골(Algol, 1960)
    • 구조적 프로그래밍과 블록 구조 개념 도입.
    • 후대 언어(C, Pascal, Java)에 큰 영향.
  • 베이직(BASIC, 1964)
    • 교육용으로 설계, 쉬운 문법.
    • PC 보급과 함께 대중화.
  • 파스칼(Pascal, 1970)
    • 구조적 프로그래밍 교육에 최적화.
  • C 언어(1972)
    • 운영체제(특히 Unix) 개발용.
    • 하드웨어 제어와 고급 문법을 절충.
    • 이후 C++, Java, C#, Go 등에 지대한 영향.

3. 객체지향 언어의 등장 (1980년대)

  • 스몰토크(Smalltalk, 1980)
    • 순수 객체지향 언어.
    • GUI와 이벤트 기반 프로그래밍에 영향.
  • C++ (1983)
    • C에 객체지향 개념(클래스, 상속, 다형성)을 추가.
    • 게임, 시스템, 고성능 애플리케이션 개발에 핵심.
  • 에이다(Ada, 1983)
    • 미국 국방부 주도로 개발.
    • 대규모 시스템 안정성과 실시간 제어에 초점.

4. 스크립트 및 동적 언어의 확산 (1990년대)

  • 파이썬(Python, 1991)
    • 가독성, 간결성 중시.
    • 데이터 과학, 웹, AI, 자동화 등 다방면 활용.
  • 자바(Java, 1995)
    • “한 번 작성하면 어디서나 실행(Write Once, Run Anywhere)”.
    • JVM 기반, 웹/모바일/엔터프라이즈 전반에 확산.
  • PHP (1995)
    • 웹 개발 전용으로 시작, 서버사이드 스크립팅 언어.
  • 자바스크립트(JavaScript, 1995)
    • 브라우저에서 실행되는 동적 언어.
    • 웹 프론트엔드 혁신의 핵심.
  • 루비(Ruby, 1995)
    • 순수 객체지향, “개발자 행복” 강조.
    • Ruby on Rails 프레임워크로 웹 개발 인기.

5. 현대 언어의 다변화 (2000년대~현재)

  • C# (2000)
    • 마이크로소프트 .NET 플랫폼용.
    • C++과 Java의 장점을 융합.
  • 스칼라(Scala, 2004)
    • 객체지향 + 함수형 통합.
    • 빅데이터(스파크)에서 주로 활용.
  • 고(Go, 2009)
    • 구글 개발.
    • 간결한 문법, 병렬 처리(Goroutines) 강점.
  • 러스트(Rust, 2010)
    • 메모리 안전성과 성능 모두 확보.
    • 시스템 프로그래밍, 블록체인, 보안 분야에서 인기.
  • 코틀린(Kotlin, 2011)
    • JVM 기반, 안드로이드 공식 언어.
  • 스위프트(Swift, 2014)
    • 애플의 iOS/macOS 개발 언어.
    • 안전성과 생산성 강조.
  • 타입스크립트(TypeScript, 2012)
    • 자바스크립트에 정적 타입 추가.
    • 대규모 웹 애플리케이션에 필수로 자리잡음.

6. 계보 요약 (영향 관계)

  • Fortran → Algol → C → C++ → Java → C#, Go, Rust
  • Lisp → Scheme → JavaScript, Scala, Clojure
  • Smalltalk → Objective-C, Ruby, Python, Swift
  • COBOL → 기업용 언어들(SQL 등)에 간접 영향

👉 정리하면, 프로그래밍 언어는

  • 초기: 계산 중심(Fortran, Lisp, COBOL)
  • 절차적 발전기: 구조적 프로그래밍(C, Pascal, Algol)
  • 객체지향: 재사용성과 확장성(Smalltalk, C++, Java)
  • 인터넷/스크립트 확산기: 웹과 동적 언어(JavaScript, PHP, Python)
  • 현대: 생산성+안전성+멀티패러다임(Rust, Go, Kotlin, TypeScript)