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

INIZIA QUI Ultimo rilascio:  0.15.2
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 gpa = std.testing.allocator;

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

    var it = std.mem.tokenizeAny(u8, input, " ,");
    while (it.next()) |num| {
        const n = try parseInt(u32, num, 10);
        try list.append(gpa, 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.

Maggiori informazioni

Aziende sponsor

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