Zig — Вікіпедія

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

Посилання[ред. | ред. код]