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 () ! void { const stdout = std . io . getStdOut (). író (); próbáld ki az stdout-ot . print ( "Helló, {}! \n " , .{ "világ" }); }

Általános linkelt lista

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

  1. Kelley A. init - 2015.
  2. "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.
  3. 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.
  4. 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.
  5. IT之 . tech.sina.com.cn (2020. július 12.). Letöltve: 2020. szeptember 20. Az eredetiből archiválva : 2021. november 25.
  6. A Zig programozási nyelv . ziglang.org . Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2022. április 1.
  7. 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.
  8. A Zig programozási nyelv . ziglang.org . Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2022. április 1.
  9. 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.
  10. 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.
  11. Dokumentáció – A Zig programozási nyelv . ziglang.org . Letöltve: 2020. szeptember 21. Az eredetiből archiválva : 2022. március 31.
  12. 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.
  13. ↑ 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..
  14. ↑ 1 2 ciklang/zig . — 2020-09-21. Az eredetiből archiválva : 2022. március 30.
  15. 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.

Linkek