Zig (programozási nyelv)
Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. június 9-én felülvizsgált
verziótól ; az ellenőrzések 4 szerkesztést igényelnek .
Zig |
---|
|
Nyelvóra |
programozási nyelv , kötelező programozási nyelv , általános célú programozási nyelv [d] , fordított programozási nyelv , rendszerprogramozási nyelv [d] , többparadigmás programozási nyelv , procedurális programozási nyelv és funkcionális programozási nyelv |
A végrehajtás típusa |
Összeállított |
Megjelent |
2015 [1] |
Szerző |
Andrew Kelley |
Fejlesztő |
Andrew Kelley |
Fájlkiterjesztés _ |
.zig |
Kiadás |
0.9.1 (2022. február 14. ) ( 2022-02-14 ) |
Típusrendszer |
statikus, szigorú |
Befolyásolt |
C , C++ , Go , Rust és JavaScript |
Engedély |
MIT |
Weboldal |
ziglang.org |
Médiafájlok a Wikimedia Commons oldalon |
A Zig egy kötelező , statikusan tipizált , lefordított , általános célú programozási nyelv [2] [3] . A nyelvet úgy tervezték, hogy " robusztus, optimális és karbantartható " szoftvert hozzon létre [4] [5] . A nyelv támogatja az általános programozást és a fordítási idejű tükrözést , a keresztfordítást és a kézi memóriakezelést [6] . A nyelv fő célja, hogy versenyezzen (és jobbá váljon) C [7] [8] , ugyanakkor néhány ötletet kölcsönöz Rusttól [9] .
A nyelv számos funkcióval rendelkezik az alacsony szintű programozáshoz , különösen: csomagolt struktúrák (a mezők között nulla igazítású struktúrák), tetszőleges hosszúságú egész típusúak (például: i7, i8, i63) [10] , többféle mutató [11] .
A fordítóprogram magán a nyelven, valamint C++ nyelven van írva. Az LLVM 12 [12] fordítói háttérként szolgál [13] [14] . A fordító az ingyenes MIT licenc alatt [14] licencelt . A fordító képes C és C++ programokat fordítani a "zig cc" és a "zig c++" parancsok segítségével [15] . A Nim programozási nyelv támogatja a Zig fordító használatát, mint a C fordítót.
Kódpéldák
helló világ
const std = @import ( "std" );
pub fn fő () ! void {
const stdout = std . io . getStdOut (). író ();
próbáld ki az stdout-ot . print ( "Helló, {}! \n " , .{ "világ" });
}
fn LinkedList ( comptime T : type ) type {
return struct {
pub const Node = struct {
prev : ?* Node ,
következő : ?* Node ,
adatok : T_ _
};
először : ?* Node ,
utolsó : ?* Node ,
len : usize ,
};
}
pub fn main () void {
var node = LinkedList ( i32 ). csomópont {
. előző = null ,
. következő = null ,
. adat = 1234 ,
};
var list = LinkedList ( i32 ) {
. first = & csomópont ,
. utolsó = & csomópont ,
. len = 1 ,
};
}
Jegyzetek
- ↑ Kelley A. init - 2015.
- ↑ "Zigben benne van a C elegáns egyszerűsége, leszámítva az összes módot, hogy lábon lőd magad " ? . JAXenter (2017. október 31.). Letöltve: 2020. szeptember 20. Az eredetiből archiválva : 2021. november 25. (határozatlan)
- ↑ Eleged van a C-ből? Az új Zig programozási nyelv pragmatikusabb és olvashatóbb lesz ? . JAXenter (2017. október 19.). Letöltve: 2020. szeptember 20. Az eredetiből archiválva : 2021. november 25. (határozatlan)
- ↑ Serdar Yegulap. Új kihívó csatlakozik Rusthoz, hogy megdöntse a C nyelvet . InfoWorld (2016. augusztus 29.). Letöltve: 2020. szeptember 20. Az eredetiből archiválva : 2021. november 25.
- ↑ IT之 家. tech.sina.com.cn (2020. július 12.). Letöltve: 2020. szeptember 20. Az eredetiből archiválva : 2021. november 25. (határozatlan)
- ↑ A Zig programozási nyelv . ziglang.org . Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2022. április 1. (határozatlan)
- ↑ A Mozilla Observatory, a Zig programozási nyelv és az uSens VR/AR SDK – SD Times hírösszefoglalója: augusztus 29, 2016 (angol) ? . SD Times (2016. augusztus 29.). Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2021. november 25. (határozatlan)
- ↑ A Zig programozási nyelv . ziglang.org . Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2022. április 1. (határozatlan)
- ↑ A nem biztonságos Zig biztonságosabb, mint a nem biztonságos rozsda - Andrew Kelley . andrewkelley.én . Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2022. február 21. (határozatlan)
- ↑ Szívesen megy az _ExtInt? Az LLVM Clang fordító támogatja az egyéni szélességű egész számokat . www.theregister.com . Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2020. október 26.
- ↑ Dokumentáció – A Zig programozási nyelv . ziglang.org . Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2022. március 31. (határozatlan)
- ↑ SD Times hírösszefoglaló: C++20 koncepciók a Visual Studio 2010 16.3-as verziójában, a Bootstrap megszünteti az IE-támogatást, és megjelent a Zig 0.60 ? . SD Times (2020. április 14.). Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2021. november 25. (határozatlan)
- ↑ Válasz erre: _The Road to Zig 1.0_ ? . www.gingerbill.org (2019. május 13.). Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2021. szeptember 7.. (határozatlan)
- ↑ 1 2 ciklang/zig . — 2020-09-21. Az eredetiből archiválva : 2022. március 30.
- ↑ 0.6.0 Kiadási megjegyzések A Zig programozási nyelv . ziglang.org . Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2022. február 21. (határozatlan)
Linkek