Zigは、堅牢最適、および再利用可能なソフトウェアをメンテナンスするための汎用プログラミング言語およびツールチェインです。

始めましょう 最新リリース:  0.13.0
ドキュメント 変更点

⚡ シンプルな言語

プログラミング言語の知識をデバッグするよりも、アプリケーションのデバッグにフォーカスしてください。

  • 隠された制御フローはありません。
  • 隠されたメモリ割り当てはありません。
  • プリプロセッサ、マクロもありません。

⚡ コンプタイム

コンパイル時のコード実行と遅延評価に基づくメタプログラミングへの新しいアプローチ。

  • コンパイル時に任意の関数を呼び出します。
  • ランタイムオーバーヘッドなしに型を値として操作します。
  • コンプタイムはターゲットアーキテクチャをエミュレートします。

⚡ Zigでメンテナンス

C/C++/Zigのコードベースを段階的に改善することができます。

  • Zigを依存性ゼロのドロップインC/C++コンパイラとして使用し、すぐにクロスコンパイルをサポートします。
  • zig buildを活用し、全てのプラットフォームで一貫した開発環境を構築します。
  • C/C++プロジェクトにZigのコンパイルユニットを追加することができます。

詳細な概要

その他のコードサンプル

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ソフトウェア財団

ZSFは501(c)(3)の非営利法人です。

Zigソフトウェア財団は、Zigの生みの親であるAndrew Kelleyが2020年に設立した非営利法人で、Zigの言語開発を支援することを目的としています。現在、ZSFは少数のコア・コントリビュータに競争力のある料金で有償の仕事を提供することができます。将来的には、より多くのコア・コントリビュータにこのオファーを拡大できるようにしたいと考えています。

Zigソフトウェア財団は、寄付金によって運営されています。

詳しく

企業スポンサー

以下の企業は、Zig Software財団に直接的な資金援助を行っています。

GitHubスポンサー

Zigをスポンサーしてくださる方々のおかげで、このプロジェクトは企業の株主ではなく、オープンソースコミュニティに対して説明責任を果たすことができるのです。特に、月々200ドル以上でZigのスポンサーになってくださっている方々は素晴らしい方々です:

  • José M Rico
  • drfuchs
  • Kirk Scheibelhut
  • Mitchell Hashimoto
  • Bun
  • Huly® Platform™
  • Stevie Hryciw
  • Karrick McDermott
  • Joran Dirk Greef
  • bfredl
  • Simon A. Nielsen Knights
  • Stephen Gutekanst
  • Derek Collison
  • Paul Harrington
  • Clark Gaebel
  • Marcus Eagan
  • Ken Chilton
  • Will Manning
  • Spiral
  • Alex Mackenzie at Tapestry VC
  • Alok Parlikar
  • johnpyp
  • Keygen
  • このセクションは、毎月月初に更新されます。