Zig — це мова програмування загального призначення та інструментарій для підтримки надійного, оптимального та багаторазового програмного забезпечення.

ПОЧАТИ Останній Реліз:  0.13.0
Документація Зміни

⚡ Проста мова

Зосередьтеся на налагодженні програми, а не на налагодженні своїх знань мови програмування.

  • Немає прихованого потоку керування.
  • Жодних прихованих виділень пам'яті.
  • Ні препроцесора, ні макросів.

⚡ Comptime

Новий підхід до метапрограмування, заснований на виконанні коду під час компіляції та відкладеному обчисленні.

  • Викликайте будь-яку функцію під час компіляції.
  • Маніпулюйте типами як значеннями без накладних витрат під час виконання.
  • Comptime емулює цільову архітектуру.

⚡ Підтримуйте з допомогою Zig

Поступово покращуйте свою кодову базу C/C++/Zig.

  • Використовуйте Zig як вбудований компілятор C/C++ без залежностей, який "з коробки" підтримує крос-компіляцію.
  • Використовуйте zig build, щоб створити узгоджене середовище розробки на всіх платформах.
  • Додайте модуль компіляції Zig до проектів C/C++, відкриваючи багату стандартну бібліотеку для свого коду 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 — некомерційна корпорація, заснована у 2020 році Ендрю Келлі, творцем Zig, з метою підтримки розвитку мови. Наразі ZSF може запропонувати оплачувану роботу за конкурентними ставками невеликій кількості основних учасників. Ми сподіваємося, що в майбутньому зможемо розширити цю пропозицію для більшої кількості основних учасників.

Zig Software Foundation підтримується за рахунок пожертв.

Learn More

Корпоративні Спонсори

Наступні компанії надають пряму фінансову підтримку Zig Software Foundation.

Спонсори GitHub

Завдяки людям, які спонсорують Zig, проект підзвітний спільноті з відкритим кодом, а не корпоративним акціонерам. Зокрема, ці чудові люди спонсорують Zig на 200 доларів США на місяць або більше:

  • José M Rico
  • drfuchs
  • Kirk Scheibelhut
  • Mitchell Hashimoto
  • Bun
  • Huly® Platform™
  • Transloadit
  • 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
  • Цей розділ оновлюється щодня.