ज़िग (प्रोग्रामिंग लैंग्वेज): Difference between revisions

From Vigyanwiki
No edit summary
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Infobox programming language
{{Infobox programming language
| name = Zig
| name = Zig
Line 19: Line 18:
}}
}}


ज़िग एक [[अनिवार्य प्रोग्रामिंग|अनिवार्य]], सामान्य-उद्देश्य स्थिर रूप से टाइप की गई, [[संकलित भाषा|संकलित]] प्रणाली प्रोग्रामिंग भाषा है,जिसे एंड्रयू केली द्वारा प्रारूपित किया गया है। <ref>{{Cite web |date=2017-10-31 |title=Zig has all the elegant simplicity of C, minus all the ways to shoot yourself in the foot |url=https://jaxenter.com/zig-language-kelley-interview-138517.html |archive-url=https://web.archive.org/web/20171101231710/https://jaxenter.com/zig-language-kelley-interview-138517.html |archive-date=2017-11-01 |access-date=2020-02-11 |website=JAXenter |language=en-US}}</ref><ref>{{Cite web |date=2017-10-19 |title=Tired of C? New programming language Zig aims to be more pragmatic and readable |url=https://jaxenter.com/replace-c-zig-language-138242.html |archive-url=https://web.archive.org/web/20201001005039/https://jaxenter.com/replace-c-zig-language-138242.html |archive-date=2020-10-01 |access-date=2020-04-22 |language=en-US}}</ref> भाषा को मजबूती, इष्टतमता और रखरखाव के लिए प्रारूपित किया गया है,<ref name=RustInfluence>{{Cite web|url=https://www.infoworld.com/article/3113083/new-challenger-joins-rust-to-upend-c-language.html|title=New challenger joins Rust to topple C language|last=Yegulalp|first=Serdar|date=2016-08-29|website=InfoWorld|language=en|access-date=2020-02-11}}</ref><ref>{{Cite web|url=https://tech.sina.com.cn/digi/2020-07-12/doc-iirczymm1886067.shtml|title=Zig language and C|date=2020-07-12|website=[[Sina Corp]]|access-date=2020-08-12}}</ref> [[संकलन समय|संकलन]] सामान्य-समय [[प्रतिबिंब (कंप्यूटर प्रोग्रामिंग)]] और मूल्यांकन, [[क्रॉस कंपाइलर|क्रॉस संकलन]], और [[मैनुअल मेमोरी प्रबंधन]] का समर्थन करता है,<ref>{{Cite web|url=https://ziglang.org/|title=The Zig Programming Language|website=ziglang.org|access-date=2020-02-11}}</ref> भाषा का एक प्रमुख लक्ष्य सी (प्रोग्रामिंग भाषा) में सुधार करना है,<ref>{{Cite web|url=https://sdtimes.com/ar/mozillas-observatory-zig-programming-language-usens-vrar-sdk-sd-times-news-digest-aug-29-2016/|title=Mozilla's Observatory, the Zig programming language, and uSens' VR/AR SDK—SD Times news digest: Aug. 29, 2016|date=2016-08-29|website=SD Times|language=en-US|access-date=2020-02-11}}</ref><ref>{{Cite web|url=https://ziglang.org/#Zig-competes-with-C-instead-of-depending-on-it|title=The Zig Programming Language|website=ziglang.org|access-date=2020-02-11}}</ref> दूसरों के बीच जंग से प्रेरणा लेते हुए ज़िग में निम्न-स्तरीय प्रोग्रामिंग के लिए कई विशेषताएं हैं, विशेष रूप से पैक्ड स्ट्रक्चर्स (क्षेत्र के मध्य पैडिंग के अतिरिक्त संरचनाएं), मनमाना-चौड़ाई पूर्णांक<ref>{{Cite web|url=https://www.theregister.co.uk/2020/04/24/llvm_project_adds_support_for/|title=Keen to go _ExtInt? LLVM Clang compiler adds support for custom width integers|last=Tim Anderson 24 Apr 2020 at 09:50|website=www.theregister.co.uk|language=en|access-date=2020-04-24}}</ref> और कई सूचक प्रकार है।<ref>{{Cite web|url=https://ziglang.org/documentation/master/|title=Documentation - The Zig Programming Language|website=ziglang.org|access-date=2020-04-24}}</ref>
ज़िग एक [[अनिवार्य प्रोग्रामिंग|अनिवार्य]], सामान्य-उद्देश्य स्थिर रूप से टाइप की गई, [[संकलित भाषा|संकलित]] प्रणाली प्रोग्रामिंग लैंग्वेज है,जिसे एंड्रयू केली द्वारा प्रारूपित किया गया है। <ref>{{Cite web |date=2017-10-31 |title=Zig has all the elegant simplicity of C, minus all the ways to shoot yourself in the foot |url=https://jaxenter.com/zig-language-kelley-interview-138517.html |archive-url=https://web.archive.org/web/20171101231710/https://jaxenter.com/zig-language-kelley-interview-138517.html |archive-date=2017-11-01 |access-date=2020-02-11 |website=JAXenter |language=en-US}}</ref><ref>{{Cite web |date=2017-10-19 |title=Tired of C? New programming language Zig aims to be more pragmatic and readable |url=https://jaxenter.com/replace-c-zig-language-138242.html |archive-url=https://web.archive.org/web/20201001005039/https://jaxenter.com/replace-c-zig-language-138242.html |archive-date=2020-10-01 |access-date=2020-04-22 |language=en-US}}</ref> लैंग्वेज को मजबूती, इष्टतमता और रखरखाव के लिए प्रारूपित किया गया है,<ref name=RustInfluence>{{Cite web|url=https://www.infoworld.com/article/3113083/new-challenger-joins-rust-to-upend-c-language.html|title=New challenger joins Rust to topple C language|last=Yegulalp|first=Serdar|date=2016-08-29|website=InfoWorld|language=en|access-date=2020-02-11}}</ref><ref>{{Cite web|url=https://tech.sina.com.cn/digi/2020-07-12/doc-iirczymm1886067.shtml|title=Zig language and C|date=2020-07-12|website=[[Sina Corp]]|access-date=2020-08-12}}</ref> [[संकलन समय|संकलन]] सामान्य-समय [[प्रतिबिंब (कंप्यूटर प्रोग्रामिंग)]] और मूल्यांकन, [[क्रॉस कंपाइलर|क्रॉस संकलन]], और [[मैनुअल मेमोरी प्रबंधन]] का समर्थन करता है,<ref>{{Cite web|url=https://ziglang.org/|title=The Zig Programming Language|website=ziglang.org|access-date=2020-02-11}}</ref> लैंग्वेज का एक प्रमुख लक्ष्य सी (प्रोग्रामिंग लैंग्वेज) में सुधार करना है,<ref>{{Cite web|url=https://sdtimes.com/ar/mozillas-observatory-zig-programming-language-usens-vrar-sdk-sd-times-news-digest-aug-29-2016/|title=Mozilla's Observatory, the Zig programming language, and uSens' VR/AR SDK—SD Times news digest: Aug. 29, 2016|date=2016-08-29|website=SD Times|language=en-US|access-date=2020-02-11}}</ref><ref>{{Cite web|url=https://ziglang.org/#Zig-competes-with-C-instead-of-depending-on-it|title=The Zig Programming Language|website=ziglang.org|access-date=2020-02-11}}</ref> दूसरों के बीच जंग से प्रेरणा लेते हुए ज़िग में निम्न-स्तरीय प्रोग्रामिंग के लिए कई विशेषताएं हैं, विशेष रूप से पैक्ड स्ट्रक्चर्स (क्षेत्र के मध्य पैडिंग के अतिरिक्त संरचनाएं), मनमाना-चौड़ाई पूर्णांक<ref>{{Cite web|url=https://www.theregister.co.uk/2020/04/24/llvm_project_adds_support_for/|title=Keen to go _ExtInt? LLVM Clang compiler adds support for custom width integers|last=Tim Anderson 24 Apr 2020 at 09:50|website=www.theregister.co.uk|language=en|access-date=2020-04-24}}</ref> और कई सूचक प्रकार है।<ref>{{Cite web|url=https://ziglang.org/documentation/master/|title=Documentation - The Zig Programming Language|website=ziglang.org|access-date=2020-04-24}}</ref>


ज़िग केवल एक नई भाषा नहीं है। इसमें सी /सी ++ कंपाइलर भी सम्मिलित है, और ज़िग का उपयोग किसी एक या दोनों भाषाओं के साथ किया जा सकता है।
ज़िग केवल एक नई लैंग्वेज नहीं है। इसमें C /C ++ कंपाइलर भी सम्मिलित है, और ज़िग का उपयोग किसी एक या दोनों लैंग्वेजओं के साथ किया जा सकता है।


संस्करण 0.10 के पश्चात से (नया डिफ़ॉल्ट) ज़िग संकलन ज़िग में लिखा गया है, अर्थात, यह एक [[सेल्फ-होस्टिंग कंपाइलर|सेल्फ-होस्टिंग संकलन]] है, और यह उस प्रकाशन की एक प्रमुख नई विशेषता है ( [[बूटस्ट्रैपिंग (संकलक)|बूटस्ट्रैपिंग संकलक]], सी ++ में लिखी गई पुरानी लीगेसी [[बूटस्ट्रैपिंग (संकलक)|बूटस्ट्रैपिंग संकलक]] अभी भी एक विकल्प है परन्तु 0.11 में नहीं होगा)। डिफ़ॉल्ट बैकएंड (अर्थात ऑप्टिमाइज़र) अभी भी [[एलएलवीएम]] है (अब संस्करण 15, लीगेसी संस्करण 13 का उपयोग करता है), और एलएलवीएम सी ++ में लिखा गया है। एलएलवीएम के साथ ज़िग (अर्थात संकलक, इससे उत्पन्न कोड नहीं) 169 एमआईबी है, बनाम एलएलवीएम 4.4 एमआईबी के अतिरिक्त। नए ज़िग के साथ संकलन करते समय बहुत कम मेमोरी का उपयोग किया जाता है (पुराना, अब लीगेसी, संकलक 3.5एक्स अधिक मेमोरी का उपयोग करता है), और यह थोड़ा तीव्र संकलित करता है। तीव्र निष्पादन योग्य कोड सामान्यतः नए संकलन के साथ अनुपालन किया जाता है (अर्थात इसकी एलएलवीएम कोड जनरेशन उत्तम है), और यह कई बग्स को ठीक करता है, परन्तु संस्करण 0.10 में पुराने लीगेसी संकलक के लिए भी सुधार हैं। स्वयं-होस्ट किए गए संकलक के साथ कसकर जोड़ा जाता है। नया संस्करण एएमडी जीपीयू के लिए कुछ प्रयोगात्मक (टियर -3) समर्थन भी जोड़ता है (एनवीडिया जीपीयू और प्लेस्टेशन 4 और 5 के लिए कुछ कम समर्थन भी है)।
संस्करण 0.10 के पश्चात से (नया डिफ़ॉल्ट) ज़िग संकलन ज़िग में लिखा गया है, अर्थात, यह एक [[सेल्फ-होस्टिंग कंपाइलर|सेल्फ-होस्टिंग संकलन]] है, और यह उस प्रकाशन की एक प्रमुख नई विशेषता है ( [[बूटस्ट्रैपिंग (संकलक)|बूटस्ट्रैपिंग संकलक]], C ++ में लिखी गई पुरानी लीगेसी [[बूटस्ट्रैपिंग (संकलक)|बूटस्ट्रैपिंग संकलक]] अभी भी एक विकल्प है परन्तु 0.11 में नहीं होगा)। डिफ़ॉल्ट बैकएंड (अर्थात ऑप्टिमाइज़र) अभी भी [[एलएलवीएम]] है (अब संस्करण 15, लीगेसी संस्करण 13 का उपयोग करता है), और एलएलवीएम सी ++ में लिखा गया है। एलएलवीएम के साथ ज़िग (अर्थात संकलक, इससे उत्पन्न कोड नहीं) 169 एमआईबी है, बनाम एलएलवीएम 4.4 एमआईबी के अतिरिक्त। नए ज़िग के साथ संकलन करते समय बहुत कम मेमोरी का उपयोग किया जाता है (पुराना, अब लीगेसी, संकलक 3.5एक्स अधिक मेमोरी का उपयोग करता है), और यह थोड़ा तीव्र संकलित करता है। तीव्र निष्पादन योग्य कोड सामान्यतः नए संकलन के साथ अनुपालन किया जाता है (अर्थात इसकी एलएलवीएम कोड जनरेशन उत्तम है), और यह कई बग्स को ठीक करता है, परन्तु संस्करण 0.10 में पुराने लीगेसी संकलक के लिए भी सुधार हैं। स्वयं-होस्ट किए गए संकलक के साथ कसकर जोड़ा जाता है। नया संस्करण एएमडी जीपीयू के लिए कुछ प्रयोगात्मक (टियर -3) समर्थन भी जोड़ता है (एनवीडिया जीपीयू और प्लेस्टेशन 4 और 5 के लिए कुछ कम समर्थन भी है)।


पुराने बूटस्ट्रैपिंग (स्टेज1) संकलन को ज़िग और सी++ में लिखा गया है,<ref>{{Cite web|url=https://sdtimes.com/softwaredev/sd-times-news-digest-c20-concepts-in-visual-studio-2010-version-16-3-bootstrap-to-drop-ie-support-and-zig-0-60-released/|title=SD Times news digest: C++20 concepts in Visual Studio 2010 version 16.3, Bootstrap to drop IE support, and Zig 0.60 released|date=2020-04-14|website=SD Times|language=en-US|access-date=2020-04-19}}</ref> एलएलवीएम 13 को बैक-एंड के रूप में उपयोग करते हुए,<ref>{{Cite web|url=https://www.gingerbill.org/article/2019/05/13/a-reply-to-the-road-to-zig/|title=A Reply to _The Road to Zig 1.0_|date=2019-05-13|website=www.gingerbill.org|language=en-gb|access-date=2020-02-11}}</ref><ref>{{Citation|title=ziglang/zig|date=2020-02-11|url=https://github.com/ziglang/zig|publisher=Zig Programming Language|access-date=2020-02-11}}</ref> अपने कई मूल लक्ष्यों का समर्थन करता है ।<ref>{{Cite web|url=https://ziglang.org/#Tier-System|title=The Zig Programming Language|website=ziglang.org|access-date=2020-02-11}}</ref> संकलक एमआईटी लाइसेंस के तहत जारी किया गया [[मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर]] है।<ref>{{Cite web|url=https://github.com/ziglang/zig|title=ziglang/zig|website=GitHub|language=en|access-date=2020-02-11}}</ref> ज़िग संकलक सी और सी ++ को समान रूप से [[Clang|क्लैंग]] को कमांड ज़िग सीसी और ज़िग सी++ के साथ संकलित करने की क्षमता को प्रकट करता है,<ref>{{Cite web|url=https://ziglang.org/download/0.6.0/release-notes.html#zig-cc|title=0.6.0 Release Notes · The Zig Programming Language|website=ziglang.org|access-date=2020-04-19}}</ref> कई अलग-अलग प्लेटफार्मों के लिए एलआईबीसी और एलआईबीसीएक्सएक्स सहित कई शीर्षलेख प्रदान करता है, ज़िग के सीसी और  सी++ सब-कमांड की अनुमति देता है, बॉक्स के बाहर क्रॉस संकलक के रूप में कार्य करने के लिए।<ref>{{Cite web|title='zig cc': a Powerful Drop-In Replacement for GCC/Clang - Andrew Kelley|url=https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html|access-date=2021-05-28|website=andrewkelley.me}}</ref><ref>{{Cite web|title=Zig Makes Go Cross Compilation Just Work|url=https://dev.to/kristoff/zig-makes-go-cross-compilation-just-work-29ho|access-date=2021-05-28|website=DEV Community|language=en}}</ref>
पुराने बूटस्ट्रैपिंग (स्टेज1) संकलन को ज़िग और C++ में लिखा गया है,<ref>{{Cite web|url=https://sdtimes.com/softwaredev/sd-times-news-digest-c20-concepts-in-visual-studio-2010-version-16-3-bootstrap-to-drop-ie-support-and-zig-0-60-released/|title=SD Times news digest: C++20 concepts in Visual Studio 2010 version 16.3, Bootstrap to drop IE support, and Zig 0.60 released|date=2020-04-14|website=SD Times|language=en-US|access-date=2020-04-19}}</ref> एलएलवीएम 13 को बैक-एंड के रूप में उपयोग करते हुए,<ref>{{Cite web|url=https://www.gingerbill.org/article/2019/05/13/a-reply-to-the-road-to-zig/|title=A Reply to _The Road to Zig 1.0_|date=2019-05-13|website=www.gingerbill.org|language=en-gb|access-date=2020-02-11}}</ref><ref>{{Citation|title=ziglang/zig|date=2020-02-11|url=https://github.com/ziglang/zig|publisher=Zig Programming Language|access-date=2020-02-11}}</ref> अपने कई मूल लक्ष्यों का समर्थन करता है ।<ref>{{Cite web|url=https://ziglang.org/#Tier-System|title=The Zig Programming Language|website=ziglang.org|access-date=2020-02-11}}</ref> संकलक एमआईटी लाइसेंस के तहत जारी किया गया [[मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर]] है।<ref>{{Cite web|url=https://github.com/ziglang/zig|title=ziglang/zig|website=GitHub|language=en|access-date=2020-02-11}}</ref> ज़िग संकलक सी और C ++ को समान रूप से [[Clang|क्लैंग]] को कमांड ज़िग सीसी और ज़िग C++ के साथ संकलित करने की क्षमता को प्रकट करता है,<ref>{{Cite web|url=https://ziglang.org/download/0.6.0/release-notes.html#zig-cc|title=0.6.0 Release Notes · The Zig Programming Language|website=ziglang.org|access-date=2020-04-19}}</ref> कई अलग-अलग प्लेटफार्मों के लिए एलआईबीसी और एलआईबीसीएक्सएक्स सहित कई शीर्षलेख प्रदान करता है, ज़िग के सीसी और  C++ सब-कमांड की अनुमति देता है, बॉक्स के बाहर क्रॉस संकलक के रूप में कार्य करने के लिए।<ref>{{Cite web|title='zig cc': a Powerful Drop-In Replacement for GCC/Clang - Andrew Kelley|url=https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html|access-date=2021-05-28|website=andrewkelley.me}}</ref><ref>{{Cite web|title=Zig Makes Go Cross Compilation Just Work|url=https://dev.to/kristoff/zig-makes-go-cross-compilation-just-work-29ho|access-date=2021-05-28|website=DEV Community|language=en}}</ref>


साथ ही ऑपरेटिंग सिस्टम (ज्यादातर डेस्कटॉप वाले) आधिकारिक तौर पर समर्थित (और प्रलेखित),(न्यूनतम) एप्लिकेशन एंड्रॉइड के लिए बनाए जा सकते हैं, और किए गए हैं ([[एंड्रॉइड एनडीके]] के साथ, और [[आईओएस]] के लिए प्रोग्रामिंग भी संभव है)।
साथ ही ऑपरेटिंग सिस्टम (ज्यादातर डेस्कटॉप वाले) आधिकारिक तौर पर समर्थित (और प्रलेखित),(न्यूनतम) एप्लिकेशन एंड्रॉइड के लिए बनाए जा सकते हैं, और किए गए हैं ([[एंड्रॉइड एनडीके]] के साथ, और [[आईओएस]] के लिए प्रोग्रामिंग भी संभव है)।
Line 81: Line 80:
== यह भी देखें ==
== यह भी देखें ==
{{Portal|Free and open-source software|Computer programming}}
{{Portal|Free and open-source software|Computer programming}}
*सी (प्रोग्रामिंग भाषा)
*सी (प्रोग्रामिंग लैंग्वेज)
*सी++
*सी++
* [[निम (प्रोग्रामिंग भाषा)]]
* [[निम (प्रोग्रामिंग भाषा)|निम (प्रोग्रामिंग लैंग्वेज)]]
* जंग (प्रोग्रामिंग भाषा)
* जंग (प्रोग्रामिंग लैंग्वेज)
* [[डी (प्रोग्रामिंग भाषा)]]
* [[डी (प्रोग्रामिंग भाषा)|डी (प्रोग्रामिंग लैंग्वेज)]]


==संदर्भ==
==संदर्भ==
Line 97: Line 96:
*[https://www.youtube.com/watch?v=Gv2I7qTux7g Movie: The Road to 1.0]
*[https://www.youtube.com/watch?v=Gv2I7qTux7g Movie: The Road to 1.0]
*[https://discu.eu/weekly/zig/ Zig Weekly]
*[https://discu.eu/weekly/zig/ Zig Weekly]
{{Programming languages}}
{{Authority control}}
{{Authority control}}
[[Category: प्रोग्रामिंग भाषा]] [[Category: क्रॉस-प्लेटफॉर्म मुफ्त सॉफ्टवेयर]] [[Category: क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर]] [[Category: अंतः स्थापित प्रणालियाँ]] [[Category: निःशुल्क संकलक और दुभाषिए]] [[Category: मुफ्त कंप्यूटर पुस्तकालय]] [[Category: 2015 में बनाई गई प्रोग्रामिंग लैंग्वेज]] [[Category: वैधानिक रूप से टाइप की गई प्रोग्रामिंग भाषाएँ]] [[Category: एमआईटी लाइसेंस का उपयोग करने वाला सॉफ्टवेयर]] [[Category: सिस्टम प्रोग्रामिंग भाषाएं]] [[Category: सी (प्रोग्रामिंग भाषा) संकलक]]


[[Category: Machine Translated Page]]
[[Category:2015 में बनाई गई प्रोग्रामिंग लैंग्वेज]]
[[Category:CS1 British English-language sources (en-gb)]]
[[Category:CS1 English-language sources (en)]]
[[Category:Collapse templates]]
[[Category:Created On 18/02/2023]]
[[Category:Created On 18/02/2023]]
[[Category:Vigyan Ready]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Official website not in Wikidata]]
[[Category:Pages with empty portal template]]
[[Category:Pages with script errors]]
[[Category:Portal templates with redlinked portals]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]
[[Category:अंतः स्थापित प्रणालियाँ]]
[[Category:एमआईटी लाइसेंस का उपयोग करने वाला सॉफ्टवेयर]]
[[Category:क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर]]
[[Category:क्रॉस-प्लेटफॉर्म मुफ्त सॉफ्टवेयर]]
[[Category:निःशुल्क संकलक और दुभाषिए]]
[[Category:प्रोग्रामिंग भाषा]]
[[Category:मुफ्त कंप्यूटर पुस्तकालय]]
[[Category:वैधानिक रूप से टाइप की गई प्रोग्रामिंग भाषाएँ]]
[[Category:सिस्टम प्रोग्रामिंग भाषाएं]]
[[Category:सी (प्रोग्रामिंग भाषा) संकलक]]

Latest revision as of 13:15, 10 October 2023

Zig
Zig logo 2020.svg
ParadigmsMulti-paradigm: imperative, concurrent, procedural, functional
द्वारा डिज़ाइन किया गयाAndrew Kelley
पहली प्रस्तुति8 February 2016; 8 years ago (2016-02-08)[1]
Preview release
Script error: The module returned a nil value. It is supposed to return an export table. / Script error: The module returned a nil value. It is supposed to return an export table.; Error: first parameter cannot be parsed as a date or time. (Script error: The module returned a nil value. It is supposed to return an export table.)

ज़िग एक अनिवार्य, सामान्य-उद्देश्य स्थिर रूप से टाइप की गई, संकलित प्रणाली प्रोग्रामिंग लैंग्वेज है,जिसे एंड्रयू केली द्वारा प्रारूपित किया गया है। [2][3] लैंग्वेज को मजबूती, इष्टतमता और रखरखाव के लिए प्रारूपित किया गया है,[4][5] संकलन सामान्य-समय प्रतिबिंब (कंप्यूटर प्रोग्रामिंग) और मूल्यांकन, क्रॉस संकलन, और मैनुअल मेमोरी प्रबंधन का समर्थन करता है,[6] लैंग्वेज का एक प्रमुख लक्ष्य सी (प्रोग्रामिंग लैंग्वेज) में सुधार करना है,[7][8] दूसरों के बीच जंग से प्रेरणा लेते हुए ज़िग में निम्न-स्तरीय प्रोग्रामिंग के लिए कई विशेषताएं हैं, विशेष रूप से पैक्ड स्ट्रक्चर्स (क्षेत्र के मध्य पैडिंग के अतिरिक्त संरचनाएं), मनमाना-चौड़ाई पूर्णांक[9] और कई सूचक प्रकार है।[10]

ज़िग केवल एक नई लैंग्वेज नहीं है। इसमें C /C ++ कंपाइलर भी सम्मिलित है, और ज़िग का उपयोग किसी एक या दोनों लैंग्वेजओं के साथ किया जा सकता है।

संस्करण 0.10 के पश्चात से (नया डिफ़ॉल्ट) ज़िग संकलन ज़िग में लिखा गया है, अर्थात, यह एक सेल्फ-होस्टिंग संकलन है, और यह उस प्रकाशन की एक प्रमुख नई विशेषता है ( बूटस्ट्रैपिंग संकलक, C ++ में लिखी गई पुरानी लीगेसी बूटस्ट्रैपिंग संकलक अभी भी एक विकल्प है परन्तु 0.11 में नहीं होगा)। डिफ़ॉल्ट बैकएंड (अर्थात ऑप्टिमाइज़र) अभी भी एलएलवीएम है (अब संस्करण 15, लीगेसी संस्करण 13 का उपयोग करता है), और एलएलवीएम सी ++ में लिखा गया है। एलएलवीएम के साथ ज़िग (अर्थात संकलक, इससे उत्पन्न कोड नहीं) 169 एमआईबी है, बनाम एलएलवीएम 4.4 एमआईबी के अतिरिक्त। नए ज़िग के साथ संकलन करते समय बहुत कम मेमोरी का उपयोग किया जाता है (पुराना, अब लीगेसी, संकलक 3.5एक्स अधिक मेमोरी का उपयोग करता है), और यह थोड़ा तीव्र संकलित करता है। तीव्र निष्पादन योग्य कोड सामान्यतः नए संकलन के साथ अनुपालन किया जाता है (अर्थात इसकी एलएलवीएम कोड जनरेशन उत्तम है), और यह कई बग्स को ठीक करता है, परन्तु संस्करण 0.10 में पुराने लीगेसी संकलक के लिए भी सुधार हैं। स्वयं-होस्ट किए गए संकलक के साथ कसकर जोड़ा जाता है। नया संस्करण एएमडी जीपीयू के लिए कुछ प्रयोगात्मक (टियर -3) समर्थन भी जोड़ता है (एनवीडिया जीपीयू और प्लेस्टेशन 4 और 5 के लिए कुछ कम समर्थन भी है)।

पुराने बूटस्ट्रैपिंग (स्टेज1) संकलन को ज़िग और C++ में लिखा गया है,[11] एलएलवीएम 13 को बैक-एंड के रूप में उपयोग करते हुए,[12][13] अपने कई मूल लक्ष्यों का समर्थन करता है ।[14] संकलक एमआईटी लाइसेंस के तहत जारी किया गया मुफ़्त और ओपन-सोर्स सॉफ़्टवेयर है।[15] ज़िग संकलक सी और C ++ को समान रूप से क्लैंग को कमांड ज़िग सीसी और ज़िग C++ के साथ संकलित करने की क्षमता को प्रकट करता है,[16] कई अलग-अलग प्लेटफार्मों के लिए एलआईबीसी और एलआईबीसीएक्सएक्स सहित कई शीर्षलेख प्रदान करता है, ज़िग के सीसी और C++ सब-कमांड की अनुमति देता है, बॉक्स के बाहर क्रॉस संकलक के रूप में कार्य करने के लिए।[17][18]

साथ ही ऑपरेटिंग सिस्टम (ज्यादातर डेस्कटॉप वाले) आधिकारिक तौर पर समर्थित (और प्रलेखित),(न्यूनतम) एप्लिकेशन एंड्रॉइड के लिए बनाए जा सकते हैं, और किए गए हैं (एंड्रॉइड एनडीके के साथ, और आईओएस के लिए प्रोग्रामिंग भी संभव है)।

ज़िग का अपना आधिकारिक पैकेज मैनेजर नहीं है (गैर-आधिकारिक वाले उपस्थित हैं), परन्तु एक मानक के पास 0.12 के लिए एक मील का पत्थर है।

ज़िग विकास को ज़िग सॉफ्टवेयर फाउंडेशन (जेडएसएफ) द्वारा वित्त पोषित किया जाता है, जो एक गैर-लाभकारी निगम है, जिसके अध्यक्ष एंड्रयू केली हैं, जो दान लेता है और कई पूर्णकालिक कर्मचारियों को काम पर रखता है।[19][20][21]


उदाहरण

हैलो वर्ल्ड

const std = @import("std");
pub fn main() !void {
    const stdout = std.io.getStdOut().writer();
    try stdout.print("Hello, {s}!\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,
    };
}

प्रोजेक्ट

यह भी देखें

संदर्भ

  1. Kelley, Andrew. "Introduction to the Zig Programming Language". andrewkelley.me. Retrieved 8 November 2020.
  2. "Zig has all the elegant simplicity of C, minus all the ways to shoot yourself in the foot". JAXenter (in English). 2017-10-31. Archived from the original on 2017-11-01. Retrieved 2020-02-11.
  3. "Tired of C? New programming language Zig aims to be more pragmatic and readable" (in English). 2017-10-19. Archived from the original on 2020-10-01. Retrieved 2020-04-22.
  4. Yegulalp, Serdar (2016-08-29). "New challenger joins Rust to topple C language". InfoWorld (in English). Retrieved 2020-02-11.
  5. "Zig language and C". Sina Corp. 2020-07-12. Retrieved 2020-08-12.
  6. "The Zig Programming Language". ziglang.org. Retrieved 2020-02-11.
  7. "Mozilla's Observatory, the Zig programming language, and uSens' VR/AR SDK—SD Times news digest: Aug. 29, 2016". SD Times (in English). 2016-08-29. Retrieved 2020-02-11.
  8. "The Zig Programming Language". ziglang.org. Retrieved 2020-02-11.
  9. Tim Anderson 24 Apr 2020 at 09:50. "Keen to go _ExtInt? LLVM Clang compiler adds support for custom width integers". www.theregister.co.uk (in English). Retrieved 2020-04-24.
  10. "Documentation - The Zig Programming Language". ziglang.org. Retrieved 2020-04-24.
  11. "SD Times news digest: C++20 concepts in Visual Studio 2010 version 16.3, Bootstrap to drop IE support, and Zig 0.60 released". SD Times (in English). 2020-04-14. Retrieved 2020-04-19.
  12. "A Reply to _The Road to Zig 1.0_". www.gingerbill.org (in British English). 2019-05-13. Retrieved 2020-02-11.
  13. ziglang/zig, Zig Programming Language, 2020-02-11, retrieved 2020-02-11
  14. "The Zig Programming Language". ziglang.org. Retrieved 2020-02-11.
  15. "ziglang/zig". GitHub (in English). Retrieved 2020-02-11.
  16. "0.6.0 Release Notes · The Zig Programming Language". ziglang.org. Retrieved 2020-04-19.
  17. "'zig cc': a Powerful Drop-In Replacement for GCC/Clang - Andrew Kelley". andrewkelley.me. Retrieved 2021-05-28.
  18. "Zig Makes Go Cross Compilation Just Work". DEV Community (in English). Retrieved 2021-05-28.
  19. "Jakub Konka on Twitter". Twitter (in English). Retrieved 2021-05-28.
  20. "Announcing the Zig Software Foundation ⚡ Zig Programming Language". ziglang.org. Retrieved 2021-05-28.
  21. "Sponsor ZSF ⚡ Zig Programming Language". ziglang.org. Retrieved 2021-05-28.


बाहरी संबंध