Zig
Перейти до навігації
Перейти до пошуку
Zig | |
---|---|
![]() | |
Парадигма | імперативне програмування, конкурентні обчислення, процедурне програмування, функційне програмування і узагальнене програмування |
Дата появи | 2015[[:d:Q62470811|Келлі Е.]]_[https://github.com/ziglang/zig/commit/8e08cf4bec80b87a7a22a18086a3db5c2c0f1772_init] |
Творці | Ендрю Келлі |
Розробник | Ендрю Келліd |
Останній реліз | 0.13.0 (6 червня 2024) |
Система типізації | Статична, сильна, вивідна, структурна[en], узагальнена |
Під впливом від | C, C++, LLVM IR, Go, Rust, JavaScript |
Платформа | x86-64, ARM64, WebAssembly Tier 2: ARM, IA-32, RISC-V, MIPS64, POWERPC64, SPARC64, деякі tier-2 платформи мають tier-1 підтримку автономних програм[en] |
Ліцензія | MIT |
Звичайні розширення файлів | .zig |
Вебсайт | ziglang.org |
Zig — імперативна, статично типізована, компільована системна[en] мова програмування загального призначення, розроблена Ендрю Келлі. За задумкою, повинна замінити мову C, будучи ще меншою і простішою для програмування, водночас пропонуючи сучасний функціонал, нові оптимізації та різноманіття механізмів безпеки, але не будучи настільки вимогливою в безпеці під час виконання, як інші мови. Має відмінності від Go, Rust та Carbon[en], які мають схожу мету, але націлені на середовище C++.
const std = @import("std");
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
try stdout.print("Привіт, {s}!\n", .{"світе!"});
}
pub fn main() void {
var node = LinkedList(i32).Node {
.prev = null,
.next = null,
.data = 1234,
};
var list = LinkedList(i32) {
.first = &node,
.last = &node,
.len = 1,
};
}
fn LinkedList(comptime T: type) type {
return struct {
pub const Node = struct {
prev: ?*Node,
next: ?*Node,
data: T,
};
first: ?*Node,
last: ?*Node,
len: usize,
};
}
- Bun[en] — середовище виконання JavaScript та TypeScript, написане на Zig. Використовує віртуальну машину JavaScriptCore браузера Safari.
- Elizabeth, Jane (19 жовтня 2017). Tired of C? New programming language Zig aims to be more pragmatic and readable. jaxenter. Архів оригіналу за 1 жовтня 2020. Процитовано 22 квітня 2020.
- Yegulalp, Serdar (29 серпня 2016). New challenger joins Rust to topple C language. InfoWorld (англ.). Процитовано 11 лютого 2020.