
클럽 무대 위에서 DJ 대신 프로그래머가 코드를 쳐서 음악을 만드는 공연 문화가 있어요. 라이브 코딩이라고 부르는데요, 관객이 보는 앞에서 코드를 실시간으로 고치면 소리가 즉시 바뀌는, 프로그래밍과 즉흥 연주가 합쳐진 장르예요. 이런 공연이 열리는 파티를 알고리즘과 레이브를 합쳐 '알고레이브(algorave)'라고 부르기도 하고요. 이 씬에서 활발하게 활동해 온 개발자 Raphaël Forment가 이번에는 꽤 독특한 선택을 했어요. 파이썬 기반 라이브 코딩 도구 Sardine을 만들었던 그가, 이번에는 무려 Forth로 라이브 코딩 환경 'Cagire'를 만든 거예요.
Forth가 뭐냐면요
Forth는 1970년대 초에 만들어진 스택 기반 언어예요. 우리가 흔히 쓰는 언어들이 2 + 3처럼 연산자를 가운데 쓰는 것과 달리, Forth는 2 3 +처럼 값을 먼저 스택에 쌓고 연산자가 그걸 꺼내서 계산하는 후위 표기법을 써요. 스택이 뭐냐면 접시 쌓기를 떠올리면 돼요. 나중에 올린 접시를 먼저 꺼내는 구조인데, Forth에서는 모든 데이터가 이 접시 더미를 오가며 처리돼요. 그리고 Forth의 진짜 매력은 '단어(word)'라는 개념이에요. 자주 쓰는 동작에 이름을 붙여 새 단어로 정의하면 그게 곧바로 언어의 일부가 되거든요. 프로그램을 짠다기보다, 내 문제에 맞는 어휘를 하나씩 만들어서 나만의 언어를 키워가는 느낌에 가까워요. 이런 단순한 구조 덕분에 인터프리터 전체가 몇 KB 수준으로 구현될 만큼 작아서, 지금도 우주 탐사선이나 임베디드 부트로더 같은 극한 환경에서 쓰이고 있어요.
왜 하필 라이브 코딩에 Forth일까요
생각해 보면 궁합이 꽤 좋아요. 라이브 코딩의 핵심은 '실행을 멈추지 않고 조금씩 고쳐가는 것'인데, Forth는 태생부터 대화형 언어거든요. 단어 하나를 정의하고, 바로 실행해 보고, 마음에 안 들면 다시 정의하는 흐름이 언어의 기본 동작 방식이에요. 컴파일하고 재시작하는 과정 없이 시스템이 계속 살아있는 채로 진화하는 거죠. 게다가 공연에서는 타이핑 한 글자가 곧 리듬이라서 문법이 짧을수록 유리한데, Forth는 괄호도 쉼표도 거의 없이 단어를 공백으로 나열하는 문법이라 극단적으로 간결해요. 짧은 단어들을 조합해 점점 복잡한 패턴을 쌓아가는 과정 자체가 즉흥 연주의 구조와 닮아 있기도 하고요. Cagire는 이런 Forth의 성질을 그대로 살려서, 소리를 만드는 단어들을 정의하고 조합하며 실시간으로 음악을 구성해 나가는 환경이에요.
라이브 코딩 도구들의 계보
이 동네에는 이미 개성 강한 도구가 많아요. 하스켈 기반의 TidalCycles는 함수형 패턴 조합으로 유명하고, 루비 기반의 Sonic Pi는 교육용으로도 널리 쓰여요. 자바스크립트로 브라우저에서 바로 도는 Strudel도 인기고, Forment 본인이 만든 Sardine은 파이썬의 비동기 기능을 활용했죠. 재미있는 건 각 도구의 음악적 표현이 기반 언어의 패러다임을 그대로 닮는다는 거예요. 하스켈 도구는 패턴의 수학적 변형에 강하고, 파이썬 도구는 유연한 스크립팅에 강한 식이죠. 그 계보에 스택 언어라는 전혀 다른 패러다임이 합류한 셈이라, '스택 기반 사고가 음악에서는 어떤 표현으로 이어질까'를 관찰할 수 있는 흥미로운 실험이에요.
한국 개발자에게 주는 시사점
당장 실무에 Forth를 쓸 일은 없더라도, 이런 프로젝트에서 배울 게 있어요. 첫째, DSL(도메인 특화 언어) 설계 감각이에요. 내 도메인의 개념을 언어의 어휘로 만들어가는 Forth식 접근은 좋은 API나 내부 도구를 설계할 때 그대로 통하는 사고방식이거든요. 둘째, REPL 중심 개발의 즐거움이에요. 결과를 즉시 확인하며 조금씩 다듬는 개발 루프는 생산성과 직결되는데, 라이브 코딩은 그 극한 형태라서 한 번 경험해 보면 평소 개발 습관에도 좋은 영향을 줘요. 주말에 가볍게 라이브 코딩 도구 하나 열어서 소리를 만들어 보는 것, 생각보다 훌륭한 리프레시가 됩니다.
정리하며
50년 된 미니멀리즘 언어가 무대 위 즉흥 연주의 도구로 되살아났다는 것 자체가 멋진 이야기예요. 여러분은 '주류는 아니지만 배워서 사고방식이 바뀐 언어'가 있나요? 있다면 어떤 언어였고 뭐가 달라졌는지 들려주세요.
🔗 출처: Hacker News