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

괄호 지옥을 벗어난 Racket — 새 언어 Rhombus 1.0이 나왔어요

괄호로 가득하던 언어가 익숙한 모습으로 돌아왔어요

혹시 Lisp나 Scheme 같은 언어 본 적 있으세요? 화면이 온통 괄호로 둘러싸여서 처음 보면 "이게 대체 무슨 코드지?" 싶은 그 언어들 말이에요. 예를 들어 1 + 2 3을 쓰려면 (+ 1 ( 2 3)) 이렇게 모든 걸 괄호 안에 넣어야 하거든요. Racket(라켓)도 바로 이 계열의 언어인데요, 대학에서 프로그래밍 언어 이론을 가르칠 때 단골로 등장하고, 특히 "새로운 언어를 만들기 위한 언어"로 유명해요.

이번에 그 Racket 진영에서 Rhombus(롬버스)라는 새 언어가 드디어 정식 1.0을 찍었어요. 한마디로 요약하면 "Racket의 강력한 힘은 그대로 물려받되, 사람을 질리게 하던 괄호 지옥은 버리고 우리가 평소 쓰던 익숙한 문법으로 갈아입은 언어"예요.

Racket이 왜 그렇게 특별했냐면

보통 우리가 쓰는 언어는 문법이 딱 정해져 있죠. 파이썬은 파이썬 문법대로, 자바는 자바 문법대로 써야 하고요. 그런데 Racket은 좀 달라요. 언어 그 자체를 내가 원하는 대로 뜯어고칠 수 있는 기능, 그러니까 '매크로(macro)'가 엄청나게 강력하거든요.

매크로가 뭐냐면요, 쉽게 말해 '내가 새로운 문법을 직접 만들어서 언어에 끼워 넣는 기능'이에요. 예를 들어 파이썬에 없는 unless(if의 반대) 같은 키워드를 내가 만들어서 마치 원래부터 언어에 있던 것처럼 쓸 수 있다고 상상해 보세요. Racket에서는 이게 일상이에요. 그래서 "도메인에 딱 맞는 작은 언어를 그때그때 만들어 쓰자"는 언어 지향 프로그래밍(language-oriented programming)이라는 철학의 본고장이 됐죠.

그런데 이 막강한 힘에는 큰 진입 장벽이 하나 있었어요. 바로 그 괄호투성이 문법이요. 매크로를 쉽게 만들려면 코드 구조가 단순한 게 유리한데, 그러다 보니 모든 걸 괄호로 감싸는 방식을 쓴 거예요. 힘은 세지만 일반 개발자 눈엔 외계어처럼 보이는 게 문제였죠.

Rhombus가 풀어낸 숙제

Rhombus는 이 딜레마를 정면으로 공략했어요. 핵심은 '슈러베리(shrubbery) 표기법'이라는 중간 단계예요. 이게 뭐냐면, 들여쓰기와 줄바꿈, 그리고 익숙한 연산자(+, -, . 같은)를 활용해서 사람이 읽기 편한 코드를 적되, 컴퓨터 입장에서는 여전히 매크로가 다루기 쉬운 깔끔한 구조로 정리되도록 만든 표기 방식이에요. 사람과 매크로, 둘 다 만족시키는 절충안인 셈이죠.

그래서 Rhombus 코드를 보면 파이썬이나 자바스크립트처럼 자연스러워요. 함수 정의는 fun, 패턴 매칭, 클래스, 연산자 오버로딩 같은 현대 언어의 편의 기능이 다 들어있고요. 그러면서도 "내가 새 문법을 정의한다"는 Racket의 매크로 마법은 그대로 살아있어요. 즉, 겉보기엔 평범한 언어인데 속을 열어보면 언어 자체를 개조할 수 있는 신기한 물건이에요. 1.0이 됐다는 건 이제 문법과 표준 라이브러리가 안정화돼서 "이제 진지하게 써도 된다"는 신호이기도 하고요.

업계에서 어떤 위치냐면

사실 "강력한 매크로 + 친숙한 문법"을 노린 시도는 예전부터 있었어요. Clojure(클로저)는 Lisp 문법을 유지한 채 JVM 위에서 실용성을 챙겼고, Elixir(엘릭서)는 Ruby 같은 문법에 매크로를 얹어서 큰 성공을 거뒀죠. Julia도 과학 계산 쪽에서 매크로를 잘 활용하고요. Rhombus는 여기에 "Racket이 수십 년간 쌓아온 언어 제작 도구와 교육 생태계"라는 든든한 뒷배를 깔고 들어온 거예요. 새 언어이긴 한데 기반은 아주 두꺼운 셈이죠.

한국 개발자에게 주는 의미

당장 실무 프로젝트를 Rhombus로 갈아타라는 얘기는 아니에요. 솔직히 그럴 일은 거의 없을 거예요. 하지만 DSL(특정 도메인 전용 언어)을 설계하거나, 컴파일러·파서·언어 처리에 관심이 있다면 이만큼 좋은 학습 교재가 드물어요. "문법을 어떻게 디자인하면 사람도 편하고 기계도 다루기 쉬울까"라는 고민의 정수가 담겨 있거든요. 평소 ESLint 규칙이나 빌드 도구의 설정 문법 같은 걸 만져본 적 있다면, 그 밑바닥 원리를 이해하는 데 큰 도움이 될 거예요.

마무리

Rhombus 1.0은 'Lisp의 힘을 익숙한 문법으로 포장한' 언어로, 강력함과 읽기 편함을 동시에 잡으려는 오랜 꿈의 결과물이에요. 여러분은 언어의 문법을 내 마음대로 바꿀 수 있다면, 어떤 기능을 가장 먼저 만들어 보고 싶으세요?


🔗 출처: Hacker News

SOURCE · HACKER NEWS
원문 전체 보기 → https://blog.racket-lang.org/2026/06/rhombus-v1.0.html
SHARE
처리 중...