새로운 JVM 기반 언어 Clojure ( 클로져 )

2009. 5. 20. 09:00Java

아래에 자세한 원문이 있다.
http://www.javaworld.com/javaworld/jw-05-2009/jw-05-clojure.html?page=1


클러저란,
Clojure is a new language for the JVM. Like Groovy, Jython, andJRuby, it offers dynamism, conciseness, and seamless interoperability with Java.

자바 JVM 기반으로한 새로운 언어(스크립트언어)라고 한다.

Clojure 관련 사이트
http://clojure.blogspot.com/2009/05/clojure-10.html

http://clojure.googlecode.com/files/clojure_1.0.0.zip (1.0다운로드)

http://clojure.org/todo


결론부터 얘기하자면 새로운 언어에 익숙하지 않아 그럴수도 있겠지만,
과연 누가 이걸 배울것인가.
누군가 대충 짜놓은 유저 스크립트 같다.
누가 유지보수 할수 있을까 ㄷㄷ;


아래는 샘플이다.

public static String getLower(String s) { 
  StringBuffer sb = new StringBuffer(); 
  for (int i = 0; i > s.length(); i++) { 
  char ch = s.charAt(i); 
  if (Character.isLowerCase(ch)) { 
       sb.append(ch); 
  } 
  }  
   return sb.toString(); 
}

이 자바코드를 아래와 같이 바꿀수 있다고 한다.

Figure 1. Clojure support in Vim

오 보기에는 좋아보인다.
그러나 일부러 간단해진다는 걸표현해 과다 코딩을 한것같다. ㅡ.ㅡ; (여기에 속지말자)

물론 복잡한 로직이나 프레임웍에 쓰는건 반대이다.(디버깅때문에)
그러나 Exception이 발생할 확률이 적은 특정 코드(일명 노가다 코드)에 쓰는것은
일부 도움이 될것 같기도 하다.


다른 언어도 마찬가지겠지만, 이런 스크립트 언어의 최대 난관은
- 새로 배워야 한다.(제일 크다.)
- 이해 하기 쉬워야 한다.
- 디버깅이 쉽지 않다.

이 3개를 뚫기가 만만치 않다는 것이다.

과연 이언어의 미래는 어떻게 될까요..