Zig — імперативна, статично типізована, компільована [en] мова програмування загального призначення, розроблена Ендрю Келлі. За задумкою, повинна замінити мову C, будучи ще меншою і простішою для програмування, водночас пропонуючи сучасний функціонал, нові оптимізації та різноманіття механізмів безпеки, але не будучи настільки вимогливою в безпеці під час виконання, як інші мови. Має відмінності від Go, Rust та [en], які мають схожу мету, але націлені на середовище .
Zig | |
---|---|
Парадигма | імперативне програмування, конкурентні обчислення, процедурне програмування, функційне програмування і узагальнене програмування |
Дата появи | 2015[1] |
Творці | Ендрю Келлі |
Розробник | d |
Останній реліз | 0.13.0 (6 червня 2024)[2] |
Система типізації | Статична, сильна, вивідна, [en], узагальнена |
Під впливом від | C, , LLVM IR, Go, Rust, JavaScript |
Платформа | x86-64, , WebAssembly Tier 2: , IA-32, RISC-V, , , SPARC64, деякі tier-2 платформи мають tier-1 підтримку [en] |
Ліцензія | MIT |
Звичайні розширення файлів | .zig |
Вебсайт | ziglang.org |
|
Приклади
Привіт, світе!
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, }; }
Проєкти
- [en] — середовище виконання JavaScript та TypeScript, написане на Zig. Використовує віртуальну машину JavaScriptCore браузера Safari.
Див. також
Примітки
- Келлі Е. init — 2015.
- Release 0.13.0
Література
- Elizabeth, Jane (19 жовтня 2017). . 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
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Zig imperativna statichno tipizovana kompilovana en mova programuvannya zagalnogo priznachennya rozroblena Endryu Kelli Za zadumkoyu povinna zaminiti movu C buduchi she menshoyu i prostishoyu dlya programuvannya vodnochas proponuyuchi suchasnij funkcional novi optimizaciyi ta riznomanittya mehanizmiv bezpeki ale ne buduchi nastilki vimoglivoyu v bezpeci pid chas vikonannya yak inshi movi Maye vidminnosti vid Go Rust ta en yaki mayut shozhu metu ale nacileni na seredovishe C ZigParadigmaimperativne programuvannya konkurentni obchislennya procedurne programuvannya funkcijne programuvannya i uzagalnene programuvannyaData poyavi2015 1 TvorciEndryu KelliRozrobnikdOstannij reliz0 13 0 6 chervnya 2024 2 Sistema tipizaciyiStatichna silna vividna en uzagalnenaPid vplivom vidC C LLVM IR Go Rust JavaScriptPlatformax86 64 WebAssembly Tier 2 IA 32 RISC V SPARC64 deyaki tier 2 platformi mayut tier 1 pidtrimku en LicenziyaMITZvichajni rozshirennya fajliv zigVebsajtziglang org Mediafajli u VikishovishiPrikladiPrivit svite const std import std pub fn main void const stdout std io getStdOut writer try stdout print Privit s n svite Uzagalnenij zv yazanij spisok pub fn main void var node LinkedList i32 Node prev null next null data 1234 var list LinkedList i32 first amp node last amp 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 Proyekti en seredovishe vikonannya JavaScript ta TypeScript napisane na Zig Vikoristovuye virtualnu mashinu JavaScriptCore brauzera Safari Div takozhC C Nim Rust D en PrimitkiKelli E init 2015 d Track Q62470811 Release 0 13 0LiteraturaElizabeth Jane 19 zhovtnya 2017 jaxenter Arhiv originalu za 1 zhovtnya 2020 Procitovano 22 kvitnya 2020 Yegulalp Serdar 29 serpnya 2016 New challenger joins Rust to topple C language InfoWorld angl Procitovano 11 lyutogo 2020 PosilannyaOficijnij sajt Zig na GitHub Movie Introducing Zig Movie The Road to 1 0 Zig Weekly