| 1 | [[파일:clojure_logo.png|width=15%]] |
|---|
| 2 | [목차] |
|---|
| 1 | 3 | |
|---|
| 4 | == 개요 == |
|---|
| 5 | [[http://clojure.org/|공식 홈페이지]] |
|---|
| 6 | |
|---|
| 7 | Rich Hickey에 의해 창안된 함수형 [[프로그래밍 언어]]로, [[LISP]]의 방언이다. [[JVM]], [[.NET#Framework|.NET Framework]], [[JavaScript]]를 대상으로 컴파일된다. [[Java]]와의 상호 호환이 가능하다. |
|---|
| 8 | |
|---|
| 9 | 개발 도구는 대부분 [[Emacs]]를 사용한다. [[통합 개발 환경|IDE]]로는 [[IntelliJ IDEA]]용 플러그인으로 개발된 [[https://cursive-ide.com/|Cursive]](유료)가 존재한다.[* 무료로 제공되는 Non-Commercial 라이센스도 있지만 대신 6개월마다 계속 갱신해줘야 한다.] |
|---|
| 10 | |
|---|
| 11 | == 특징 == |
|---|
| 12 | [[http://clojure.org/features|공식 홈페이지에서 소개하는 대표 특징 목록]] 에서는 Dynamic Programming(REPL), Functional Programming, LISP(의 방언임), Runtime Polymorphism, Concurrent Programming, Hosted on JVM을 대표 특징으로 꼽고 있다. |
|---|
| 13 | |
|---|
| 14 | === REPL === |
|---|
| 15 | REPL(Read-Eval-Print-Loop)의 약자로, 컴파일되는 언어이지만 스크립트 언어(예를 들어 [[JavaScript]]) 환경처럼 직접 명령문을 입력하면서 테스트할 수 있는 프로그래밍 인터페이스를 제공한다. |
|---|
| 16 | |
|---|
| 17 | === 함수형 프로그래밍 === |
|---|
| 18 | |
|---|
| 19 | === [[LISP]]의 방언 === |
|---|
| 20 | |
|---|
| 21 | === 런타임 다형성 === |
|---|
| 22 | Runtime Polymorphism |
|---|
| 23 | |
|---|
| 24 | === 병행 프로그래밍 === |
|---|
| 25 | Concurrent Programming |
|---|
| 26 | |
|---|
| 27 | === [[Java Virtual Machine|자바 가상머신]] 기반의 실행 === |
|---|
| 28 | |
|---|
| 29 | == 하위 프로젝트 == |
|---|
| 30 | JVM 환경에서 실행되는 Clojure를 필두로 다른 환경에서의 실행을 위한 공식 프로젝트가 존재한다. |
|---|
| 31 | |
|---|
| 32 | === ClojureScript === |
|---|
| 33 | [[https://github.com/clojure/clojurescript|ClojureScript Github 페이지]] Clojure 프로그램을 자바스크립트로 컴파일해 주는 [[트랜스컴파일러]]. |
|---|
| 34 | |
|---|
| 35 | === ClojureCLR === |
|---|
| 36 | [[https://github.com/clojure/clojure-clr|ClojureCLR Github 사이트]] [[Java]]가 아닌 .NET의 CLR(Common Language Runtime) 환경에서 실행하기 위한 Clojure 구현체. |
|---|
| 37 | |
|---|
| 38 | == 도서 == |
|---|
| 39 | [[http://www.yes24.com/Product/Goods/3907543|Programming Clojure]] |
|---|
| 40 | 현재까지 (국내에) 나온 도서들 중에 가장 훌륭하다. 그러나 출판년도가 2009년인만큼 현재 버전에서 "contrib" 라이브러리들의 사용법이 맞지 않다. |
|---|
| 41 | |
|---|
| 42 | [[http://www.yes24.com/Product/Goods/25537884|Living Clojure]] |
|---|
| 43 | 빠르게 바로 써먹을 수 있는 형태로 추천한다. 또한 10장의 연습 문제들도 실무에서 도움이 되는 내용이다. |
|---|
| 44 | |
|---|
| 45 | |
|---|
| 46 | [[분류:프로그래밍 언어]][[분류:함수형 언어]] |
|---|