본문 바로가기
Zig

[Zig] Zig 언어를 배우는 이유

by 코드쉼터 2024. 3. 20.

Zig 는 기계적입니다.

- 별도의 인터페이스 없이 C/C++ 언어와 같이 빌드할 수 있습니다.

- Custom allocator 구현이 극단적으로 명시적이며, 심각한 메모리 부족 및 파편화 상태에서도 동작이 명확합니다.

- 변수의 크기와 형태가 명시적입니다. (예 : u8 == 8비트 unsigned int)

 

Zig 는 단순합니다.

- 코드가 보이는 그대로 작동합니다. (인텔리센스에 의존하거나, 다른 파일을 찾아보지 않아도 한눈에 들어옴)

- 기본 생성자 (default constructor) 나 연산자 오버로딩 (operator overloading) 등이 없습니다.

- 매크로, 기괴한 메타 프로그래밍이 필요 없습니다.

 

Zig 는 속도를 최우선으로 합니다.

- 언어를 설계할때부터 OS 없이도 동작하는 bare metal 코드를 뽑을 수 있도록 디자인하였습니다.

- SIMD vector 를 직접 노출합니다.

- 개발자는 모든 메모리를 직접 관리해야 하고 모든 책임을 집니다.

- 모든 함수 호출과 값 대입을 컴파일 타임에 검사하고 최적화 해버립니다.