TECH 으로 돌아가기
TECH HACKER NEWS 오늘 5분 읽기 48 READS

1960년의 리스프를 다시 만나다: PDP-1에서 배우는 컴퓨팅의 뿌리

1960년의 리스프를 다시 만나다: PDP-1에서 배우는 컴퓨팅의 뿌리

60년도 더 된 코드를 들여다보는 이유

요즘 우리는 화려한 AI와 클라우드 시대를 살고 있지만, 그 모든 것의 뿌리를 거슬러 올라가면 1960년대의 초기 컴퓨터와 만나게 돼요. 이번 글은 그 시절의 보물, PDP-1이라는 컴퓨터에서 돌아간 리스프(Lisp)를 직접 탐험해본 이야기예요.

PDP-1은 1959년 DEC라는 회사가 내놓은 초기 미니컴퓨터예요. 당시로선 '작고 사람과 상호작용이 가능한' 혁신적인 기계였고, 최초의 비디오게임 중 하나인 '스페이스워!'가 돌아간 것으로도 유명하죠.

리스프, 모든 것의 할아버지 언어

리스프가 뭐냐면, 1958년 존 매카시(John McCarthy)가 만든 아주 오래된 프로그래밍 언어예요. 그냥 오래된 게 아니라, 지금 우리가 당연하게 쓰는 개념들을 처음 만들어낸 언어거든요.

예를 들어 가비지 컬렉션(garbage collection) — 안 쓰는 메모리를 자동으로 치워주는 기능, 자바나 파이썬이 다 갖고 있죠 — 이 리스프에서 처음 나왔어요. 함수를 값처럼 다루는 것, 재귀, 그리고 코드와 데이터를 같은 형태로 취급하는 발상까지 다 리스프가 원조예요. 한마디로 현대 언어들이 리스프가 60년 전에 깔아둔 길을 따라온 셈이에요.

직접 돌려보면 뭐가 보이나

이 탐험이 흥미로운 건, 그 옛날 환경의 극심한 제약 속에서 어떻게 이런 언어를 구현했는지를 들여다본다는 점이에요. PDP-1은 메모리가 고작 몇 킬로바이트(요즘 폰 사진 한 장 용량도 안 되는) 수준이었어요. 그 좁은 공간에서 리스프 인터프리터를 돌리려면 극단적으로 알뜰하게 설계해야 했죠.

에뮬레이터(옛날 컴퓨터를 요즘 컴퓨터에서 흉내 내 돌리는 프로그램)로 그 시절 리스프를 실행해보면, 괄호로 둘러싸인 그 독특한 문법이 사실은 기계가 코드를 다루기에 가장 쉬운 형태였다는 걸 깨닫게 돼요. 괄호가 워낙 많아서 'Lots of Irritating Superfluous Parentheses(짜증 나게 쓸데없이 많은 괄호들)'라고 농담할 정도지만, 그게 인간의 편의가 아니라 단순함과 일관성을 위한 설계였던 거죠.

업계 맥락 — 왜 지금도 리스프인가

리스프는 박물관 유물이 아니에요. 그 후손들이 여전히 현역이거든요. 클로저(Clojure)는 JVM 위에서 도는 현대 리스프로 실무에서 쓰이고, 에멕스(Emacs) 에디터는 지금도 리스프로 굴러가요. 함수형 프로그래밍이라는 요즘 트렌드의 사상적 뿌리도 상당 부분 리스프에 닿아 있고요.

오래된 시스템을 다시 들여다보는 레트로 컴퓨팅(retro computing) 흐름도 단순한 향수가 아니에요. 자원이 극도로 부족했던 시절의 우아한 해법을 보면서, 자원이 넘쳐나서 오히려 게을러진 요즘 우리의 설계를 되돌아보게 되거든요.

한국 개발자에게

당장 PDP-1 리스프로 돈 벌 일은 없겠죠. 하지만 이런 뿌리 공부는 의외로 실력에 큰 보탬이 돼요. 가비지 컬렉션이 왜 생겼는지, 인터프리터가 어떻게 동작하는지, '코드가 곧 데이터'라는 발상이 왜 그렇게 강력한지를 근본부터 이해하면, 새 언어나 새 패러다임을 만나도 훨씬 빨리 적응할 수 있거든요.

한 번쯤 에뮬레이터로 옛 리스프를 돌려보거나, 클로저 같은 현대 리스프를 맛보는 것도 꽤 알찬 주말 프로젝트예요.

마무리

기술은 빠르게 변하지만, 좋은 아이디어는 60년이 지나도 살아남아요. PDP-1 리스프가 바로 그 증거예요.

여러분은 어떠세요? 컴퓨팅의 역사나 옛 기술을 들여다보는 게 실무에 도움이 된다고 생각하세요, 아니면 그냥 최신 기술만 좇는 게 더 효율적일까요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://obsolescence.dev/pdp1-lisp-introduction.html
SHARE
처리 중...