
아파치 소프트웨어 파운데이션(Apache Software Foundation /ASF)의 그루비(Groovy) 팀이 JVM(Java Virtual Machine)용 오픈 소스 범용 프로그래밍 언어의 최신 버전인 그루비(Groovy) 4.0.0 릴리스를 발표했다.
1월 말에 발표된 이 릴리스에는 그루비(Groovy) 3.0 릴리스 이후 약 800개의 새로운 기능, 개선 사항 및 버그 수정이 포함됐다. 먼저 GINQ(그루비(Groovy)-Integrated Query)는 이번 릴리스의 인큐베이팅 기능이다. GINQ는 사용자 자신의 도메인 개체 또는 처리 시 반환되는 개체(예: JSON, XML 및 기타 구조화된 데이터)를 포함하는 SQL과 유사한 스타일로 컬렉션 쿼리를 지원하도록 설계됐다.
또한 이 릴리스에는 레코드(인큐베이팅)와 레코드 유사 클래스(에뮬레이트된 레코드)에 대한 새로운 기본 지원도 있다. 레코드는 필드의 유형과 이름만 필요로 하는 변경할 수 없는 데이터 클래스다. 레코드류 클래스는 네이티브 레코드의 모든 기능을 가지고 있지만 바이트코드 수준에서 동일한 정보를 갖지 않으므로 언어 간 통합 시나리오에서 자바(Java) 컴파일러에 의해 레코드로 인식되지 않는다.
더불어 개발자가 자바(Java) 코드 조각으로 더 쉽게 작업할 수 있도록 설계된 그루비 셀(Groovy Shell)과 동등한 자바(Java)가 눈에 띈다. 그루비(Groovy)는 JSR 241로 JCP에 제출된 2000년대 초반부터 사용된 자바(Java)구문 호환 객체 지향 언어다.
버전 1.0은 2007년에 출시되었으며 버전 2.0은 2012년까지 출시되지 않았다. 그루비(Groovy) 2.4는 Pivotal Software의 관리 하에 출시됐다. 2015년에 그루비(Groovy)는 ASF의 프로젝트가 됐다.
그루비(Groovy)는 정적 및 동적 언어로 파이썬(Python), 루비(Ruby) 및 스몰토크(Smalltalk)와 유사한 기능이 있다. 프로그래밍 언어와 스크립팅 언어로 모두 사용할 수 있으며 JVM으로 컴파일되기 때문에 다른 자바(Java) 코드 라이브러리와 원활하게 상호 운용된다. 자바(Java)와 달리 그루비(Groovy)는 DSL(도메인 특정 언어) 및 메타 프로그래밍을 지원한다.
한편, 그루비(Groovy) 5.0은 그루비(Groovy)의 다음 공식 메이저 버전이다. 팀은 “곧 해당 버전의 알파 릴리스가 나올 것으로 기대하고 있다”고 전했다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]