Zig (dil)
Zig , Andrew Kelley tarafından tasarlanan çok yönlü , statik tipte zorunlu derlenmiş bir programlama dilidir . Dil, jenerikleri ve derleme zamanı yansımasını , çapraz derlemeyi ve manuel bellek yönetimini destekleyen "sağlamlık", "optimallik" ve "sürdürülebilirlik" için tasarlanmıştır . Dilin ana hedeflerinden biri C ile rekabet etmek (ve onu geliştirmek) ve diğerlerinin yanı sıra Rust'tan da ilham almaktır.
Zig dahil düşük seviyeli programlama için birçok özelliğe sahiptir bileşik tipleri ( yapı ) sıfır ile dolgu , tamsayılar keyfi boyutta, değişik işaretçi türleri.
Derleyici, arka uç olarak LLVM 11 kullanılarak Zig ve C ++ ile yazılmıştır ve yerel hedeflerinin birçoğunu desteklemektedir. Derleyici, MIT lisansı altında yayınlanan ücretsiz ve açık kaynaklı bir yazılımdır . Zig derleyicisi, sırasıyla "zig cc" ve "zig c ++" komutlarını kullanarak Clang'a benzer şekilde C ve C ++ 'yı derleme yeteneği sağlar . Nim programlama dili C derleyici olarak zig cc kullanımını destekler.
Örnekler
Bonjour Monde
// zig version 0.7.1
const std = @import("std");
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
try stdout.print("Hello, {}!\n", .{"world"});
}
fn LinkedList(comptime T: type) type {
return struct {
pub const Node = struct {
prev: ?*Node,
next: ?*Node,
data: T,
};
first: ?*Node,
last: ?*Node,
len: usize,
};
}
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,
};
}
Notlar ve referanslar
-
(en-US) " Zig, C'nin tüm zarif sadeliğine, eksi kendini ayağından vurmanın tüm yollarına sahip " , JAXenter ,Ekim 31, 2017(erişim tarihi 11 Şubat 2020 )
-
(en-US) “ C'den bıktınız mı? Yeni programlama dili Zig daha pragmatik ve okunabilir olmayı hedefliyor ” ,Ekim 19, 2017( 22 Nisan 2020'de erişildi )
-
(in) Yegulalp, " Rust devirme C diline katılacak yeni meydan okuyucu " , InfoWorld ,Ağustos 29, 2016(erişim tarihi 11 Şubat 2020 )
-
(en-US) " Zig dili ve C " , Sina Corp ,12 Temmuz 2020(erişim tarihi 12 Ağustos 2020 )
-
(en-US) " The Zig Programming Language " , ziglang.org ( 11 Şubat 2020'de erişildi )
-
(en-US) “ Mozilla'nın Gözlemevi, Zig programlama dili ve uSens'in VR / AR SDK'sı - SD Times haber özeti: Ağustos. 29, 2016 ” , SD Times ,Ağustos 29, 2016(erişim tarihi 11 Şubat 2020 )
-
(en-US) " The Zig Programming Language " , ziglang.org ( 11 Şubat 2020'de erişildi )
-
(en) Company, " Sudo Null - IT News for You " , SudoNull (erişim tarihi 11 Şubat 2020 )
-
(en-US) Kelley, " Güvensiz Zig Pas Güvensizden Daha Güvenli " , andrewkelley.me ( 11 Şubat 2020'de erişildi )
-
(inç) Tim Anderson 24 Nisan 2020, 9:50, " Gitmek istiyor musunuz _ExtInt? LLVM Clang derleyicisi, özel genişlikli tamsayılar için destek ekler ” , www.theregister.co.uk ( 24 Nisan 2020'de erişildi )
-
(en-US) “ Documentation - The Zig Programming Language ” , ziglang.org ( 24 Nisan 2020'de erişildi )
-
(en-US) " SD Times haber özeti: Visual Studio 2010 sürüm 16.3'teki C ++ 20 kavramları, IE desteğini düşürmek için Bootstrap ve Zig 0.60 yayınlandı " , SD Times ,14 Nisan 2020(erişim tarihi 19 Nisan 2020 )
-
(en-GB) " Zig 1.0'a Giden Yol'a Bir Cevap " , www.gingerbill.org ,13 Mayıs 2019(erişim tarihi 11 Şubat 2020 )
-
(en-US) " The Zig Programming Language " , ziglang.org ( 11 Şubat 2020'de erişildi )
-
(in) " ziglang / zig " , GitHub ( 11 Şubat 2020'de erişildi )
-
(en-US) “ 0.6.0 Sürüm Notları · The Zig Programming Language ” , ziglang.org ( 19 Nisan 2020'de erişildi )
-
(inç) " 'zig cc ace C derleyicisi için Destek Ekleme. yazan hessammehr · Pull Request # 13757 · nim-lang / Nim ” , GitHub ( 19 Nisan 2020'de erişildi )
Ayrıca bakınız
İlgili Makaleler
Dış bağlantılar