Clojure 시작하기(Getting Started)
Clojure 시작하기(Getting Started)
Clojure에 오신 걸 환영해요! 이 문서는 Clojure를 처음 시작할 때 필요한 도구가 무엇인지, 그 도구들을 어떻게 다루는지, 언어 자체를 어떻게 배우고 어디서 질문하면 좋은지 딱 필요한 만큼만 안내해 줘요.
시작하며 짚고 갈 핵심만 먼저 정리할게요.
- Clojure는 동적(dynamic) 개발 환경이에요. 프로그램을 실행하면서 그 자리에서 고치고 키워 나가는 방식이죠
- 그래서 코드 안에서 바로 평가(evaluate)할 수 있고 구조적으로 편집할 수 있는 에디터가 필요해요
- 본격 학습 전에 기본 흐름 — 파일 만들기, REPL 연결, 코드 작성·평가 반복 — 을 익히면 좋아요
- 배울 수 있는 곳이 공식 가이드, 책, 연습 문제, 커뮤니티까지 다양하게 있어요
출처: Clojure 공식문서
본문
어떤 도구가 필요할까?
Clojure는 동적 개발 환경(dynamic development environment) 이에요. 프로그램을 쓰면서 동시에 그 프로그램과 상호작용하고, 실행 중인 상태를 계속 키워나가는 방식이죠. 그래서 Clojure를 다루려면 두 가지가 갖춰진 에디터가 필요해요. 소스 파일 안에서 코드를 평가(evaluate) 할 수 있으면서, 구조적 편집(structural editing) — 문자 단위가 아니라 중첩된 폼(form) 단위로 작업하는 것 — 이 가능해야 해요.
여기서 먼저 설치할 것들을 정리하면 이래요.
- Clojure — 언어 자체와 REPL(Read-Eval-Print Loop), 라이브러리 지원, 프로그램 실행기를 제공해요
- 에디터 — 위에서 말한 인터랙티브한 개발 환경을 지원하는 에디터가 필요해요
운영체제별 설치 방법을 단계별 동영상으로 보고 싶다면 아래 영상들을 참고하면 돼요.
이 도구들을 어떻게 다루지?
구체적인 절차는 운영체제와 에디터에 따라 조금씩 달라지겠지만, 어떤 조합이든 기본 흐름은 똑같아요.
- 파일을 만들거나 연다
- Clojure 환경(즉 REPL)을 연결한다
- 에디터에 Clojure 코드를 쓴다
- 연결된 환경을 이용해 에디터에서 그 코드를 평가한다
- 이 과정을 반복한다!
여기서 더 자세히 알아볼 거리는 두 가지가 있어요.
- REPL — REPL이 뭔지, 어떻게 인터랙티브하게 쓰는지 더 알고 싶다면 REPL 가이드를 참고해요
- 구조적 편집 — 코드를 텍스트가 아니라 폼으로 다루는 방식이 궁금하다면 구조적 편집 문서를 봐요
언어 자체는 어떻게 배우지?
Clojure 언어를 배우는 방법도 여러 가지예요. 이 튜토리얼이 기본기를 다루고 있는데요, 기초를 체계적으로 훑으려면 Learn Clojure 가이드부터 시작해 보세요.
책으로 공부하고 싶다면 아래 책들이 좋은 출발점이 돼요.
손으로 직접 풀어보면서 익히고 싶다면 연습 문제도 마련돼 있어요.
- 4Clojure — 규모가 큰 Clojure 연습 문제 모음
- exercism Clojure track — 멘토 지원이 있는 좀 더 큰 문제들
이 밖에도 Clojure Camp — 초보 Clojure 개발자를 위한 인터랙티브 커뮤니티 — 를 비롯해 더 많은 학습 자료(튜토리얼 및 학습 자료 모음)가 있으니 다른 학습 리소스에서 이어서 살펴볼 수 있어요.
어디서 질문하면 좋을까?
Clojure 개발자들과 이야기할 수 있는 곳도 여럿 있어요.
- Ask Clojure [공식] — Clojure Q&A와 지식 베이스
- Clojurians Slack 채널 — Clojure 실시간 채팅.
#beginners,#jobs같은 채널을 눈여겨보면 좋아요 - Clojureverse — Clojure 포럼
질문하고 싶은 내용이 생기면 이런 곳들에서 자유롭게 물어보면 돼요. 초보자부터 경험자까지 폭넓게 도움을 주고받는 생태계거든요.
더 알아보기
- 원문: Getting Started
- Learn Clojure 가이드 — 언어 기초 학습
- REPL 소개 — REPL을 인터랙티브하게 쓰는 법
- 구조적 편집 — 코드를 폼으로 다루는 법