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

작지만 단단한 Lisp, Janet은 왜 사랑받을까

Hacker News 원문 보기
작지만 단단한 Lisp, Janet은 왜 사랑받을까

이름도 생소한 작은 언어가 왜 화제일까

프로그래밍 언어 얘기를 하다 보면 보통 파이썬, 자바스크립트, 러스트 같은 큰 이름들이 먼저 나오잖아요. 그런데 가끔은 이름도 잘 안 들어본 작은 언어가 개발자들 사이에서 조용히, 그렇지만 꽤 진하게 사랑받는 경우가 있거든요. Janet(자넷)이 딱 그런 언어예요. Calvin Rose라는 한 사람이 거의 혼자 만든 언어인데, 'Why Janet?'이라는 글을 통해 한 개발자가 "내가 왜 이 언어에 빠졌는지"를 풀어낸 게 다시 회자되고 있어요.

Janet을 한마디로 설명하면 "아주 작고 가벼운 Lisp(리스프) 계열 언어"예요. Lisp이 뭐냐면, 괄호로 코드를 감싸는 좀 독특하게 생긴 언어 계열인데요. (더하기 1 2)처럼 함수 이름을 맨 앞에 두고 그 뒤에 인자를 나열하는 방식이에요. 처음엔 괄호가 많아서 거부감이 들 수 있는데, 익숙해지면 코드 자체가 곧 데이터 구조라서 굉장히 유연한 게 매력이에요.

핵심은 '임베딩'과 '딱 적당한 크기'

Janet의 가장 큰 특징은 루아(Lua)처럼 다른 프로그램 안에 쏙 넣을 수 있다는 점이에요. 인터프리터 전체가 작아서, C 코드로 짜여진 프로그램에 라이브러리처럼 끼워 넣고 "이 부분은 스크립트로 처리할게" 하는 식으로 쓸 수 있거든요. 게임 엔진이나 임베디드 환경에서 루아를 많이 쓰는 그 자리를, Janet이 노리고 있다고 보면 돼요.

그런데 단순히 작기만 한 게 아니에요. 보통 작은 언어들은 기능을 덜어내서 가벼운 건데, Janet은 의외로 기본기가 탄탄해요. 배열, 해시테이블, 불변(immutable) 자료구조까지 처음부터 내장돼 있고, 무엇보다 PEG(파싱 표현식 문법)라는 강력한 텍스트 파싱 도구가 언어 안에 기본 탑재돼 있어요. 이게 뭐냐면, 로그 파일이나 특정 포맷의 문자열을 분석할 때 정규식보다 훨씬 읽기 좋고 강력하게 규칙을 짤 수 있는 도구예요. 작은 스크립트 언어에 이런 게 기본으로 들어있는 건 흔치 않거든요.

또 하나 재밌는 건 fiber(파이버)라는 개념이에요. 코루틴이라고 들어보셨을 텐데, 함수 실행을 중간에 멈췄다가 나중에 이어서 돌릴 수 있는 기능이에요. Janet은 이 fiber를 에러 처리나 비동기 흐름 제어에까지 폭넓게 활용해요. 예외 처리도 별도 문법이 아니라 fiber로 풀어낸다는 점이 설계가 일관되고 깔끔하다는 인상을 줘요.

Clojure, Fennel, Lua와 비교하면

Lisp 계열에서 요즘 가장 유명한 건 자바 위에서 도는 Clojure(클로저)죠. 하지만 Clojure는 JVM이라는 무거운 기반 위에서 돌아가서 시작이 느리고 덩치가 커요. 간단한 스크립트 하나 돌리려고 JVM을 띄우는 게 부담스러운 상황이 많거든요. Janet은 그 부담 없이 거의 즉시 실행돼요.

같은 제작자가 만든 Fennel도 비교 대상인데, Fennel은 루아로 컴파일되는 Lisp이라 루아 생태계에 의존해요. 반면 Janet은 독립된 언어이자 런타임이라 자기만의 세계를 갖고 있죠. 결국 Janet의 포지션은 "Clojure만큼 표현력 있는 Lisp을, 루아만큼 가볍게" 정도로 정리할 수 있어요. 이 틈새가 생각보다 비어있던 자리라서 매력을 느끼는 사람이 많은 거예요.

한국 개발자에게 주는 의미

당장 회사 메인 스택을 Janet으로 바꾸자는 얘기는 당연히 아니에요. 다만 "언어를 직접 임베딩한다"는 경험은 한 번쯤 해볼 가치가 있어요. 설정 파일을 코드처럼 다루고 싶거나, 사용자에게 안전한 스크립팅 기능을 열어주고 싶을 때 Janet 같은 작은 언어를 붙이는 선택지를 알아두면 시야가 넓어지거든요.

그리고 Lisp을 한 번도 안 써봤다면, 무거운 Clojure보다 Janet으로 입문하는 게 훨씬 부담이 적어요. 설치도 간단하고, REPL(코드를 한 줄씩 바로 실행해보는 대화형 환경)도 가벼워서 "Lisp의 사고방식"을 맛보기에 딱 좋아요. 코드를 데이터처럼 다루는 매크로 경험은 다른 언어를 쓸 때도 추상화를 보는 눈을 키워줘요.

결국 Janet의 매력은 "한 사람이 일관된 철학으로 빚어낸 작고 단단한 도구"라는 데 있어요. 여러분은 메인 언어 말고, 이렇게 작지만 영감을 주는 언어를 따로 가지고 계신가요? 한 번쯤 곁다리로 파볼 언어가 있다면 뭘 추천하고 싶으세요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

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

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

파이썬 강의 보기

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

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

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

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

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