Zig는 튼튼하고, 최적화된, 재사용 가능한 소프트웨어를 관리하기 위한 범용 프로그래밍 언어 및 툴체인입니다.
시작하기 최신 릴리즈:   0.7.1
문서 변경사항

⚡ 간결한 언어

당신의 프로그래밍 언어 지식을 디버깅할게 아니라 애플리케이션을 디버깅하는데 집중하십시오.

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

⚡ Comptime

컴파일 타임의 코드 실행 및 지연 평가에 기반한 메타프로그래밍에 대한 새로운 접근.

  • 컴파일 타임에 어떤 함수든 호출하세요.
  • 런타임 오버헤드 없이 타입을 값으로 변환하세요.
  • Comptime은 대상 아키텍쳐를 에뮬레이트 합니다.

⚡ 성능, 안정성을 만나다

모든 오류 조건을 처리할 수 있는 빠르고 명료한 코드를 작성하십시오.

  • 오류 처리 로직을 우아하게 가이드 해줍니다.
  • 설정 가능한 런타임 체크는 성능과 안정성 보장 사이에서 균형을 맞춰줄 것입니다.
  • 벡터 타입을 이용하여 SIMD 명령어를 이식 가능하게 표현하십시오.

심층 개요

더 많은 코드 샘플

const std = @import("std");
const json = std.json;
const payload =
    \\{
    \\    "vals": {
    \\        "testing": 1,
    \\        "production": 42
    \\    },
    \\    "uptime": 9999
    \\}
;
const Config = struct {
    vals: struct { testing: u8, production: u8 },
    uptime: u64,
};
const config = x: {
    var stream = json.TokenStream.init(payload);
    const res = json.parse(Config, &stream, .{});
    // Assert no error can occur since we are
    // parsing this JSON at comptime!
    break :x res catch unreachable;
};
pub fn main() !void {
    if (config.vals.production > 50) {
        @compileError("only up to 50 supported");
    }
    std.log.info("up={d}", .{config.uptime});
}

Community

분산된 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은 기부로 유지됩니다.

더 보기

Sponsors

기업 후원

다음의 기업들이 Zig Software foundation에 직접적인 재정적 지원을 하고 있습니다.

GitHub Sponsors

Zig를 후원해 주시는 분들께 감사드리며, 이 프로젝트는 기업 주주가 아닌 오픈소스 커뮤니티에 책임이 있습니다. 특히, 다음의 훌륭한 분들께서 Zig에 매달 $200 이상을 후원하고 계십니다:

이 섹션은 매달 초 갱신됩니다.

All your codebase are belong to us.