TECH 으로 돌아가기
TECH HACKER NEWS 오늘 6분 읽기 32 READS

27년째 매달 릴리스되는 Lisp 컴파일러 — SBCL 2.6.7이 보여주는 꾸준함

스틸 뱅크 커먼 리스프(Steel Bank Common Lisp), 줄여서 SBCL의 2.6.7 버전이 릴리스됐어요. "리스프? 그 괄호 잔뜩 나오는 옛날 언어?"라고 생각하실 수 있는데요, 이 프로젝트가 흥미로운 건 1999년에 시작된 오픈소스 컴파일러가 지금까지도 거의 매달 꼬박꼬박 새 버전을 내놓고 있다는 점이에요. 요즘처럼 프레임워크가 2년마다 갈아엎어지는 시대에, 27년째 같은 리듬으로 굴러가는 프로젝트는 그 자체로 들여다볼 가치가 있거든요.

SBCL이 뭐냐면

커먼 리스프(Common Lisp)는 1950년대 말 존 매카시가 만든 리스프(Lisp) 언어의 표준화 버전이에요. 1994년에 ANSI 표준으로 확정됐고, 그 표준을 구현한 처리계(컴파일러와 런타임)가 여러 개 있는데 SBCL이 그중 가장 널리 쓰이는 오픈소스 구현체예요. 이름이 재미있는데요, 카네기 멜런 대학에서 만든 CMUCL이라는 구현체에서 갈라져 나왔거든요. 카네기는 철강(Steel) 재벌, 멜런은 은행(Bank) 재벌이라서 'Steel Bank'라는 이름을 붙인 거예요. 개발자식 말장난이죠.

SBCL의 가장 큰 특징은 인터프리터가 아니라 네이티브 컴파일러라는 점이에요. 리스프 코드를 기계어로 직접 컴파일하기 때문에, 타입 선언을 잘 붙여주면 C에 견줄 만한 성능이 나오는 경우도 있어요. 동적 언어의 유연함과 컴파일 언어의 속도를 같이 잡으려는 설계인 거죠. 컴파일하면서 타입 오류나 의심스러운 코드를 경고해주는 정적 분석도 꽤 강력하고요.

죽은 언어 아니냐고요? 실무에서도 씁니다

커먼 리스프는 조용하지만 확실한 실전 이력이 있어요. 구글이 인수한 ITA 소프트웨어의 항공권 검색 엔진 QPX는 커먼 리스프로 만들어져서 오랫동안 전 세계 항공권 검색을 처리했고, 문법 교정 서비스 그래머리(Grammarly)도 핵심 텍스트 처리 엔진에 커먼 리스프를 써온 걸로 유명해요. 복잡한 도메인 로직을 빠르게 실험하고, 완성되면 그대로 고성능으로 돌릴 수 있다는 게 이 언어의 강점이거든요.

개발 경험도 독특해요. 리스프의 상징인 REPL 중심 개발은 프로그램을 껐다 켜는 게 아니라, 실행 중인 프로그램에 접속해서 함수를 하나씩 고쳐 넣는 방식이에요. 이게 뭐냐면, 요즘 프런트엔드의 핫 리로드(코드 저장하면 화면이 바로 바뀌는 그 기능이요)를 수십 년 전부터 언어 차원에서 지원했다고 보시면 돼요. 심지어 프로그램이 에러로 죽기 직전 상태에서 멈춰 서서, 그 자리에서 코드를 고치고 이어서 실행하는 '컨디션 시스템'이라는 것도 있어요. 라이브러리는 Quicklisp라는 패키지 관리자로 설치하고, 에디터는 Emacs에 SLIME이나 Sly를 조합하는 게 정석이고요.

업계 맥락: 리스프의 유산은 어디에나 있어요

사실 여러분이 리스프를 안 써봤어도 리스프의 아이디어는 매일 쓰고 계세요. 가비지 컬렉션, REPL, 고차 함수, 매크로 같은 개념이 전부 리스프에서 나오거나 리스프로 대중화됐거든요. 현대의 후손들도 건재해요. JVM 위에서 도는 클로저(Clojure)는 웹 백엔드와 데이터 처리에서 꾸준히 쓰이고, 라켓(Racket)은 언어 연구와 교육 쪽에서 확고한 자리를 잡았죠. 러스트의 매크로나 엘릭서의 메타프로그래밍에서도 리스프의 그림자가 보이고요. SBCL의 릴리스는 화려한 신기능보다 버그 수정과 최적화, 플랫폼 지원을 다듬는 꾸준한 개선 위주인데, 이런 '지루할 만큼 견고한' 릴리스가 매달 반복된다는 것 자체가 성숙한 인프라의 증거예요.

한국 개발자에게 주는 시사점

당장 회사 프로젝트를 커먼 리스프로 하자는 건 아니에요. 하지만 사이드로 배워볼 가치는 충분해요. 괄호에 익숙해지고 나면 '코드가 곧 데이터'라는 매크로의 감각, REPL로 프로그램을 조각하듯 만들어가는 워크플로우가 다른 언어를 쓸 때도 사고방식을 바꿔주거든요. 무료로 공개된 'Practical Common Lisp'라는 책으로 시작하면 좋고, 설치는 macOS 기준 brew install sbcl 한 줄이면 끝나요.

마무리

한 줄 정리: 유행을 타지 않는 도구는 유행보다 오래 살아남는다. 여러분이 배워본 '오래된' 언어 중에 지금의 개발 습관을 바꿔놓은 게 있다면 뭐였나요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://sbcl.org/all-news.html?2.6.7
SHARE
처리 중...