Clojure 공식 다큐멘터리 페이지 – 영상, 쇼노트, 링크 제공

5 hours ago 2
  • Clojure가 글로벌 핀테크들의 인프라 언어로 성장한 과정을 다룬 1시간짜리 공식 다큐멘터리 영상 공개
  • Clojure의 독특한 기원가치 중심적인 커뮤니티, 소프트웨어 사고방식에 미친 영향을 추적하여 소개
  • 유튜브 링크: 한 프로그래머의 펫 프로젝트가 소프트웨어에 대한 우리의 생각을 어떻게 바꾸었는가
  • 쇼노트에는 Clojure의 기반이 된 핵심 논문, 서적, 강연, 기업 사례가 정리되어 있음
  • Clojure, ClojureScript, ClojureCLR 등 런타임과 Babashka, Jank, ClojureDart 같은 확장 프로젝트도 함께 소개
  • 공식 페이지는 AI 도구, 데이터 사이언스, 에디터 통합, 커뮤니티 채널까지 아우르는 Clojure 생태계의 종합 허브 역할

다큐멘터리 개요

  • Clojure 다큐멘터리는 Rich Hickey의 2년간의 안식년과 한 고집스러운 아이디어에서 출발해, 세계 최대 핀테크 기업 중 하나의 엔지니어링 스택을 구동하게 된 과정을 다룸
  • Rich Hickey, Alex Miller, Stuart Halloway 등 주요 인물이 등장하며, Clojure의 비전통적 기원, 가치 중심 커뮤니티, 그리고 소프트웨어 사고방식에 미친 영향을 탐구
  • 다큐멘터리는 Nubank의 후원으로 제작됨

쇼 노트

  • 기초 연구 논문

    • Out of the Tarpit (2006) — Ben Moseley & Peter Marks, 소프트웨어의 가변 상태가 우발적 복잡성의 주요 원인임을 지적
    • Ideal Hash Trees — Phil Bagwell, Hash Array Mapped Tries (HAMTs) 연구로 Clojure의 영속적 데이터 구조에 직접적 영감 제공
    • Composable Memory Transactions (2005) — Tim Harris 외, 소프트웨어 트랜잭셔널 메모리(STM) 개념 제시로 Clojure의 동시성 모델에 영향
    • Paper Bibliography — Rich Hickey가 Clojure 개발 시 참고한 논문 목록, Michael Fogus가 정리
  • 영향력 있는 서적

    • On Lisp — Paul Graham, 고급 Lisp 기법을 다룬 대표 저서, 온라인 무료 제공
    • Programming Clojure (4th ed.) — Alex Miller, Stuart Halloway, Aaron Bedra 공저, 1판은 Clojure 1.0과 함께 출간
    • The Joy of Clojure — Michael Fogus & Chris Houser 저
  • Rich Hickey의 주요 강연

    • Simple Made Easy (2011) — "simple"과 "easy"의 차이를 정의한 대표 강연
    • Clojure at LispNYC (2007) — Clojure의 첫 공개 발표
    • Are We There Yet? (2009) — Clojure의 상태 모델과 프로그래밍에서의 시간 개념 분석
    • Hammock Driven Development (2010) — 코드를 작성하기 전 문제를 깊이 사고하는 접근 강조
    • The Value of Values (2012)불변 값(immutable values) 의 중요성 강조
    • Writing Datomic in Clojure (2012) — Datomic을 Clojure로 작성한 이유 설명
    • Effective Programs - 10 Years of Clojure (2017) — Clojure 10년의 발전과 실제 문제 해결 중심의 기능 우선순위 회고
    • Talk Transcripts — Rich Hickey 및 커뮤니티 강연의 기록 보관소
    • Rich Hickey Talks — Rich의 강연 영상 모음 재생목록
  • Paul Graham의 에세이

  • 주요 기업 및 프로젝트

    • Cognitect — 오랜 기간 Clojure를 관리한 컨설팅 회사
    • Nubank — 세계 최대 독립 디지털 은행으로, Clojure와 Datomic으로 핵심 인프라 운영, 2020년 Cognitect 인수 후 Clojure 개발 주도
    • Datomic불변 사실(immutable facts) 기반 분산 데이터베이스, Rich Hickey와 Cognitect가 설계
  • 커뮤니티 및 아카이브 자료

    • Java.next Blog Series (2008) — JVM 언어 동향을 다룬 Stuart Halloway의 블로그 시리즈
    • Clojure IRC Log Archive — 초기 Clojure IRC 채널의 보존 기록
    • Clojure Etiquette — Rich의 메일링 리스트 글에서 유래한 커뮤니티 예절 지침

