최근 수정 시각 : 2024-09-17 22:05:31

Zig



파일:나무위키+유도.png  
은(는) 여기로 연결됩니다.
Poppy의 정규 5집 앨범에 대한 내용은 Zig(음반) 문서
번 문단을
부분을
, 약칭이 ZiG인 짐바브웨의 화폐에 대한 내용은 짐바브웨 골드 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
참고하십시오.
이 문서는 토막글입니다.

토막글 규정을 유의하시기 바랍니다.


프로그래밍 사이트 선정 프로그래밍 언어 순위 목록
{{{#!wiki style="margin: 0 -10px -5px; word-break: keep-all"
{{{#!wiki style="display: inline-table; min-width: 25%; min-height: 2em;"
{{{#!folding [ IEEE Spectrum 2024 ]
{{{#!wiki style="margin: -5px 0"
<rowcolor=#fff> 스펙트럼 부문 상위 10개 프로그래밍 언어 직업 부문 상위 10개 프로그래밍 언어
1 Python 1 SQL
2 Java 2 Python
3 JavaScript 3 Java
4 C++ 4 TypeScript
5 TypeScript 5 SAS
6 SQL 6 JavaScript
7 C# 7 C#
8 Go 8 HTML
9 C 9 Shell
10 HTML 10 C++
}}}
}}}
}}}
[ Stack Overflow 2024 ]
[ TIOBE 2024 ]
||<tablewidth=100%><width=9999><-4><bgcolor=deepskyblue><tablebgcolor=#fff,#222> 2024년 8월 기준 검색어 점유율 상위 20개 프로그래밍 언어 ||
1 Python 11 MATLAB
2 C++ 12 Delphi / Object Pascal
3 C 13 PHP
4 Java 14 Rust
5 C# 15 Ruby
6 JavaScript 16 Swift
7 SQL 17 Assembly language
8 Visual Basic 18 Kotlin
9 Go 19 R
10 Fortran 20 Scratch
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 21위 ~ 50위 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px"
21 COBOL 36 Scala
22 Classic Visual Basic 37 Transact-SQL
23 LISP 38 PL/SQL
24 Prolog 39 ABAP
25 Perl 40 Solidity
26 (Visual) FoxPro 41 GAMS
27 SAS 42 PowerShell
28 Haskell 43 TypeScript
29 Dart 44 Logo
30 Ada 45 Wolfram
31 D 46 Awk
32 Julia 47 RPG
33 Objective-C 48 ML
34 VBScript 49 Bash
35 Lua 50 Elixir
}}}}}}}}} ||
[ PYPL 2024 ]

}}} ||
프로그래밍 언어 목록 · 분류 · 문법
<colbgcolor=#ffffff,#1f2023> 지그
Zig
파일:zig-logo-dark.svg 파일:zig-logo-light.svg
제작자 Andrew Kelley
출시 2016년 2월 8일
버전 0.13.0
라이선스 MIT 라이선스
파일:홈페이지 아이콘.svg | 파일:GitHub 아이콘.svg 파일:GitHub 아이콘 화이트.svg | 파일:디스코드 아이콘.svg
1. 개요2. 학습3. 여담4. 관련 링크

[clearfix]

1. 개요


const std = @import("std");

pub fn main() void {
    std.debug.print("Hello, world!\n");
}

C언어와의 호환성을 중시하는 다목적 프로그래밍 언어. Rust로부터 상당한 문법적 영향을 받았으나 러스트의 핵심 개념이라고 할 수 있는 컴파일 타임에서의 메모리 체크를 포기하고 개발자가 직접 메모리를 관리하도록 하는 것이 특징이다.[1]

C와 C++에 친화적이기 때문에 C헤더 파일을 그대로 include해 사용할 수 있다거나 별도의 FFI 없이 C/C++ 빌드 시스템이나 라이브러리를 사용하는 것도 가능하다. 사실 zig 자체가 완전한 C 컴파일러이기도 하다. 그 외에도 크로스 컴파일을 중점으로 두는 등의 장점이 있다.

그 외 u8 등의 타입 이름은 Rust의 영향을 받았다.

일반적인 벤치마크에서 러스트보다 살짝 빠르지만, 러스트보다 느린 경우도 있다. 벤치마크 다만 메모리 사용률이 러스트에 비해 절반 정도에 불과할 만큼 차이가 난다는 장점이 있다.

2. 학습

3. 여담

  • Rust가 Ferris라는 이름의 게를 마스코트로 가지고 있는 것처럼 Zig도 동물 마스코트가 있다. 이구아나 Zero와 Ziggy, 악어 Carmen이 그것들이다( #). Rust의 Ferris가 비공식인 것과 달리 Zig의 마스코트들은 공식.
  • LLVM 기반이지만, 개발진이 탈LLVM도 추진하고 있어서 컴파일러를 직접 빌드할 때 LLVM 없이 빌드할 수도 있다. 다만 이쪽은 아직 태동기 수준으로, 알려진 기능들이[2] 대부분 빠진 채로 빌드된다.

4. 관련 링크


[1] 정확히는 디버그 모드로 실행하면 런타임 체크가 이루어지며, 그때 버그를 잡아낼 수 있다. [2] C 컴파일러 역할, 링크 기능의 상당 부분, 정적 아카이브 생성 등