Zig è un linguaggio di programmazione general-purpose e toolchain per mantenere software robusto, ottimale, e riusabile.
INIZIA QUI Ultima Versione:   0.11.0
Documentazione Modifiche

⚡ 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.

  • Chiama qualunque funzione mentre compili.
  • Manipola tipi come valori senza nessuno spreco a runtime.
  • Comptime emula l’archittetura per cui stai compilando.

⚡ Mantienilo con Zig

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

  • Il compilatore Zig puo' sostituire altri compilatori C/C++, non richiede dipendenze e supporta cross-compilazione nativamente.
  • Usa zig build per creare un ambiente di sviluppo consistente su più piattaforme.
  • Aggiungi una unita' di compilazione Zig ai tuoi progetti C/C++; LTO tra i vari linguaggi è abilitato di default.

Overview dettagliata

Altri esempi di codice

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);
    }
}
$ zig test parse_integers.zig
1/1 parse_integers.test.parse integers... OK
All 1 tests passed.

Comunità

La comunità Zig è decentralizzata

Chiunque è libero di avviare e mantenere un proprio spazio per permettere alla comunità di interagire. Non c’è nessuna distinzione tra spazi “ufficiali” e non, ma ogni posto ha le proprie regole e moderatori.

Sviluppo del progetto

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

Zig Software Foundation

La ZSF è una corporazione non-profit.

La Zig Software Foundation è una corporazione non-profit fondata nel 2020 da Andrew Kelley, il creatore di Zig, con l’obbiettivo di supportare lo sviluppo del linguaggio. Al momento la fondazione è in grado di offire pagamenti con tariffe competitive ad un piccolo numero di contributori. Speriamo di poter estendere questa offerta a più contibutori nel prossimo futuro.

La Zig Software Foundation si sostiene tramite donazioni.

Ulteriori dettagli

Sponsors

Aziende Sponsor

Le seguenti compagnie offrono diretto supporto finanziario 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™
  • 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
  • Fulcrum Labs
  • Alex Mackenzie at Tapestry VC
  • Alok Parlikar
  • johnpyp
  • Questa sezione e' aggiornata all’inizio di ogni mese.