Zig는 견고하고, 최적화된, 그리고 재사용이 가능한 소프트웨어의 개발 및 관리를 위한 범용 프로그래밍 언어 및 툴체인입니다.

⚡ 간결한 언어

프로그래밍 언어에 대한 지식을 디버깅하는 대신, 프로그램의 디버깅에만 집중하세요.

  • 숨겨진 흐름 제어 없음.
  • 숨겨진 메모리 할당 없음.
  • 전처리기와 매크로 없음.

⚡ 컴파일 타임 코드 실행

컴파일 타임 코드 실행 기능과 지연 평가 기능을 활용한, 메타프로그래밍의 새로운 접근법을 확인해보세요.

  • 어떤 함수든 컴파일 타임에 호출 가능.
  • 런타임 오버헤드 없이 모든 자료형을 값처럼 수정 가능.
  • 컴파일 타임 코드 실행 시 대상 아키텍처를 그대로 에뮬레이트 가능.

⚡ Zig를 이용한 코드 관리

C/C++/Zig 코드베이스를 점진적으로 향상시키세요.

  • Zig를 크로스 컴파일을 지원하며, 다른 컴파일러를 바로 대체할 수 있는 독립적인 C/C++ 컴파일러로 사용 가능.
  • zig build를 이용하여 모든 플랫폼에서 일관성 있는 개발 환경 구축 가능.
  • C/C++ 프로젝트에 Zig 컴파일 단위를 추가하여, Zig 표준 라이브러리가 제공하는 다양한 기능을 C/C++ 코드에서도 사용 가능.

자세히 알아보기

예제 코드 더 보기

index.zig
const std = @import("std");
const parseInt = std.fmt.parseInt;

test "parse integers" {
    const input = "123 67 89,99";
    const ally = std.testing.allocator;

    var list = std.ArrayList(u32).init(ally);
    // Ensure the list is freed at scope exit.
    // Try commenting out this line!
    defer list.deinit();

    var it = std.mem.tokenizeAny(u8, input, " ,");
    while (it.next()) |num| {
        const n = try parseInt(u32, num, 10);
        try list.append(n);
    }

    const expected = [_]u32{ 123, 67, 89, 99 };

    for (expected, list.items) |exp, actual| {
        try std.testing.expectEqual(exp, actual);
    }
}
Shell
$ zig test index.zig
1/1 index.test.parse integers...OK
All 1 tests passed.

Zig 커뮤니티는 탈중앙화를 지향합니다

누구든지 자유롭게 모일 수 있는 커뮤니티를 만들고 관리할 수 있습니다.

“공식 커뮤니티”이나 “비공식 커뮤니티”라는 개념은 따로 없지만, 각 커뮤니티마다 관리자와 규칙이 모두 다르니 주의해주세요.

주요 개발 관련 커뮤니티

Zig의 저장소는 https://github.com/ziglang/zig에 있으며, 이슈 트래킹과 제안에 대한 논의가 여기서 진행됩니다.

프로젝트에 기여하실 분들은 Zig의 행동 지침을 준수해야 합니다.

Zig Software Foundation

ZSF는 501(c)(3) 비영리 단체입니다.

Zig Software Foundation은 Zig를 만든 Andrew Kelley가 프로그래밍 언어의 개발을 지원하기 위해 2020년에 창립한 비영리 단체입니다. 현재, ZSF는 소수의 프로젝트 핵심 기여자에게만 회사 수준의 급여를 지급할 수 있는 상황입니다. 저희는 미래에 더 많은 프로젝트 핵심 기여자분들에게 급여를 지급할 수 있기를 바라고 있습니다.

Zig Software Foundation은 기부금만으로 운영됩니다.

더 알아보기

후원 기업

아래 기업은 Zig Software Foundation을 재정적으로 지원해주고 있습니다.

GitHub 스폰서

Zig를 후원해주시는 분들 덕분에, 이 프로젝트는 기업의 주주가 아닌 오픈 소스 커뮤니티가 운영하고 있습니다.

특히, 아래 명단에 계신 분들은 Zig를 매달 $200 이상 후원해주시고 있습니다:

  • José M Rico
  • drfuchs
  • Kirk Scheibelhut
  • Bun
  • Huly® Platform™
  • marximimus
  • Stevie Hryciw
  • Karrick McDermott
  • Joran Dirk Greef
  • bfredl
  • Simon A. Nielsen Knights
  • Emi
  • Derek Collison
  • Paul Harrington
  • Clark Gaebel
  • Marcus Eagan
  • Ken Chilton
  • Will Manning
  • Spiral
  • Alok Parlikar
  • Keygen
  • 이 목록은 매일 업데이트됩니다.