
프로그래밍 언어에 대한 다큐멘터리라니
프로그래밍 언어를 주제로 한 다큐멘터리 영화가 제작되고 있어요. 바로 "Clojure: The Documentary"인데요. 공식 트레일러가 공개됐고, Clojure라는 언어가 어떻게 탄생했는지, 그리고 그 뒤에 담긴 철학이 무엇인지를 깊이 있게 다루는 영화예요.
Clojure를 잘 모르시는 분들을 위해 설명하자면, Clojure는 2007년에 Rich Hickey라는 개발자가 만든 프로그래밍 언어예요. JVM(자바 가상 머신) 위에서 돌아가는 Lisp 계열 언어인데요. Lisp이 뭐냐면, 1958년에 만들어진 아주 오래된 프로그래밍 언어 패밀리로, 괄호를 많이 쓰는 걸로 유명하고, "코드가 곧 데이터"라는 독특한 철학을 가지고 있어요. Clojure는 이 Lisp의 장점을 현대적으로 다시 살려낸 언어라고 보면 돼요.
Rich Hickey, 그리고 Clojure의 탄생 배경
Clojure를 이해하려면 만든 사람인 Rich Hickey를 알아야 해요. 그는 C++과 Java로 상업용 소프트웨어를 오랫동안 만들던 개발자였는데요. 복잡한 시스템을 만들면서 "왜 프로그래밍이 이렇게 어려운 거지?"라는 근본적인 질문을 계속 했대요. 그가 내린 결론은 대부분의 복잡성이 상태 변경(mutable state) 에서 온다는 거였어요.
이게 뭐냐면, 보통 프로그래밍에서 변수에 값을 넣고, 그 값을 바꾸고, 또 바꾸고 하잖아요. 여러 스레드가 동시에 같은 변수를 바꾸려고 하면 버그가 생기고, 어디서 값이 바뀌었는지 추적하기가 정말 어려워지거든요. Rich Hickey는 "데이터를 한번 만들면 절대 바꾸지 못하게 하면 어떨까?"라는 아이디어에서 출발해서 Clojure를 설계했어요. 이런 걸 불변성(immutability) 이라고 하는데, Clojure에서는 이게 기본이에요.
그가 2년간 직장을 쉬면서 개인 저축으로 생활하며 Clojure를 만들었다는 이야기는 개발자 커뮤니티에서 전설처럼 전해지고 있어요. 별도의 투자나 회사의 지원 없이, 순수하게 "더 나은 프로그래밍 방식"에 대한 확신으로 만든 거죠.
Clojure가 가져온 영향
"그래서 Clojure가 얼마나 인기 있는데?"라고 물으시면, 솔직히 Python이나 JavaScript만큼 주류는 아니에요. 하지만 Clojure의 영향력은 사용자 수보다 훨씬 커요.
먼저, 불변 데이터 구조라는 개념을 실용적으로 증명했어요. Clojure의 불변 데이터 구조는 Phil Bagwell의 연구를 기반으로 한 Persistent Data Structure라는 건데, 데이터를 "바꾸는" 것처럼 보이지만 실제로는 이전 버전을 보존하면서 새 버전을 효율적으로 만들어내는 구조예요. 이 아이디어가 나중에 React의 상태 관리나 Redux, Immutable.js 같은 JavaScript 라이브러리에 직접적인 영감을 줬어요. React를 만든 Facebook 팀이 Clojure의 ClojureScript에서 많은 영감을 받았다는 건 널리 알려진 사실이에요.
또한 Rich Hickey의 여러 발표들, 특히 "Simple Made Easy", "The Value of Values" 같은 강연은 프로그래밍 언어와 상관없이 모든 개발자에게 추천되는 명강연이에요. 복잡성을 다루는 방법, 단순함의 가치에 대해 깊이 있게 이야기하거든요.
프로그래밍 언어 다큐멘터리라는 장르
사실 프로그래밍 언어에 대한 다큐멘터리는 처음이 아니에요. 이전에도 Ruby, Elm 등의 언어에 대한 다큐멘터리가 만들어진 적이 있어요. 이런 다큐멘터리가 의미 있는 이유는, 단순히 언어의 문법을 설명하는 게 아니라 "왜 이 언어가 이런 선택을 했는가"라는 설계 철학을 다루기 때문이에요.
프로그래밍 언어를 배울 때 문법만 배우면 "how"만 아는 거잖아요. 하지만 그 언어가 왜 그렇게 설계됐는지를 알면 "why"를 이해하게 되고, 이건 다른 언어를 쓸 때도 사고의 폭을 넓혀줘요. 예를 들어 Clojure의 불변성 철학을 이해하면, Java나 Kotlin에서도 불필요한 상태 변경을 줄이는 방향으로 코드를 짜게 되거든요.
한국 개발자에게 주는 시사점
한국에서 Clojure를 실무에 쓰는 곳은 많지 않아요. 하지만 Clojure가 전파한 아이디어들은 이미 한국 개발자들도 매일 쓰고 있어요. React로 프론트엔드를 개발하고 있다면, 그 기저에 있는 불변 상태 관리 패턴이 Clojure에서 온 거예요. Kotlin의 data class, Java의 record도 불변 데이터를 쉽게 만들자는 같은 맥락이고요.
이 다큐멘터리를 꼭 Clojure를 배우기 위해서가 아니라, 프로그래밍 언어 설계의 "왜"를 이해하는 교양으로 접근하면 좋을 것 같아요. 특히 Rich Hickey의 "Simple Made Easy" 강연은 30분짜리인데 커리어 전체에 영향을 줄 수 있는 내용이니, 아직 안 보셨다면 이번 기회에 한번 찾아보시는 걸 추천해요.
정리하자면
좋은 프로그래밍 언어는 문법이 아니라 생각하는 방식을 바꿔줘요. Clojure 다큐멘터리는 하나의 언어를 넘어서, "소프트웨어를 어떻게 더 잘 만들 수 있을까"에 대한 이야기가 될 거예요.
여러분이 사용하는 언어의 설계 철학을 깊이 파보신 적 있나요? 어떤 언어가 여러분의 프로그래밍 사고방식에 가장 큰 영향을 줬는지 궁금해요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공