기타 Lobsters · 2026-09-28

개발자들도 질색하는 리스프의 '괄호 지옥', 사실 인지과학적 이유가 있었다

핵심 요약
  • 리스프(Lisp) 언어는 특유의 괄호 위주 문법 때문에 읽기 어렵다는 비판을 받아왔으며, 흔히 '단지 익숙하지 않아서'라는 설명이 뒤따랐습니다.
  • 필자는 인지과학의 스트룹 효과와 게슈탈트 근접성 법칙을 근거로, 괄호 위치와 공백 차이가 시각 정보 처리에 결정적인 영향을 미친다고 분석합니다.
  • C 스타일 언어는 공백과 쉼표로 덩어리 인식을 돕는 반면, 리스프는 균일한 공백 구조 탓에 시각적 그룹화가 어려워 인지적 파싱 부담을 가중시킵니다.
요약 프로그래밍 언어 리스프(Lisp)는 특유의 수많은 괄호 문법으로 악명이 높습니다. 파이썬이나 자바, C 같은 현대 주요 언어에 비해 코드를 읽기가 현저히 어려워 이를 극복하려는 다양한 시도가 이어져 왔지만, 리스프 애호가들은 흔히 "단지 덜 익숙해서일 뿐이며, 익숙해지면 괄호는 신경 쓰이지 않는다"고 반박하곤 합니다. 하지만 글쓴이는 단순히 익숙함의 문제가 아니라 인간 인지과학의 메커니즘에 근본적인 원인이 있다고 분석합니다. 일반적인 리스프 코드는 모든 표현식과 함수 호출이 `(연산 인자...)` 형태로 동일하게 작성됩니다. 중위 연산자나 키워드 부재도 거론되지만, 핵심적인 차이는 바로 괄호의 배치입니다. 인간의 시각 인지에는 텍스트 색상과 단어가 불일치할 때 반응이 느려지는 '스트룹 효과'나 특정 이상점을 즉시 찾아내는 '팝아웃 효과'처럼 시각 정보를 처리하는 일종의 내장 '하드웨어 가속'이 존재합니다. 여기서 결정적인 차이를 만드는 것이 바로 게슈탈트 심리학의 '근접성의 법칙'입니다. C 스타일 표기법은 괄호와 쉼표, 공백의 배치를 통해 함수와 인자를 하나의 시각적 단위로 자연스럽게 묶어 뇌가 인지하도록 돕습니다. 반면 리스프는 함수와 모든 인자가 일정한 단일 공백으로만 구분되어 시각적인 그룹화 신호를 전혀 제공하지 못합니다. 결국 코드를 볼 때 직관적으로 덩어리를 인식하지 못하고 뇌가 일일이 괄호를 계산하며 파싱해야 하므로 피로도가 극대화된다는 설명입니다.
Sponsored · 광고