처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.06.01 27

Racket 9.2 출시 — 언어를 만드는 언어의 새로운 한 걸음

Hacker News 원문 보기

Racket이라는 언어를 먼저 소개할게요

Racket이라는 이름을 처음 들어보는 분도 많을 텐데요. 이게 뭐냐면, Scheme이라는 Lisp 계열 언어에서 갈라져 나온 함수형 프로그래밍 언어예요. 미국 대학에서 "프로그래밍의 원리"를 가르칠 때 자주 쓰여서, 학계에서는 꽤 유명한 언어죠. 한국에서는 SICP라는 전설적인 교재(원래는 Scheme으로 쓰여진)와 함께 종종 언급되곤 해요.

Racket의 가장 큰 특징은 "언어를 만드는 언어"라는 점이에요. 보통 프로그래밍 언어는 정해진 문법과 규칙이 있는데, Racket은 사용자가 자기만의 문법과 규칙을 가진 "새로운 언어"를 Racket 안에서 만들 수 있게 해줘요. 이걸 언어 지향 프로그래밍(Language-Oriented Programming, LOP)이라고 불러요. 예를 들어 교육용 언어, DSL(도메인 특화 언어), 심지어 Typed Racket처럼 정적 타입 시스템을 가진 변종까지 Racket 위에서 만들어졌어요.

이번에 Racket 9.2 버전이 공개됐어요. 마이너 업데이트처럼 보이지만, 메이저 버전 9 라인의 점진적인 개선이 누적되면서 꽤 의미 있는 변화들이 들어갔어요.

이번 버전의 핵심 변화

9.2의 주요 개선은 크게 성능, 도구 체인, 라이브러리 세 갈래로 볼 수 있어요. Racket은 몇 년 전 "Racket CS"라는 이름으로 Chez Scheme 기반 런타임으로 갈아탄 적이 있는데요. 이 작업이 끝난 이후 매 버전마다 컴파일러 성능과 GC(가비지 컬렉터, 메모리 자동 정리 시스템) 효율이 조금씩 좋아지고 있어요. 9.2에서도 특정 워크로드에서 컴파일 시간과 메모리 사용량이 줄었다는 보고가 있어요.

도구 쪽에서는 DrRacket이라는 공식 IDE의 사용성이 개선됐어요. DrRacket은 "누구나 처음 프로그래밍을 배울 때 좌절하지 않게 한다"는 철학으로 만들어진 교육용 IDE인데, 디버거와 에러 메시지가 친절한 걸로 유명해요. 이번에는 에러 표시 방식과 매크로 디버깅 기능이 다듬어졌어요. 매크로(macro)가 뭐냐면, 코드를 자동으로 더 긴 코드로 펼쳐주는 일종의 "코드 생성 기능"이에요. Lisp 계열의 가장 강력한 무기 중 하나죠.

라이브러리 면에서는 패키지 매니저(raco pkg)의 안정성이 올라갔고, 표준 라이브러리에 몇 가지 함수가 추가됐어요. 또 #lang이라는 언어 선언 시스템이 더 견고해졌어요. Racket 파일은 첫 줄에 #lang racket이나 #lang typed/racket처럼 "이 파일은 어떤 언어로 쓰였는지"를 선언하는데, 이게 바로 LOP의 핵심 메커니즘이에요. 같은 프로젝트 안에 여러 언어로 쓰인 파일이 자연스럽게 공존할 수 있는 거죠.

업계 흐름에서 Racket의 위치

솔직히 말해서 Racket은 산업계 점유율로 보면 작은 언어예요. TIOBE 같은 인기 지표에서 보기 어렵고, 구인공고에도 거의 안 보이죠. 하지만 언어 설계와 프로그래밍 언어 이론(PL) 연구에서는 영향력이 큰 언어예요. Racket 커뮤니티에서 나온 아이디어들이 다른 주류 언어로 흘러들어가는 경우가 많거든요.

비교 대상으로는 Clojure(JVM 위의 Lisp), Common Lisp(가장 오래된 Lisp 방언), Scheme(Racket의 사촌) 같은 언어들이 있어요. 이 중 Clojure가 산업계에서 가장 성공한 Lisp인데, Racket과는 지향점이 좀 달라요. Clojure는 자바 생태계와 동시성에 강점이 있고, Racket은 언어 자체를 만지고 확장하는 데 강점이 있어요. 그리고 매크로 시스템의 정교함과 안전성에서는 Racket이 거의 독보적이라는 평가를 받아요. Racket의 매크로는 "hygienic macro"라고 해서, 변수 이름이 꼬이는 문제를 자동으로 막아주거든요.

최근 몇 년간 PL 학계에서는 WebAssembly, 정적 타입 시스템, 점진적 타이핑(gradual typing), 효과 시스템(effect system) 같은 주제가 뜨거운데, Racket은 이 모든 분야에서 실험장 역할을 해왔어요. Typed Racket은 점진적 타이핑의 대표 사례 중 하나로 학계에서 자주 인용돼요.

한국 개발자에게 의미 있는 부분

실무에서 Racket으로 서비스를 만들 일은 거의 없을 거예요. 그런데 한 번쯤 만져볼 가치는 충분해요. 이유는 두 가지예요.

첫째, 언어 설계에 대한 감각이 생겨요. 평소에 우리는 자바, 파이썬, 자바스크립트가 정해준 틀 안에서 코드를 쓰는데, Racket으로 작은 DSL을 하나 만들어보면 "문법이라는 게 사실 디자인 결정이구나", "이 언어가 왜 이렇게 생겼지" 하는 메타적인 시각이 열려요. 이런 감각은 API를 설계하거나, 설정 파일 포맷을 정하거나, 사내 도구를 만들 때 의외로 큰 도움이 돼요.

둘째, 함수형 프로그래밍의 사고방식을 익히기 좋아요. 요즘 자바스크립트나 코틀린, 스위프트도 함수형 스타일을 많이 받아들였지만, 순수한 함수형 언어에서 직접 코드를 짜보면 "왜 이런 패턴이 좋은지"를 몸으로 이해하게 돼요. 불변성, 고차함수, 재귀, 패턴 매칭 같은 개념이 Racket에서는 곁가지가 아니라 본진이거든요.

시작은 의외로 쉬워요. racket-lang.org에서 설치하면 DrRacket IDE까지 한 번에 들어오고, 첫 줄에 #lang racket만 써주면 바로 코드를 짤 수 있어요. "How to Design Programs"라는 무료 교재가 잘 되어 있어서, 프로그래밍 입문자뿐 아니라 경력자가 사고방식을 다시 정비하는 데도 좋아요.

마무리

한 줄로 정리하면 "교육용·연구용 언어로 자리잡은 Racket이 9.2 버전으로 꾸준한 진화를 이어간다"는 소식이에요. 여러분은 실무에서 쓰지 않더라도 "공부용으로 한 번쯤 만져볼 만한 언어"가 있다면 무엇을 꼽고 싶으세요? 그리고 "언어를 만드는 언어"라는 개념, 여러분의 일상 코딩에서 어떤 식으로 응용할 수 있을 것 같으세요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

파이썬으로 자동화를 시작해보세요

파이썬 기초부터 자동화까지 실전 강의.

파이썬 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.