Offcanvas

개발자

루비 언어와 닮은꼴··· 크리스탈 1.0 릴리스 이모저모

2021.03.26 Paul Krill  |  Network World
프로덕션 레디 버전인 크리스탈 1.0이 공개됐다. 기존 버전의 컴파일링과 작동을 중단시키는 방식으로 기능을 변경하거나 제거하지 않을 것이라고 개발진은 약속했다.

루비를 닮은 언어인 크리스탈 1.0이 출시됐다. 개발진은 향후 릴리스되는 모든 1.x 버전의 안정성을 보장했다. 모든 크리스탈 1.x 릴리스가 과격한 변화 없이 하위 호환될 것이라 기대해볼 수 있다. 
 
ⓒhttps://crystal-lang.org/

즉 기존 코드의 컴파일링이나 작동이 중단될 수 있는 방식으로 언어와 표준 라이브러리의 기능을 제거한다거나 변경하지 않을 것으로 기대된다. 하위 호환성을 염두에 두고 개선되는 것이다. 

크리스탈 개발진에 따르면 크리스탈의 문법은 루비에서 영감을 받은 덕분에 읽고 쓰기가 쉬우며 숙련된 루비 개발자들의 학습 곡선을 낮춰준다. 정적 타입 검사가 지원되므로, 런타임 에러를 기다리는 대신 컴파일러를 통해 오류를 잡을 수 있다. 

3월 22일에 공개된 크리스탈 1.0 릴리스는 깃허브에서 찾을 수 있으며 설치 지침crystal-lang.org에 있다. 개발진은 버그 수정을 특징으로 하는 관리 릴리스를 계획하고 있다. (다만) 새 기능은 차기 마이너 릴리스에서 등장할 예정이다. 크리스탈 1.0의 일부 기능들은 ‘예비’라고 돼 있으며 아직까지는 윈도우 지원, 멀티쓰레딩, Arm 등을 공식적으로 지원하지 않는다. 

크리스탈 1.0의 기능과 장점은 다음과 같다.
 
  • 빌트인 타입의 추론 덕분에 주석이 거의 필요없다. 
  • 네이티브 라이브러리 호출 전용 구문 덕분에 저수준 과제를 재실행할 필요가 없다. 
  • 컴파일러가 컴파일 타임 때 null 참조를 자동으로 확인한다.
  • 크리스탈은 동시성을 위해 파이버라 불리는 쓰레드를 사용해 상호 소통한다. 공유 메모리나 공유락을 사용할 필요가 없다. 
  • 라이브러리는 샤드로 채워져 있으며 중앙 저장소 없이 깃을 통해 배포된다. 빌트인 명령어를 이용하면 종속성을 YAML 파일을 통해 지정하고 각 저장소에서 가져올 수 있다. 
  • 매크로 시스템은 컴파일 타임 때 AST 노드를 수신하고 프로그램에 추가되는 코드를 생성하는 방법들로 구성돼 있으며, 메타 프로그래밍에 대한 크리스탈 측의 정답 역할을 한다. ciokr@Idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.