Zig와 함께한 4개월

3 hours ago 4

몇 년 만에 Zig로 돌아와 라이브러리와 프로그램을 만든 경험에서, 명시적인 자원 관리와 개발 도구가 강점으로 드러남. 아직 불안정하지만 대부분의 프로젝트에서 우선 선택할 언어가 됨 할당자와 IO를 인자로 전달하는 구조는 메모리 할당과 외부 상호작용을 드러내고, 코드별 할당 전략 변경이나 실패 상황 테스트를 쉽게 만듦 comptime과 빌드 시스템, 적은 의존성이 개발 경험을 뒷받침하며, try와 오류 반환 타입을 통한 오류 전파도 간결함 증분 컴파일은 저장 직후 피드백을 받는 작업 흐름을 제공하지만, 현재 지원 범위는 Linux와 macOS의 x86_64로 제한됨 표준 라이브러리 안정성, 수명 검사, 문서화는 개선이 필요함. 컴파일 타임 할당자 부재와 바이너리 블롭에 의존하는 부트스트랩도 실제 프로젝트 선택에 제약을 줌 복귀 후 만든 프로젝트 몇 년간 떠나 있던 Zig에 복귀한 뒤 약 4개월 동안 프로그램을 만들고 온라인과 오프라인 커뮤니티에 다시 참여함. 비교 대상은 이전에 주로 사용하던 Rust임 첫 프로젝트인 snurl은 Gemini, Finger, Gopher, Spartan 등을 다루는 smallnet 라이브러리임 curl보다 작은 규모에서 유사한 테스트와 퍼징 요구사항을 갖춘 smallnet용 대안을 목표로 함 프로젝트에 맞는 범위에서 TigerStyle을 따르려 함 초기에 Zig 내장 퍼저가 아직 완성되지 않아 작동하지 않는 문제를 만남. zig init이 생성하는 main.zig에 퍼징 예제가 있어 기대했지만 실제로는 사용할 수 없었음 아직 공개하지 않은 프로그램으로 TUI 타이핑 경주 게임과 raylib 기반 항성 진화 기능을 갖춘 n체 시뮬레이터를 작성함 타이핑 게임의 최소 기능 버전은 예상보다 쉽게 구현함 Zig Day에서의 공동 작업 8월 20일 Lobsters에서 Seattle Zig Day 소식을 접했고, Andrew Kelley의 참석을 알고 더욱 기대하게 됨 Zig Day는 지역 사용자들이 만나 프로젝트를 함께 진행하고 Zig에 관해 이야기하는 모임임 신청자가 수용 인원을 넘어 행사 장소가 Bellevue 도서관에서 Bothell 도서관으로 바뀜 지역 그룹이 운영하는 형식은 커뮤니티의 연결감을 높이고, 관심사가 같은 개발자와 직접 교류할 기회를 줌 친구 Evin Yulo와 snurl 작업을 함께 진행했으며, Evin은 Zig 표준 라이브러리 TLS 구현을 대체 백엔드로 통합하기 시...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