For faster navigation, this Iframe is preloading the Wikiwand page for Zig.

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.

Посилання

[ред. | ред. код]
{{bottomLinkPreText}} {{bottomLinkText}}
Zig
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?