Zig 소개
Zig 소개 (Introduction)
Zig로 프로그램을 만들기 전에, 'Zig가 어떤 언어인지, 어떤 가치를 추구하는 언어인지'를 먼저 잡아두면 뒤의 모든 내용이 훨씬 수월해져요. Zig는 범용 프로그래밍 언어이자 툴체인인데요, 그 목표를 한마디로 하면 견고하고(robust), 최적이며(optimal), 재사용 가능한(reusable) 소프트웨어를 유지하는 것이에요. 네 가지 가치가 각각 무엇을 뜻하는지, 그리고 이 문서를 어떻게 읽어야 좋을지 함께 살펴볼게요.
본문
Zig는 견고하고(robust), 최적이며(optimal), 재사용 가능한(reusable) 소프트웨어를 유지하기 위한 범용 프로그래밍 언어이자 툴체인(toolchain)이에요.
그 말이 구체적으로 무엇을 의미하는지 항목별로 정리해 볼게요.
- Robust(견고함) — 메모리 부족(out of memory) 같은 엣지 케이스(edge case)에서도 동작이 올바른 것을 의미해요.
- Optimal(최적) — 프로그램이 동작하고 성능을 낼 수 있는 최선의 방식으로 작성한다는 뜻이에요.
- Reusable(재사용 가능) — 같은 코드가 서로 다른 제약 조건을 가진 여러 환경에서도 그대로 동작한다는 걸 말해요.
- Maintainable(유지보수 가능) — 컴파일러와 다른 프로그래머에게 의도를 정확히 전달하는 것을 뜻해요. 언어가 코드를 읽는 데 드는 부담을 낮게 유지하고, 변하는 요구사항과 환경에도 잘 견디도록 만들어져 있어요.
주로 새로운 것을 배울 때 가장 효율적인 방법은 예제를 보는 거예요. 그래서 이 문서는 Zig의 각 기능을 어떻게 사용하는지 예제 중심으로 보여줘요. 모든 내용이 한 페이지에 담겨 있어서, 브라우저의 검색 기능으로 원하는 부분을 바로 찾아볼 수 있어요.
이 문서의 코드 샘플은 Zig의 메인 테스트 스위트의 일부로 컴파일되고 테스트까지 완료된 것들이에요. 그리고 이 HTML 문서는 외부 파일에 의존하지 않아서, 인터넷이 없는 환경에서도 오프라인으로 그대로 사용할 수 있어요.
더 알아보기
- Zig Documentation — 이 문서의 전체 목차와 기능별 상세 설명
- Zig Standard Library — 다음 섹션에서 다루는, 표준 라이브러리에 대한 소개