# V Language — Fast, Safe Systems Programming with C-like Simplicity > V is a compiled systems programming language designed for speed, safety, and simplicity. It compiles 2 million lines per second, produces zero-dependency binaries, and offers memory safety without garbage collection, making it suitable for performance-critical applications. ## Install Save as a script file and run: # V Language — Fast, Safe Systems Programming with C-like Simplicity ## Quick Use ```bash # Install V git clone https://github.com/vlang/v && cd v && make sudo ./v symlink # Hello World echo 'import os fn main() { println("Hello, V!") }' > hello.v v run hello.v ``` ## Introduction V is a statically-typed compiled programming language created by Alexander Medvednikov. It emphasizes simplicity (like Go), performance (comparable to C), and safety (like Rust but with a gentler learning curve). V compiles directly to native code or optionally to C, achieving fast build times and producing lean binaries with no runtime dependencies. ## What V Does - Compiles to native machine code with speeds exceeding 2 million lines per second - Provides memory safety through ownership semantics without a garbage collector - Generates small, zero-dependency static binaries ideal for deployment - Offers direct C interop for leveraging existing C libraries without wrappers - Includes a built-in package manager, formatter, and testing framework in the toolchain ## Architecture Overview V's compiler frontend parses source into an AST, applies semantic analysis with ownership and bounds checking, then emits optimized C code or uses its native backend for direct machine code generation. The toolchain is self-hosted: V compiles itself in under a second. Its standard library covers networking, JSON, concurrency (via coroutines on an M:N scheduler), and cross-platform GUI. ## Self-Hosting & Configuration - Clone the repo and run `make` — the bootstrapping compiler builds V from source in seconds - Run `v symlink` to add V to your system PATH for global access - Use `v install module_name` to fetch packages from the VPM registry - Configure projects with `v.mod` files specifying dependencies and build metadata - Cross-compile with `v -os windows/linux/macos` to target other platforms from any host ## Key Features - Compiles a full project in under a second, enabling rapid iteration - Autofree memory management — deterministic deallocation without GC pauses - Built-in concurrency primitives modeled on Go-style channels and coroutines - Hot code reloading for live-editing applications without restart - Minimal language surface with 26 keywords, designed to be learned in a weekend ## Comparison with Similar Tools - **Go** — V offers faster compilation and smaller binaries, but Go has a larger ecosystem and mature runtime - **Rust** — Rust provides stronger lifetime guarantees; V trades some strictness for a simpler syntax and faster builds - **Zig** — Zig gives lower-level control and comptime; V aims for higher-level ergonomics with C-speed output - **C** — V compiles to C but adds safety features, generics, and modern tooling that C lacks - **Nim** — Both compile to C; V focuses on simplicity while Nim offers more metaprogramming power ## FAQ **Q: Can V replace C in embedded or systems work?** A: V generates C-equivalent binaries and supports manual memory management, making it viable for embedded and OS-level code where zero-overhead abstractions are needed. **Q: How mature is the V ecosystem?** A: V has an active community with hundreds of packages on VPM, but its ecosystem is younger than Go or Rust. Core libraries are stable; niche domains may require C interop. **Q: Does V have a garbage collector?** A: No. V uses an ownership model with automatic free insertion at compile time (autofree). An optional reference-counting GC exists for complex graph structures. **Q: What platforms does V support?** A: V runs on Linux, macOS, Windows, FreeBSD, and can cross-compile between them. It also targets WebAssembly and Android via its C backend. ## Sources - https://github.com/vlang/v - https://vlang.io/docs --- Source: https://tokrepo.com/en/workflows/asset-feb50706 Author: Script Depot