
스크립트 언어 Buzz가 윈도 지원과 개발 도구를 대폭 보강한 0.6.0을 11월 1일 공개했다. 프로젝트의 GitHub 공식 릴리스 노트에 따르면 이번 버전에는 언어 서버 프로토콜(LSP) 구현, 디버그 어댑터 프로토콜(DAP) 기반 디버거, 코드 포매터와 패키지 관리 기능이 추가됐다. 코드를 실행하는 언어 기능에 더해 작성·정리·디버깅을 돕는 도구를 함께 갖추는 업데이트다.
Buzz는 Zig로 작성된 경량 정적 타입 스크립트 언어다. 0.6.0에 포함된 공식 README는 리눅스·macOS·윈도를 지원한다고 설명한다. 소스에서 빌드할 때 요구하는 Zig 버전은 0.17.0이며, 릴리스 노트는 앞으로 Zig의 태그된 버전만 사용하겠다고 밝혔다.
새 패키지 관리 기능은 프로젝트 구성과 의존성 처리를 담당한다. ‘buzz init’으로 패키지의 기본 구조를 만들고 ‘buzz fetch’로 Git 저장소, 압축 파일, 로컬 디렉터리에서 의존성을 가져올 수 있다. 패키지 정보는 ‘manifest.buzz’에, 실제로 해석된 참조와 의존성 내용의 해시는 ‘manifest.lock.buzz’에 기록한다.
편집기와 연결되는 도구도 늘었다. 프로젝트는 LSP와 DAP 디버거를 각각 처음 동작하는 구현으로 소개했다. 코드 포매터는 ‘buzz format’ 명령으로 실행한다. 대화형 실행 환경인 REPL에는 입력 중 구문 강조와 제출한 코드의 포맷 기능이 들어갔다. 다만 공식 발표가 초기 구현으로 표현한 만큼, 모든 편집기에서 성숙한 개발 경험을 제공한다고 단정할 수는 없다.
기존 사용자가 확인할 명령 체계 변경도 있다. 테스트는 ‘buzz -t’ 대신 ‘buzz test’를 사용하고, 포맷은 ‘buzz -f’에서 ‘buzz format’으로 바뀐다. 스크립트 경로를 넘기면 해당 파일을 실행하며, 패키지 디렉터리를 지정하면 그 안의 ‘src/main.buzz’를 실행한다. 별도 인자 없이 실행하면 REPL이 시작된다.
언어 자체에는 값을 비교하는 ‘match’ 문과 표현식, 복합 대입 연산자 등이 추가됐다. 정수 타입의 내부 표현은 i32에서 i48로 바뀌었다. 릴리스 노트는 64비트 부동소수점 값 안에 데이터를 담는 NaN 박싱 구조에서 정수에 사용할 수 있는 비트 수가 48비트라고 설명했다. 다만 C ABI 연동에서는 계속 i32를 사용하므로, 언어 내부 정수와 외부 함수 인터페이스의 범위는 구분해야 한다. 가져오기 경로의 탐색 방식도 명시적인 표준 라이브러리·패키지 경로를 사용하는 방식으로 바뀌었다.
도구 확충이 곧 운영 환경 투입을 뜻하지는 않는다. 프로젝트는 공식 README에서 Buzz가 알파 단계이며 전문 업무나 프로덕션 용도로 쓸 준비가 되지 않았다고 경고한다. 이번 릴리스는 개발 환경을 시험하려는 사용자에게 의미가 있지만, 기존 코드를 옮길 때는 바뀐 명령과 가져오기 방식, 외부 함수 연동 규칙을 함께 살펴야 한다.
출처: Buzz GitHub 공식 0.6.0 릴리스 (https://github.com/buzz-language/buzz/releases/tag/0.6.0); Buzz 0.6.0 공식 README (https://raw.githubusercontent.com/buzz-language/buzz/0.6.0/README.md).