
소프트웨어 개발 업체 JetBrains가 코틀린(Kotlin) 언어 버전 1.6.0을 출시했다고 밝혔다.
새롭게 만나볼 수 있는 코틀린 1.6.0에서는 코틀린/네이티브에서의 LLVM 종속성이 개선됐다. LLVM 버전이 11.1.0으로 업데이트 됐으며, 종속성 크기 감소 등의 이점을 지원한다. 또한 when 문이 완전하지 않으면 봉인된 when 문에서 컴파일러 경고를 생성한다. 코틀린 1.5.30에서 프리뷰로 지원됐던 해당 기능은 최신 릴리즈에서 안정화 버전으로 제공된다.
더불어 suspend 함수 유형을 슈퍼 인터페이스로 구현하기 위한 지원이 안정화 됐다. 이는 코틀린 코루틴 디자인에서는 누락된 부분 중 하나다. 일반 함수 유형에서 일시중단 함수 유형으로의 변환도 안정화 됐다. 이에 따라 개발자는 일시 중단이 매개변수로 예상되는 일반 함수 유형의 표현식을 전달할 수 있다.
컴파일러는 자동으로 변환을 수행하며, 이 기능은 코틀린에서 일반 함수와 일시 중단 함수 간의 불일치를 수정한다. 그밖에 제네릭 유형에 관한 컴파일러의 유형 추론이 개선됐으며, 듀레이션 API(Duration API), 표준 라이브러리에서의 stdlib 함수, JVM에서 사용할 수 있었던 typeof가 안정화 버전으로 제공된다.
표준 입력과 관련해 콘솔에서 새로운 읽기 기능이 제공되는 점도 주목할만하다. ‘코버 그래들 플러그인(The Kover Gradle plug-in)’이 실험적 기능으로 지원돼 JVM 컴파일러로 구축된 코틀린 코드의 적용 범위를 측정한다.
자바와의 호환성도 장점이다. 코틀린/JVM에서 반복 가능한 주석 기능은 자바와 호환되며, @kotlin.annotation.Repeatable을 사용하면 모든 보존을 허용하고, 주석을 코틀린과 자바 모두에서 반복할 수 있다. 그밖에 코틀린/JS와 관련해 인터넷에 연결되지 않은 서버에서 빌드할 때 코틀린/JS 프로젝트용 노드닷제이에스(Node.js) 및 얀(Yarn) 다운로드를 비활성화하고, 호스트에 이미 설치된 인스턴스를 사용할 수 있다.
또한 이번 릴리즈에서는 네이티브 개발을 위한 새로운 메모리 관리자도 안정화 버전으로 제공된다. 코드를 네이티브 바이너리로 컴파일하는 코틀린/네이티브용 메모리 관리자는 스레드 간의 개체 공유 제한을 해제하고 누수가 없는 동시 프로그래밍 기본 요소를 제공한다.
한편, JetBrains IntelliJ Idea 또는 Android Studio IDE 사용자라면 자동으로 업데이트할 수 있으며, 릴리스에 대한 설치 지침은 blog.jetbrains.com에서 찾을 수 있다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]