2004년 12월 11일
The Groovy Programming Language
자바 타이거(Tiger)의 다음 버전인 Mustang에서는 Microsoft의 .NET platform과 마찬가지로 다중 언어(multiple language)를 지원하는 플랫폼에 대한 고려가 있다고 한다.
최근에 JCP (Java Community Process)에서 Java Language 외에 또 다른 언어를 표준으로 채택하기 위한 준비를 시작했다. JSR 241: The Groovy Programming Language 는 다이내믹 프로그래밍 언어였던 Groovy의 표준화 작업을 준비하고 있다.
그러나 이 과정이 쉽지만은 않아 보인다. DOT NET이 처음부터 다중 언어 지원을 생각하고 플랫폼과 IR을 디자인한데 비하며, Java의 바이트코드(bytecode)는 Java Language와 너무 밀접한 연관 관계를 맺고 있어서 다중 언어 지원이라는 게 어느정도 선까지 성공적으로 이루어질 수 있을지는 아직 미지수다.
그럼에도 자바와는 패러다임이 다른 언어가 하나 정도 더 널리 사용되는 표준으로 제정된 다는 것은 그 가치를 무시할 수 없을듯 하다. Groovy 언어는 Python과 Ruby, Smalltalk의 장점을 대거 차용하되 자바의 Syntax를 살렸다고 하니 자바 언어가 상대적으로 약세를 보였던 빠른 소프트웨어 개발 방법(Agile Software Development)나 소프트웨어 테스트에서 장점이 있지 않을까?
다중 언어의 논의에 앞서서 던져야할 질문이 있다. 자바 언어와 자바 플랫폼 중 어느 것이 더 오래 가는 기술일까라는 것이다. 자바 언어가 그 가치를 인정받아 20-30년 이상 영속하는 반면에 자바 플랫폼은 낙후된 기술이 된다면 가볍고 빠른 플랫픔 연구가 빛을 볼 것이고, 반대로 자바 플랫폼은 오래 가지만 자바 언어는 발전과 더불어 복잡성이 더해지다가 생산성을 저해하는 시기가 온다면 (프로그래밍 언어도 엔트로피가 증가함을 보여주는 대표적인 예는 C++이다) 자바 플랫폼에 사용될 또 다른 간결한 언어의 연구가 절실할 것이다.
물론 언어와 플랫폼 어느 한 쪽이 선행하거나 절대적으로 우선되지는 않겠지만 말이다.
최근에 JCP (Java Community Process)에서 Java Language 외에 또 다른 언어를 표준으로 채택하기 위한 준비를 시작했다. JSR 241: The Groovy Programming Language 는 다이내믹 프로그래밍 언어였던 Groovy의 표준화 작업을 준비하고 있다.
그러나 이 과정이 쉽지만은 않아 보인다. DOT NET이 처음부터 다중 언어 지원을 생각하고 플랫폼과 IR을 디자인한데 비하며, Java의 바이트코드(bytecode)는 Java Language와 너무 밀접한 연관 관계를 맺고 있어서 다중 언어 지원이라는 게 어느정도 선까지 성공적으로 이루어질 수 있을지는 아직 미지수다.
그럼에도 자바와는 패러다임이 다른 언어가 하나 정도 더 널리 사용되는 표준으로 제정된 다는 것은 그 가치를 무시할 수 없을듯 하다. Groovy 언어는 Python과 Ruby, Smalltalk의 장점을 대거 차용하되 자바의 Syntax를 살렸다고 하니 자바 언어가 상대적으로 약세를 보였던 빠른 소프트웨어 개발 방법(Agile Software Development)나 소프트웨어 테스트에서 장점이 있지 않을까?
다중 언어의 논의에 앞서서 던져야할 질문이 있다. 자바 언어와 자바 플랫폼 중 어느 것이 더 오래 가는 기술일까라는 것이다. 자바 언어가 그 가치를 인정받아 20-30년 이상 영속하는 반면에 자바 플랫폼은 낙후된 기술이 된다면 가볍고 빠른 플랫픔 연구가 빛을 볼 것이고, 반대로 자바 플랫폼은 오래 가지만 자바 언어는 발전과 더불어 복잡성이 더해지다가 생산성을 저해하는 시기가 온다면 (프로그래밍 언어도 엔트로피가 증가함을 보여주는 대표적인 예는 C++이다) 자바 플랫폼에 사용될 또 다른 간결한 언어의 연구가 절실할 것이다.
물론 언어와 플랫폼 어느 한 쪽이 선행하거나 절대적으로 우선되지는 않겠지만 말이다.
# by | 2004/12/11 09:44 | Groovy | 트랙백(3) | 덧글(5)











☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : Buy soma online.
Soma. Soma family apartments san francisco. Cheapest soma. Soma muscle relaxant. Prozac soma zoloft prozac onlineprescription.md. Soma intimates stores. Soma without rx. Drug soma cause any sexual side effects....more
제목 : Soma cube puzzle.
Soma cube....more
제목 : Soma style.
How to grow soma style. Soma style....more
groovy라... squeak은 어때요 ㅎㅎㅎ
.NET CLR을 자세히 보면 Java에 상대적일 뿐 그 역시 크게 언어 독립적인 것도 아닙니다. Value type이나 tail recursion에 대한 고려를 포함 한번 하나하나 꼽아 보십시오. 따져보기 전에는 정확히 알기 힘들어요.
그리고 보니 .NET CLR을 자세히 살펴보지 못하고 글을 적었군요. MS의 .NET 홍보 글만 보고 내용을 파악하고 있다보니 객관적인 비교를 못해보았습니다.
그런데 Java 쪽에 다른 랭귀지를 올리려는 시도보단 MS .NET에 여러 랭귀지 프로젝트가 진행되고 있는 건 분명한 사실인데, 이는 MS가 어느정도 정책적으로 이런 움직임을 서포트하고 하기 때문일까요?
사실 Java쪽도 이제 Groovy가 나오고 얼마 전에서야 소스 레벨 디버깅 정보를 기술하는 형식에 다른 언어에 대한 지원을 넣었지만, 따지고 보면 BASIC, OBERON2, ADA 등 수없이 많은 언어들이 JVM 위에서도 지원되어져 왔습니다.
또한 .NET 위의 다양한 언어라는 것이 정말 우리에게 어떠한 득을 주는 걸까요? 이런 생각도 있습니다. "It seems like .NET gives us a "choice" of languages precisely where we couldn't care less about it -- in the syntax." .NET의 다언어 지원은 정말 득이 되는 걸까요? .NET 위에서의 다언어 지원 말입니다.
http://www.joelonsoftware.com/news/20020505.html를 참고하세요.