Zig (språk)
Zig er et allsidig , statisk skrevet imperativt kompilert programmeringsspråk designet av Andrew Kelley. Språket er konstruert for "robusthet", "optimalitet" og "vedlikehold", støtter generika og kompilering-time refleksjon , cross-kompilering, og manuell minnehåndtering . Et hovedmål for språket er å konkurrere med (og forbedre) C , samtidig som man henter inspirasjon fra blant annet Rust .
Zig har mange funksjoner for programmering på lavt nivå, inkludert sammensatte typer ( struct ) uten polstring , heltall av vilkårlig størrelse og forskjellige typer pekere.
Kompilatoren er skrevet i Zig og C ++ , og bruker LLVM 11 som en back-end, og støtter flere av sine opprinnelige mål. Kompilatoren er gratis og åpen kildekode-programvare utgitt under MIT-lisensen . Zig-kompilatoren gir muligheten til å kompilere C og C ++, i likhet med Clang ved å bruke henholdsvis "zig cc" og "zig c ++" -kommandoene. Den Nim programmeringsspråk støtter bruk av sikk cc som en C-kompilator.
Eksempler
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,
};
}
Merknader og referanser
-
(no-US) " Zig har all den elegante enkelheten til C, minus alle måtene å skyte deg selv i foten " , JAXenter ,31. oktober 2017(åpnet 11. februar 2020 )
-
(no-US) “ Lei av C? Nytt programmeringsspråk Zig har som mål å være mer pragmatisk og lesbar ” ,19. oktober 2017(åpnet 22. april 2020 )
-
(in) Yegulalp, " New challenger to join Rust topple C language " , InfoWorld ,29. august 2016(åpnet 11. februar 2020 )
-
(en-US) " Zig language and C " , Sina Corp ,12. juli 2020(åpnet 12. august 2020 )
-
(no-US) " The Zig Programming Language " , ziglang.org (åpnet 11. februar 2020 )
-
(en-US) “ Mozillas observatorium, Zig-programmeringsspråket og uSens 'VR / AR SDK - SD Times nyhetssammendrag: Aug. 29, 2016 ” , SD Times ,29. august 2016(åpnet 11. februar 2020 )
-
(no-US) " The Zig Programming Language " , ziglang.org (åpnet 11. februar 2020 )
-
(no) Company, " Sudo Null - IT News for You " , SudoNull (åpnet 11. februar 2020 )
-
(en-US) Kelley, " Unsafe Zig is Safer Than Rust Unsafe " , andrewkelley.me (åpnet 11. februar 2020 )
-
(in) Tim Anderson 24. apr 2020 kl. 9:50, " Keen to go _ExtInt? LLVM Clang kompilator legger til støtte for tilpassede bredde heltall ” , www.theregister.co.uk (åpnet 24. april 2020 )
-
(en-US) “ Documentation - The Zig Programming Language ” , ziglang.org (åpnet 24. april 2020 )
-
(no-US) “ SD Times nyhetsfordeling: C ++ 20-konsepter i Visual Studio 2010 versjon 16.3, Bootstrap for å slippe IE-støtte, og Zig 0,60 utgitt ” , SD Times ,14. april 2020(åpnet 19. april 2020 )
-
(no-NO) “ Et svar på veien til Zig 1.0 ” , www.gingerbill.org ,13. mai 2019(åpnet 11. februar 2020 )
-
(no-US) " The Zig Programming Language " , ziglang.org (åpnet 11. februar 2020 )
-
(in) " ziglang / zig " , GitHub (åpnet 11. februar 2020 )
-
(no-US) “ 0.6.0 Versjonsmerknader · The Zig Programming Language ” , ziglang.org (åpnet 19. april 2020 )
-
(in) " Legg til støtte for 'zig cc ace C kompilator. av hessammehr · Pull Request # 13757 · nim-lang / Nim ” , GitHub (åpnet 19. april 2020 )
Se også
Relaterte artikler
Eksterne linker