최근 수정 시각 : 2024-10-04 09:52:03

Clojure


프로그래밍 사이트 선정 프로그래밍 언어 순위 목록
{{{#!wiki style="margin: 0 -10px -5px; word-break: keep-all"
{{{#!wiki style="display: inline-table; min-width: 25%; min-height: 2em;"
{{{#!folding [ IEEE Spectrum 2024 ]
{{{#!wiki style="margin: -5px 0"
<rowcolor=#fff> 스펙트럼 부문 상위 10개 프로그래밍 언어 직업 부문 상위 10개 프로그래밍 언어
1 Python 1 SQL
2 Java 2 Python
3 JavaScript 3 Java
4 C++ 4 TypeScript
5 TypeScript 5 SAS
6 SQL 6 JavaScript
7 C# 7 C#
8 Go 8 HTML
9 C 9 Shell
10 HTML 10 C++
}}}
}}}
}}}
[ Stack Overflow 2024 ]
||<tablewidth=100%><width=9999><-4><bgcolor=#FFA500><tablebgcolor=#fff,#1c1d1f> 2024년 Stackoverflow 설문조사 기준 인기 상위 25개 프로그래밍 언어 ||
1 JavaScript 14 Rust
2 HTML, CSS 15 Kotlin
3 Python 16 Lua
4 SQL 17 Dart
5 TypeScript 18 어셈블리어
6 Bash 19 Ruby
7 Java 20 Swift
8 C# 21 R
9 C++ 22 Visual Basic
10 C 23 MATLAB
11 PHP 24 VBA
12 PowerShell 25 Groovy
13 Go
[ TIOBE 2025 ]
||<tablewidth=100%><width=9999><-4><bgcolor=deepskyblue><tablebgcolor=#fff,#1c1d1f> 2025년 2월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Fortran
2 C++ 12 Scratch
3 Java 13 Rust
4 C 14 PHP
5 C# 15 R
6 JavaScript 16 MATLAB
7 SQL 17 Assembly language
8 Go 18 COBOL
9 Delphi / Object Pascal 19 Ruby
10 Visual Basic 20 Prolog
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 21위 ~ 50위 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
21 Swift 36 VBScript
22 Classic Visual Basic 37 PL/SQL
23 Kotlin 38 TypeScript
24 Ada 39 GAMS
25 SAS 40 Solidity
26 LISP 41 ABAP
27 Haskell 42 Logo
28 Dart 43 D
29 (Visual) FoxPro 44 Bash
30 Perl 45 PowerShell
31 Scala 46 Elixir
32 Lua 47 RPG
33 Objective-C 48 ML
34 Julia 49 Ladder Logic
35 Transact-SQL 50 Awk
}}}}}}}}} ||
[ PYPL 2025 ]
||<tablewidth=100%><width=9999><-4><bgcolor=green><tablebgcolor=#fff,#1c1d1f> 2025년 3월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 Swift
2 Java 12 Go
3 JavaScript 13 Kotlin
4 C/C++ 14 MATLAB
5 C# 15 Ada
6 R 16 Dart
7 PHP 17 Ruby
8 Rust 18 Lua
9 TypeScript 19 PowerShell
10 Objective-C 20 VBA

}}} ||
프로그래밍 언어 목록 · 분류 · 문법

(println "Hello World")
클로저
Clojure
파일:clojure_logo.png
개발자 리치 히키
최초 공개 2007년 ([age(2007-01-01)]년 전)
최신 버전 1.12.0
파일:홈페이지 아이콘.svg
1. 개요2. 특징
2.1. REPL2.2. 함수형 프로그래밍2.3. LISP의 방언2.4. 런타임 다형성2.5. 병행 프로그래밍2.6. 자바 가상머신 기반의 실행
3. 하위 프로젝트4. 도서5. 여담6. 외부 링크

[clearfix]

1. 개요

  • 클로저(Clojure)는 Rich Hickey에 의해 창안된 함수형 프로그래밍 언어로, LISP의 방언이다. JVM, .NET Framework, JavaScript를 대상으로 컴파일된다. Java와의 상호 호환이 가능하다.
  • 개발 도구는 대부분 Emacs를 사용한다. 공식 홈페이지에서 2022년 통계를 확인할 수 있다.[1]
  • IDE로는 IntelliJ IDEA용 플러그인으로 개발된 Cursive(유료)가 존재한다.(무료로 제공되는 Non-Commercial 라이센스도 있지만 대신 6개월마다 계속 갱신해줘야 한다.)

2. 특징

공식 홈페이지에서 소개하는 대표 특징 목록에서는 아래와 같은 것이 있다.
  • Dynamic Programming(REPL)
  • Functional Programming
  • LISP(의 방언임)
  • Runtime Polymorphism
  • Concurrent Programming,
  • Hosted on JVM

2.1. REPL

REPL은 Read-Eval-Print-Loop의 약자이다. 클로저는 컴파일되는 언어이지만 스크립트 언어(예를 들어 JavaScript) 환경처럼 직접 명령문을 입력하면서 테스트할 수 있는 REPL이라는 프로그래밍 인터페이스를 제공한다.

2.2. 함수형 프로그래밍

2.3. LISP의 방언

2.4. 런타임 다형성

Runtime Polymorphism

2.5. 병행 프로그래밍

Concurrent Programming

2.6. 자바 가상머신 기반의 실행

3. 하위 프로젝트

JVM 환경에서 실행되는 Clojure를 필두로 다른 환경에서의 실행을 위한 공식 프로젝트가 존재한다.
  • ClojureScript: Clojure 프로그램을 자바스크립트로 컴파일해 주는 트랜스컴파일러.[2]
  • ClojureCLR: Java가 아닌 .NET의 CLR(Common Language Runtime) 환경에서 실행하기 위한 Clojure 구현체.[3]

4. 도서

  • Programming Clojure: 현재까지 (국내에) 나온 도서들 중에 가장 훌륭하다. 그러나 출판년도가 2009년인만큼 현재 버전에서 "contrib" 라이브러리들의 사용법이 맞지 않다.
  • Living Clojure: 빠르게 바로 써먹을 수 있는 형태로 추천한다. 또한 10장의 연습 문제들도 실무에서 도움이 되는 내용이다.

5. 여담

  • 클로저 코리아 모임이 2024년 9월 25일에 열렸다.[4]
  • 국내 기업 셀파스에서 클로저를 사용한다.[5]
  • 클로저를 자바스크립트로 컴파일 해주는 클로저스크립트라는 것이 있다.[6]

6. 외부 링크


[1] https://clojure.org/news/2022/06/02/state-of-clojure-2022[2] https://github.com/clojure/clojurescript[3] https://github.com/clojure/clojure-clr[4] https://www.meetup.com/ko-KR/clojure-korea/[5] https://x.com/stelo_kim/status/1813176095841395091[6] https://clojurescript.org/