Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Zig (Programmiersprache) – Wikipedia
Zig (Programmiersprache) – Wikipedia
aus Wikipedia, der freien Enzyklopädie
Zig
Basisdaten
Paradigmen: multiparadigmatisch (generisch, funktional, imperativ, strukturiert, parallel)
Erscheinungsjahr: 2016
Entwickler: Zig Software Foundation[1], Andrew Kelley
Aktuelle Version 0.15.1[2] (29. August 2025)
Typisierung: Stark, statisch
Wichtige Implementierungen: ziglang
Beeinflusst von: C, C++, Rust, Go, JavaScript/TypeScript
Betriebssystem: Plattformunabhängig
Lizenz: MIT-Lizenz
ziglang.org

Zig ist eine seit 2016 von Andrew Kelley entwickelte und seit 2020 von der Zig Software Foundation[3] übernommene Multiparadigmen-Systemprogrammiersprache. Der Compiler kann C/C++-Bibliotheken direkt importieren und Header-Dateien für diese Sprachen bei der Kompilierung generieren. Die direkt ausführbaren Binärdateien werden in der Ursprungsimplementation durch ein LLVM-Backend erzeugt.

Die Sprache kommt ohne Präprozessor aus und zeigt durch das Attribut comptime (für engl. compile-time, „(zur) Kompilierzeit“) auf, wie durch Auswertung von Ausdrücken zur Kompilierzeit generische Typen einfacher geschrieben werden können, und dabei laufzeitoptimierter Code entsteht. Bei der Fehlerbehandlung und Parallelausführung lehnt es sich an Go an. Im Gegensatz zu anderen Erweiterungen von C können neue und alte Module frei gemischt werden und erlauben so eine graduelle Umstellung. Die Laufzeitbibliothek wurde nicht erweitert – es genügt eine libc-Implementierung. Auf Betriebssystemen mit stabilen Syscall-Interfaces (wie z. B. Linux) kann Zig auch völlig ohne libc laufen.

Beispiele

[Bearbeiten | Quelltext bearbeiten]

Hello World

[Bearbeiten | Quelltext bearbeiten]
const std = @import("std");
const stdout = std.io.getStdOut();

pub fn main() !void {
    try stdout.writeAll("Hello, World!\n");
}

Generische Verlinkte Listen

[Bearbeiten | Quelltext bearbeiten]
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,
    };
}

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • ziglang.org – Offizielle Website
  • Zig auf GitHub
  • Vorstellung von Zig von Andrew Kelley, März 2018 auf YouTube (englisch)
  • The Road to 1.0 von Andrew Kelley, Mai 2019 auf YouTube (englisch)

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ↑ ZSF ⚡ Zig Programming Language. Abgerufen am 7. März 2024. 
  2. ↑ Release 0.15.1. (abgerufen am 3. September 2025).
  3. ↑ ZSF ⚡ Zig Programming Language. Abgerufen am 7. März 2024. 
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=Zig_(Programmiersprache)&oldid=249616406“
Kategorien:
  • Imperative Programmiersprache
  • Objektorientierte Programmiersprache

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id