Zig — Вікіпедія

Zig
Парадигмаімперативне програмування, конкурентні обчислення, процедурне програмування, функційне програмування і узагальнене програмування
Дата появи2015[1]
ТворціЕндрю Келлі
РозробникЕндрю Келліd
Останній реліз0.13.0 (6 червня 2024)[2]
Система типізаціїСтатична, сильна, вивідна, структурна[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,     }; } 

Проєкти

[ред. | ред. код]

Див. також

[ред. | ред. код]

Примітки

[ред. | ред. код]

Література

[ред. | ред. код]
  • 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.

Посилання

[ред. | ред. код]