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

괄호투성이 언어 Scheme, 왜 고수들은 이걸 '재미있다'고 할까

Hacker News 원문 보기

괄호로 가득한 그 언어

혹시 코드가 온통 괄호로 뒤덮인 화면을 본 적 있나요? (+ 1 2) 이런 식으로 계산식을 쓰는 언어요. 처음 보면 '이게 무슨 외계어인가' 싶은데, 이게 바로 Lisp(리스프) 집안의 막내 격인 Scheme(스킴)이에요. 1975년에 태어난 꽤 나이 많은 언어인데, 신기하게도 요즘까지도 'Scheme은 정말 재밌다'며 애정을 고백하는 개발자들이 끊이지 않아요. 대체 이 괄호 덩어리의 뭐가 그렇게 사람을 홀리는 걸까요?

코드가 곧 데이터라는 마법

이게 뭐냐면, Scheme에서는 (+ 1 2)처럼 괄호로 묶인 게 전부 '리스트'예요. 첫 번째 자리에 있는 +를 '이걸 실행해라'라는 명령으로 보고, 뒤의 1과 2를 재료로 쓰는 거죠. 함수를 부를 때도 (더하기 3 4)처럼 똑같은 모양이에요. 문법이라고 할 게 거의 없어요. 그냥 괄호로 묶고, 맨 앞에 할 일을 적고, 뒤에 재료를 적는다. 이게 끝이에요.

여기서 진짜 마법이 나와요. 코드도 리스트고 데이터도 리스트니까, Scheme에서는 '코드가 곧 데이터'예요. 이걸 어려운 말로 동형성(homoiconicity)이라고 하는데, 쉽게 말하면 프로그램이 자기 자신을 재료처럼 집어서 주무를 수 있다는 뜻이에요. 그래서 나오는 게 매크로(macro)예요. 다른 언어의 매크로랑은 차원이 달라요. 아예 새로운 문법, 새로운 제어 구조를 내가 직접 만들어서 언어를 확장할 수 있거든요. 마치 레고 블록으로 레고 공장을 만드는 느낌이랄까요.

작지만 깊은 언어

Scheme의 또 다른 매력은 '작다'는 거예요. 언어 표준(R7RS라고 불러요)의 핵심 명세가 수십 페이지밖에 안 돼요. 자바나 C++ 명세가 수천 페이지인 걸 생각하면 놀랍죠. 언어 전체를 머릿속에 통째로 담을 수 있다는 건, 문법을 외우는 데 에너지를 쓰는 대신 '문제 자체'에 집중할 수 있다는 뜻이에요.

작다고 얕은 건 절대 아니에요. Scheme에는 꼬리 재귀 최적화(tail call optimization)라는 게 있어서, 반복문 없이 재귀만으로 백만 번을 돌려도 스택이 넘치지 않아요. 그리고 계속(continuation)이라는, 정말 머리 아프지만 강력한 개념이 있어요. 이게 뭐냐면 '지금 이 순간 이후에 해야 할 나머지 계산 전체'를 하나의 값으로 붙잡아서, 나중에 다시 그 지점으로 점프할 수 있게 해주는 기능이에요. 이걸로 예외 처리, 코루틴, 백트래킹 같은 걸 언어가 기본 제공을 안 해줘도 직접 만들어낼 수 있죠.

업계에서의 위치

그럼 Scheme이 실무에서 많이 쓰이냐 하면, 솔직히 그렇진 않아요. 하지만 그 DNA는 곳곳에 살아 있어요. JVM 위에서 도는 Clojure(클로저)는 Lisp의 아이디어를 현대적인 실무 언어로 부활시킨 경우고, Racket(랙킷)은 Scheme에서 갈라져 나와 '언어를 만드는 언어'로 진화했어요. GNU 소프트웨어들이 확장 스크립트로 쓰는 Guile도 Scheme이고요. 무엇보다 MIT의 전설적인 교재 SICP(컴퓨터 프로그램의 구조와 해석)가 Scheme으로 쓰여 있어서, 컴퓨터과학을 제대로 공부한 사람이라면 한 번쯤 거쳐 가는 통과의례 같은 언어예요.

한국 개발자에게

당장 Scheme으로 회사 서비스를 만들라는 얘기가 아니에요. 그보다는 '사고의 근육'을 키우는 헬스장 같은 언어라고 보면 좋아요. 재귀로만 문제를 풀어보고, 함수를 값처럼 주고받고, 매크로로 언어 자체를 늘려보는 경험을 하고 나면, 다시 파이썬이나 자바스크립트로 돌아왔을 때 코드를 보는 눈이 달라져 있거든요. 특히 요즘 함수형 프로그래밍 개념(순수 함수, 불변 데이터 같은 것들이요)이 리액트나 코틀린 같은 실무 도구에 깊이 들어와 있어서, 그 뿌리를 Scheme으로 한번 만져보면 이해가 훨씬 단단해져요.

한 줄로 정리하면, Scheme은 '문법을 배우는 언어'가 아니라 '생각하는 법을 배우는 언어'예요. 여러분은 실무에 당장 안 쓰더라도 재미로 파볼 만한 언어, 하나쯤 마음에 품고 계신가요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

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

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

파이썬 강의 보기

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

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

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

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

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