Zig è un linguaggio di programmazione ad uso generale e un insieme di strumenti per mantenere software robusto, ottimale, e riusabile.

INIZIA QUI Ultima Release:  0.13.0
Documentazione Changelog

⚡ Un linguaggio semplice

Concentrati nel debuggare la tua applicazione, invece di debuggare la tua conoscenza del linguaggio di programmazione.

  • Nessun controllo di flusso implicito.
  • Niente allocazioni dinamiche implicite.
  • Nessun preprocessore, niente macro.

⚡ Comptime

Un nuovo approccio alla metaprogrammazione basato sull'esecuzione di codice durante la compilazione e valutazione pigra del codice.

  • Esegui qualunque funzione in fase di compilazione.
  • Manipola i tipi come valori, senza alcuna penalità a runtime.
  • Comptime emula l'architettura per cui stai compilando.

⚡ Mantienilo con Zig

Migliora gradualmente il tuo codice C/C++/Zig.

  • Il compilatore Zig può sostituire altri compilatori C/C++, non richiede dipendenze e supporta nativamente la cross-compilazione.
  • Usa zig build per creare un ambiente di sviluppo consistente su ogni piattaforma.
  • Aggiungi un'unità di compilazione Zig ai tuoi progetti C/C++, esponendo la ricca libreria standard di Zig al tuo codice C/C++.

Panoramica dettagliata

Altri esempi di codice

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.

La comunità Zig è decentralizzata

Chiunque è libero di avviare e moderare un proprio spazio per permettere alla comunità di interagire. Non c'è distinzione tra spazi "ufficiali" e non, ma ogni spazio ha le proprie regole e moderatori.

Sviluppo del progetto

Il repository di Zig può essere trovato a https://github.com/ziglang/zig, dove gestiamo anche le segnalazioni di bug e discutiamo le proposte di miglioramento. I contributori sono tenuti a rispettare il codice di comportamento di Zig.

Zig Software Foundation

La ZSF è un'associazione non-profit.

La Zig Software Foundation è un'associazione non-profit fondata nel 2020 da Andrew Kelley, il creatore di Zig, con l'obiettivo di supportare lo sviluppo del linguaggio. Al momento l'associazione è in grado di offire del lavoro pagato con tariffe competitive ad un piccolo numero di collaboratori. Speriamo di poter estendere questa offerta a più contributori nel prossimo futuro.

La Zig Software Foundation si sostiene tramite donazioni.

Learn More

Aziende sponsor

Le seguenti aziende offrono supporto finanziario diretto alla Zig Software Foundation.

GitHub Sponsors

Grazie a tutte le persone che supportano Zig, il progetto fa riferimento all propria comunità open source, invece che ad uno stuolo di shareholder. In particolare, i seguenti illustri individui supportano Zig per un quantitativo di 200 USD/mese o superiore:

  • 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
  • Questa sezione viene aggiornata giornalmente.