기타 Lobsters · 5일 전

Rust 쓰다 4개월 만에 다시 Zig 만져보고 느낀 점들

핵심 요약
  • Rust를 쓰던 개발자가 4개월간 Zig로 복귀해 스몰넷 라이브러리와 시뮬레이터 등을 개발하며 겪은 경험을 정리했습니다.
  • 초기 퍼징 미지원 등 미완성 요소도 있었으나, 시애틀 Zig Day에서 창립자 앤드루 켈리를 만나는 등 활발한 커뮤니티 분위기를 확인했습니다.
  • 함수에 할당자와 IO를 명시적으로 전달하는 Zig 특유의 설계가 Rust나 타 언어 대비 테스트와 안정성 측면에서 훨씬 뛰어나다고 호평했습니다.
요약 Rust를 주로 쓰다 몇 년 만에 프로그래밍 언어 Zig로 복귀한 한 개발자가 4개월 동안 여러 프로젝트를 진행하며 느낀 생생한 사용 후기를 공유했습니다. 작성자는 스몰넷 프로토콜을 다루는 'snurl' 라이브러리와 TUI 기반 타자 연습기, 천체 시뮬레이터 등을 만들며 언어의 장단점을 직접 체감했다고 밝혔습니다. 특히 초기 프로젝트 진행 중 기본 템플릿 코드에 소개된 퍼징(fuzzing) 기능이 아직 제대로 완성되지 않아 동작하지 않았던 점은 아쉬운 부분으로 꼽았습니다. 하지만 오프라인 커뮤니티 행사인 'Zig Day 시애틀'에 참가하면서 열기를 다시 느꼈다고 전했습니다. 창립자인 앤드루 켈리(Andrew Kelley)가 참석한다는 소식에 신청자가 몰려 도서관 행사 장소를 옮겨야 할 정도였으며, 현장에서 창립자 및 동료 개발자들과 직접 만나 기술적인 교류를 나누고 프로젝트 개선 아이디어를 얻었다고 설명했습니다. 기술적인 강점으로는 명시적인 메모리 할당자(Allocator) 전달 방식과 새로운 입출력(IO) 매개변수 구조를 극찬했습니다. 대부분의 언어나 Rust처럼 암묵적으로 메모리를 할당하다 실패 시 패닉을 일으키는 방식과 달리, Zig는 함수마다 메모리 할당 여부가 투명하게 드러나고 상황에 맞는 할당자를 직접 제어할 수 있어 프로그램 분석이 훨씬 수월하다는 평가입니다. 또한 OS와 상호작용하는 모든 함수에 IO 컨텍스트를 명시적으로 넘기도록 한 설계 덕분에 단위 테스트와 모킹이 압도적으로 편리해졌다고 덧붙였습니다.
Sponsored · 광고