Content deleted Content added
since there's no discussion about this, i'm gonna assume this is vandalism. Undid revision 1302771954 by 240B:C010:650:949F:405B:43BD:DCF3:BC8B (talk) |
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
||
Line 29:
}}
'''Zig''' is an [[Imperative programming|imperative]], [[General-purpose programming language|general-purpose]], [[statically typed]], [[Compiled language|compiled]] [[System programming language|system]] [[programming language]] designed by Andrew Kelley.<ref>{{Cite web |date=2021-10-19 |title=Taking the warts off C, with Andrew Kelley, creator of the Zig programming language |url=https://sourcegraph.com/podcast/andrew-kelley |access-date=2024-04-18 |website=Sourcegraph |language=en |archive-date=2025-01-05 |archive-url=https://web.archive.org/web/20250105083326/https://sourcegraph.com/podcast/andrew-kelley |url-status=dead }}</ref> It is [[free and open-source software]], released under an [[MIT License]].<ref>{{Cite web|url=https://github.com/ziglang/zig|title=ziglang/zig|website=GitHub|language=en|access-date=2020-02-11}}</ref>
A major goal of the language is to improve on the [[C (programming language)|C language]]<ref name="roadtozig1.0" /><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>, with the intent of being even smaller and simpler to program in, while offering more functionality.<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> The improvements in language simplicity relate to flow control, [[Function (computer programming)|function calls]], [[Library (computing)|library]] imports, [[Declaration (computer programming)|variable declaration]] and [[Unicode]] support. Further, the language makes no use of [[Macro (computer science)|macros]] or [[preprocessor]] instructions. Features adopted from modern languages include the addition of [[compile time]] [[generic programming]] [[data type]]s, allowing functions to work on a variety of data, along with a small set of new [[compiler]] directives to allow access to the information about those types using [[reflective programming]] (reflection).<ref name=zig>{{Cite web|url=https://ziglang.org/|title=The Zig Programming Language|website=Ziglang.org|access-date=2020-02-11}}</ref> Like C, Zig omits [[Garbage collection (computer science)|garbage collection]], and has [[manual memory management]].<ref name=zig /> To help eliminate the potential errors that arise in such systems, it includes [[option type]]s, a simple [[Syntax (programming languages)|syntax]] for using them, and a [[unit testing]] framework built into the language. Zig has many features for [[Low-level programming language|low-level programming]], notably packed structs (structs without padding between fields), arbitrary-width integers<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 |last1=Anderson |first1=Tim |date=2020-04-24 |website=www.theregister.co.uk |language=en |access-date=2024-12-30}}</ref> and multiple pointer types.<ref name="zigdocumentation">{{Cite web|url=https://ziglang.org/documentation/master/|title=Documentation|website=Ziglang.org|access-date=2020-04-24}}</ref>
Line 360:
*[https://www.youtube.com/watch?v=Z4oYSByyRak Movie: Introducing Zig]
*[https://www.youtube.com/watch?v=Gv2I7qTux7g Movie: The Road to 1.0]
*[https://discu.eu/weekly/zig/ Zig Weekly] {{Webarchive|url=https://web.archive.org/web/20250114161926/https://discu.eu/weekly/zig/ |date=2025-01-14 }}
{{Programming languages}}
|