최근 수정 시각 : 2025-04-02 16:11:42

V(프로그래밍 언어)

[[프로그래밍 언어|'''프로그래밍 언어
{{{#!wiki style="font-family: Times New Roman, serif; display: inline;"
]]
{{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px"
{{{#!wiki style="display: inline-table; min-width: 40%; min-height: calc(1.5em + 5px)"
{{{#!folding [ 목록 ]
{{{#!wiki style="margin: -5px -1px"
<colbgcolor=royalblue><colcolor=#fff> ※ 나무위키에 등재된 프로그래밍 언어 목록
AActionScript · Ada · Agda · ALGOL · Apex · APL · awk
BBASIC · Befunge · Brainfuck
CC · C# · C++ · Carbon · Chef · Clojure · COBOL · CoffeeScript · Coq · Crystal
DD · Dart
EElixir · Elm · emojicode · Erlang · ETA
FF# · Fennel · Forth · Fortran
GGNU Octave · Go · Groovy · Golfscript
HHaskell · HolyC · HQ9+ · HRON
I
JJava · JavaScript · Julia
KKotlin · Krait
LLean · LISP · Lua
MMalbolge · MATLAB · Max · Mojo · Moonlight
NNim · Nix
OOberon · Objective-C · OCaml · Ook!
PPascal · Perl · PHP · Processing · Prolog · Python
QQ#
RR · Racket · Raku · ReasonML · Ruby · Rust
SScala · Scheme · Scratch · sed · Shakespeare · Shell Script · Smalltalk · Swift
TTypeScript
UUdon
VVisual Basic · Visual Basic .NET · Visual Basic for Applications · vvvv
WWave · Whitespace
X
Y
ZZenScript · Zig
한글누리 · · 씨앗 · 아희 · 약속 · 엄랭 · 엔트리 · 창조}}}}}}}}}{{{#!wiki style="display: inline-table; min-width: 40%; min-height: calc(1.5em + 5px)"
{{{#!folding [ 순위 ]
{{{#!wiki style="margin: -5px -1px -10px"
{{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px"
{{{#!wiki style="display: inline-table; min-width: 25%; min-height: calc(1.5em + 5px)"
{{{#!folding [ IEEE Spectrum 2024 ]
{{{#!wiki style="margin: -5px -1px"
<tablewidth=100%><tablebgcolor=transparent><colbgcolor=#11a500><colcolor=#fff> 스펙트럼 부문 상위 10개 프로그래밍 언어 <colbgcolor=#ff1100><colcolor=#fff> 직업 부문 상위 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++ }}}}}}}}}{{{#!wiki style="display: inline-table; min-width: 25%; min-height: calc(1.5em + 5px)"
{{{#!folding [ Stack Overflow 2024 ]
{{{#!wiki style="margin: -5px -1px"
<colbgcolor=#ffa500><colcolor=#fff> 2024년 Stackoverflow 설문조사 상위 25개 프로그래밍 언어
1 JavaScript <colbgcolor=#ffa500><colcolor=#fff> 14 Rust
2 HTML & CSS 15 Kotlin
3 Python 16 Lua
4 SQL 17 Dart
5 TypeScript 18 어셈블리어
6 Bash 19 Ruby
7 Java 20 Swift
8 C# 21 R
9 C++ 22 Visual Basic
10 C 23 MATLAB
11 PHP 24 VBA
12 PowerShell 25 Groovy
13 Go }}}}}}}}}{{{#!wiki style="display: inline-table; min-width: 25%; min-height: calc(1.5em + 5px)"
{{{#!folding [ TIOBE 2025 ]
{{{#!wiki style="margin: -5px -1px"
<colbgcolor=#2777c2><colcolor=#fff> 2025년 4월 TIOBE 검색어 점유율 상위 20개 프로그래밍 언어
1 Python <colbgcolor=#2777c2><colcolor=#fff> 11 Fortran
2 C++ 12 Scratch
3 C 13 PHP
4 Java 14 R
5 C# 15 Ada
6 JavaScript 16 MATLAB
7 Go 17 Assembly language
8 Visual Basic 18 Rust
9 Delphi / Object Pascal 19 Perl
10 SQL 20 COBOL }}}}}}}}}{{{#!wiki style="display: inline-table; min-width: 25%; min-height: calc(1.5em + 5px)"
{{{#!folding [ PYPL 2025 ]
{{{#!wiki style="margin: -5px -1px -10px"
<colbgcolor=green><colcolor=#fff> 2025년 5월 PYPL 검색어 점유율 상위 20개 프로그래밍 언어
1 Python <colbgcolor=green><colcolor=#fff> 11 Swift
2 Java 12 Go
3 JavaScript 13 Kotlin
4 C/C++ 14 MATLAB
5 C# 15 Ada
6 R 16 Ruby
7 PHP 17 Dart
8 Rust 18 Lua
9 TypeScript 19 VBA
10 Objective-C 20 PowerShell }}}}}}}}}}}} }}}}}}}}}}}}
분류:프로그래밍 언어 · 프로그래밍 언어 목록 · 언어별 예제 · 틀:프로그래밍 언어 문법


1. 개요2. 특징3. 문법
3.1. 주석3.2. 자료형3.3. 조건문3.4. 반복문
4. 논란

1. 개요

알렉스 메드베드니코프가 제작중인 프로그래밍 언어. 2019년 2월에 선보였으며 2019년 6월 22일 첫 알파 버전의 소스 코드가 공개되었다. 2020년 12월 22일에 안정화 버전인 0.2 버전이 공개되었다.

Go의 단순함에 Rust의 안전함을 접목하는 것을 목표로 하고 있다.

2021년 1월 기준으로 2만 1천개의 GitHub 스타 수를 기록하고 있다.

2. 특징

홈페이지에서 주장하고 있는 언어의 특징은 아래와 같다. 이 중 많은 부분이 아직까지 실제로 구현되지는 않았으므로 참고할 것.
목표가 대단해서 가능할지 의문이 들지만 대신 언어스펙이 Go 이상으로 매우 간단하여 가능하다고 주장하고있다.
  • 안전함
    • Null 없음
    • 전역 변수 없음
    • 정의되지 않은(undefined) 값 없음
    • 정의되지 않은 동작 없음
    • 변수 가려짐(variable shadowing) 없음
    • 배열 경계 검사
    • Option/Result 타입
    • 제너릭
    • 기본이 불변(immutable) 변수
    • 기본이 순수 함수
    • 기본이 불변 구조체
    • 가비지 컬렉터와 레퍼런스 카운팅 없는 자동 메모리 관리
  • 성능
    • C만큼 빠름
    • 추가 비용 없는 C 연동
    • 최소한의 메모리 할당
    • 리플렉션 없는 직렬화(serialization)
    • 추가 의존성 없는 바이너리 빌드: 간단한 웹서버가 65kb의 용량만 차지함
  • 빠른 컴파일: 초당 10만 줄에서 120만 줄의 코드를 컴파일 가능
  • 가벼운 컴파일러: 컴파일러를 컴파일하는데 1MB 미만의 디스크 용량만을 요구하며, 0.15초에서 0.6초 사이에 컴파일 가능
  • (WIP) C 코드를 V 코드로 변환 가능: 소스 코드를 V로 변환하면 전체 소스 코드를 0.7초 안에 컴파일 가능
  • 핫 코드 리로딩: 소스 코드를 고치면 변경 내용이 바로 반영됨
  • (WIP) 복잡한 3D 모델과 텍스쳐를 렌더링할 수 있는 3D 라이브러리
  • 네이티브 크로스컴파일 UI 라이브러리 내장
  • 크로스 컴파일 기능
  • 간단한 의존성 관리 기능: v 컴파일러 내에 배포/의존성 관리 기능이 내장
  • V 코드를 C 코드로 변환 가능: C 컴파일러가 있는 모든 운영체제/하드웨어에서 구동 가능
  • REPL[1]
  • 스크립트 기능
  • 내장 웹 프레임워크
  • 내장 ORM

3. 문법

함수나 변수는 기본적으로 private이고 public은 앞에 pub를 붙인다.
변수는 기본적으로 immutable이고 mutable은 앞에 mut를 붙인다.

3.1. 주석

c like언어로 동일하게 //와 /* */를 사용한다.

3.2. 자료형

booleanbool
문자열string
정수i8 i16 int[2] i64 i128(soon)
부호 없는 정수byte u16 u32 u64 u128(soon)
유니코드rune
실수f32 f64
포인터byteptr voidptr

3.3. 조건문

if 조건 {
} else {
}

match 변수 {
    값1 {}
    값2 {}
    ....
    else {}
}

match는 리턴값을 가질 수 있다.

3.4. 반복문

for하나만 있지만 다양한 형태를 지원한다.
for 값 in 배열 배열 순회
for 인덱스, 값 in 배열 배열 순회
for 키, 값 in 맵 맵 순회
for 조건 조건 반복
for 무한 반복
for 시작;조건;증감 c 스타일

4. 논란

베이퍼웨어라는 논란이 있다. #
안정화 버전인 0.2는 2020년 1월 말에 나올 계획이었지만 2020년 12월 22일에 공개되었다.
혁신적인 메모리 관리를 한다고 한다. 컴파일 단계에서 90~100% 메모리를 해제하고 나머지는 레퍼런스 카운팅으로 해제한다고한다. 프로그래머가 따로 손볼 곳이 없다고.....

[1] Python처럼 한줄씩 입력받아 결과물을 즉시 보여주는 기능.[2] int는 항상 32비트다.