زیگ (زبان برنامه‌نویسی)

زیگ ، یک زبان برنامه‌نویسی سیستمی دستوری، همه منظوره، سیستم نوع و کامپایل شده است که توسط اندریو کلی طراحی شده‌است. این زبان برای «نیرومندی، بهینه و نگهداری» با پشتیبانی از زمان کامپایل همگانی و پژواکی و مدیریت حافظه طراحی شده‌است. هدف اصلی این زبان بهبود زبان سی است، در حالی که از زبان راست الهام می‌گیرد. زبان برنامه‌نویسی زیگ دارای ویژگی‌های بسیاری برای برنامه‌نویسی سطح پایین است، به ویژه: ساختارهای بسته‌بندی شده (ساختارهای بدون بالشتک بین فیلدها)، اعداد صحیح با عرض دلخواه و انواع اشاره‌گرهای چندگانه.

کامپایلر مرحله ۱ در زیگ و C++ نوشته شده و با استفاده از LLVM 11 به عنوان یک back-end, از بسیاری از اهداف اصلی خود پشتیبانی می‌کند. کامپایلر تحت مجوز MIT منبع باز است. کامپایلر زیگ توانایی کامپایل سی و سی‌پلاس‌پلاس را مشابه کامپایلر کلنگ با دستورهای "zig cc" و "zig c++" نشان می‌دهد، سربرگ‌های بسیاری از جمله libc و libcxx را برای پلتفرم‌های مختلف فراهم می‌کند و به دستورات فرعی cc و c++ در زیگ اجازه می‌دهد به عنوان کامپایلر دوگانه خارج از جعبه عمل کند.

توسعه زیگ توسط بنیاد نرم‌افزار، یک شرکت غیرانتفاعی با ریاست اندرو کلی تأمین می‌شود که کمک‌های مالی را دریافت می‌کند و چندین کارمند تمام وقت استخدام می‌کند.

مثال‌ها

برنامهٔ Hello World 
const std = @import("std");

pub fn main() !void {
    const stdout = std.io.getStdOut().writer();
    try stdout.print("Hello, {}!\n", .{"world"});
}

لیست پیوندی عمومی 
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,
    };
}

جستارهای وابسته 
 سی
 C++
 زبان برنامه‌نویسی راست
 زبان برنامه‌نویسی دی

منابع

پیوند به بیرون 
 
 زیگ در گیت هاب
 فیلم: معرفی زیگ
 فیلم: جاده‌ای به ۱٫۰

زبان‌های برنامه‌نویسی ایستا
زبان‌های برنامه‌نویسی ساخته‌شده در ۲۰۱۵ (میلادی)
زبان‌های برنامه‌نویسی سیستمی
زبان‌های برنامه‌نویسی
سامانه‌های توکار
کامپایلرها و مفسرهای آزاد
کتابخانه‌های رایانه‌ای آزاد
نرم‌افزارهای آزاد چندسکویی
نرم‌افزارهای چندسکویی
نرم‌افزارهای دارای اجازه‌نامه ام‌آی‌تی