AI Briefing

프로그래밍의 일곱 가지 원형 언어 (2022)

·2026.04.20 09:51

프로그래밍 언어를 7개 원형으로 나눠 각 계열의 사고방식을 설명한다.

프로그래밍 언어는 문법 차이보다 기초 패턴의 차이로 이해해야 하며, 반복·재귀·구성 방식에 따라 서로 다른 사고 경로를 만든다.

핵심 원형은 ALGOL, Lisp, ML, Self, Forth, APL, Prolog의 7개다. 새 언어를 배울 때는 같은 원형 안에서는 전이가 쉽지만, 다른 원형으로 넘어가면 익숙한 습관을 버리고 새 방식으로 생각해야 한다.

  • ALGOL: 대입, 조건문, 반복문, 함수 중심의 절차형 계열. 오늘날 널리 쓰이는 대부분의 언어가 여기에 속한다. Assembly, Fortran, C, C++, Python, Java, C#, Ruby, Pascal, JavaScript, Ada 등이 포함되며, 이후에는 Self 계열의 객체 개념과 ML 계열의 타입/함수 개념을 흡수해 왔다.
  • Lisp: 괄호로 감싼 전위 표현식과 리스트 코드가 핵심이며, 매크로로 언어 의미 자체를 바꿀 수 있다. Common Lisp, Scheme, Clojure, Emacs Lisp, AutoLISP 등이 이 흐름에 있다.
  • ML: 함수가 일급 값이고, Hindley-Milner 타입 시스템과 재귀 기반 반복이 특징이다. Haskell, Standard ML, OCaml, Agda, Idris로 이어진다.
  • Self: 객체들이 메시지를 주고받는 구조로 모든 동작을 표현한다. 클래스보다 객체 자체를 중심에 두며, Smalltalk와 Self가 대표적이다.
  • Forth: 스택 기반 언어로, 함수 인자 대신 스택을 조작한다. 파서를 가로채 문법 자체를 바꾸는 것도 가능하며, PostScript, Factor, Joy가 같은 계열이다.
  • APL: 모든 것을 n차원 배열로 다루는 압축적 언어다. 짧은 기호로 전체 배열 연산을 표현하며, J, K, MATLAB, NumPy, R에 영향을 줬다.
  • Prolog: 프로그램을 사실과 규칙의 집합으로 쓰고, 런타임이 질의에 대해 탐색한다. SQL과 가까운 논리 프로그래밍의 관점이 중요하며, Prolog, Mercury, Kanren이 여기에 속한다.

학습 우선순위로는 먼저 ALGOL 계열을 확실히 익히고, 그다음 SQL을 배우는 것이 가장 효율적이라고 본다. 이후에는 매년 낯선 원형 언어를 하나씩 배워 사고의 폭을 넓히는 전략이 장기적으로 유리하다. 수치 계산이 많으면 K를, 임베디드 작업이 많으면 gForth를 더 일찍 익히는 식으로 조정할 수 있다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.