Zig (linguagem de programação)
linguagem de programação / De Wikipedia, a enciclopédia encyclopedia
Zig é uma linguagem de programação de multiparadigma voltado para sistemas e compilável, embora seja de propósito geral, estaticamente tipada, projetada por Andrew Kelley.[3][4] A linguagem é projetada para "robustez, otimização e facilidade de manutenção",[5][6] suportando genéricos em tempo de compilação e reflexão, compilação cruzada e gerenciamento manual de memória.[7] Um dos principais objetivos da linguagem é competir (e melhorar) a linguagem C,[8][9] ao mesmo tempo que se inspira em Rust,[10][11] entre outros.
Zig | |
---|---|
Paradigma | Imperativo, Procedural, Concorrente, Funcional, Genérica |
Surgido em | 8 fevereiro 2016; há 8 anos[1] |
Última versão | 0.12.0 (20 abril 2024; há 9 dias[2]) |
Criado por | Andrew Kelley |
Estilo de tipagem | Forte, Estática, Inferido, Estrutural, Genérico |
Principais implementações | zig (UNIX like) ou zig.exe (Windows) |
Influenciada por | C, C++, Go, Jai, JavaScript, LLVM, Rust |
Plataforma | Etapa 1 & 2:
ARM e AARCH64, MIPS32 LE, RISC-V64, x86, x86_64, Wasm32 Etapa 3: MIPS32 BE e MIPS64, PowerPC e PPC64, RISC-V32, SPARC, S390x, Wasm64 Etapa 4: AVR, GPU AMD - GCN, GPU Nvidia, Kalimba, MSP430, XCore (XMOS) |
Sistema operacional | UEFI, UNIX like, Windows |
Licença: | MIT |
Extensão do arquivo: | .zig, .zir, .zon |
Página oficial | ziglang |
Zig tem muitos recursos para programação de baixo nível, notavelmente como: packed struct (estrutura de variáveis struct
com preenchimento de zero entre os campos), inteiros de largura arbitrária[12] e vários tipos de ponteiro.[13]
O compilador é escrito em Zig, atualmente utiliza LLVM[14] como back-end[15][16] principal além de possuir um back-end próprio ainda em desenvolvimento, suportando muitos de seus alvos nativos.[17] O compilador é um software livre e de código aberto sob a licença MIT.[18] O compilador Zig expõe a capacidade de compilar C e C++, semelhante ao Clang, usando os comandos zig cc
e zig c++
, respectivamente.[19] A linguagem de programação Nim suporta o uso de zig cc
como um compilador C.[20]
O desenvolvimento Zig é financiado pela Zig Software Foundation (ZSF), uma corporação sem fins lucrativos comandado por Andrew Kelley como presidente, que recebe doações e contrata vários empregados a tempo inteiro.