Clojure 방언 및 런타임

  • 핵심

    • Clojure — JVM에서 실행, 공식 시작 가이드 및 무료 입문서 Brave Clojure 제공
    • ClojureScript — JavaScript로 컴파일되어 Reagent, Re-frame 등 프론트엔드 라이브러리 지원
    • ClojureCLR — .NET CLR에서 실행되는 Clojure
  • 확장

    • Babashka — JVM 시작 시간 없이 빠른 스크립팅 지원
    • Jank — LLVM을 대상으로 하는 네이티브 컴파일러
    • ClojureDart — Flutter 기반 모바일 앱 개발용
    • Squint / Cherry — ES 모듈로 컴파일되는 ClojureScript 변형
    • Other Clojure-like projects — 기타 유사 프로젝트 목록 제공
  • 데이터 사이언스

    • libpython-clj — Clojure에서 NumPy, pandas, scikit-learn 등 Python 라이브러리 직접 호출
    • NojSciCloj가 개발한 Clojure 네이티브 데이터 사이언스 툴킷, 데이터프레임·시각화·머신러닝 통합
    • Tablecloth — Python 연동과 Clojure 데이터프레임 결합
  • Clojure와 AI

    • ECA (Editor Code Assistant) — 코드 편집 보조 도구
    • Backseat Driver — Copilot용 Clojure 도구
    • ClojureMCP — Claude, Codex, Gemini 등 AI 어시스턴트와 REPL 연결하는 MCP 서버
    • MCP-nREPL — Babashka 기반 최소 MCP 서버, 코딩 에이전트의 nREPL 접근 제공
    • clojure-mcp-light — LLM 코딩 어시스턴트용 경량 CLI 도구
    • #ai-assisted-coding (Clojurians Slack) — AI와 Clojure 개발 관련 활발한 커뮤니티 채널

시작하기

  • 전체 체험 — macOS, Linux, Windows용 설치 영상이 포함된 공식 가이드 제공, VS Code의 Calva 사용
  • 가장 빠른 경로Babashka 설치 후 즉시 스크립팅 가능, JVM 설정 불필요
  • 웹/프론트엔드ClojureScript + Shadow CLJS로 시작
  • 모바일 앱ClojureDart로 Flutter 앱 개발
  • Python 사용자libpython-clj로 Python 라이브러리 직접 호출
  • 에디터Calva는 VS Code에서 REPL, 구조적 편집, AI 통합(Backseat Driver) 지원, 에디터 가이드 참고

용어집

  • Lisp — 괄호로 둘러싸인 중첩 리스트 형태로 코드를 표현하는 언어 계열, Clojure는 Lisp의 방언
  • REPL — Read-Eval-Print Loop, 표현식을 읽고 평가 후 결과를 출력하는 대화형 세션
  • 함수형 프로그래밍 — 가변 상태와 부작용을 최소화하고 함수 중심으로 구성된 프로그래밍 방식
  • 값(Value) — 생성 후 변경되지 않는 데이터, Clojure는 기본적으로 불변 값을 사용
  • 영속적 데이터 구조(Persistent Data Structure) — 수정 시 이전 버전을 보존하는 컬렉션, 버전 보존 의미의 "persistent"
  • 우발적 복잡성(Accidental Complexity) — 문제 자체가 아닌 도구나 설계 선택으로 인한 복잡성
  • STM (Software Transactional Memory) — 락 대신 트랜잭션으로 공유 상태 변경을 조정하는 동시성 모델
  • 호스티드 언어(Hosted Language) — 자체 런타임 대신 기존 플랫폼 위에서 실행되는 언어, Clojure는 JVM, ClojureScript는 JS, ClojureCLR은 .NET에서 동작

Clojure 팔로우 및 커뮤니티

  • YouTube, Reddit, Slack, LinkedIn 등 공식 채널 운영
  • Clojure/Conj Conference 2026 — 2026년 9월 30일부터 10월 2일까지 미국 노스캐롤라이나 샬럿에서 개최 예정
Read Entire Article