Zig
Мова програмування загального призначення та набір інструментів для збірки коду на Zig C/C++
- Медіафайли у Вікісховищі
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.
Див. також
- C
- C++
- Nim
- Rust
- D
- Carbon[en]
Примітки
Література
- 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.
Посилання
- Офіційний сайт
- Zig на GitHub
- Movie: Introducing Zig
- Movie: The Road to 1.0
- Zig Weekly