# V — Fast Compiled Language with the Simplicity of Go and Power of C > V is a simple, fast, safe compiled language for developing maintainable software with C-speed performance and minimal dependencies. ## Install Save as a script file and run: # V — Fast Compiled Language with the Simplicity of Go and Power of C ## Quick Use ```bash # Install V from source 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 designed for building maintainable software. It compiles to native code via a C backend and can compile itself in under one second with zero external dependencies. V aims to combine the best ideas from Go's simplicity with performance close to C. ## What V Does - Compiles to optimized native code through a C intermediate step - Provides autofree memory management without a garbage collector - Supports automatic C-to-V source code translation - Offers built-in concurrency with coroutines and channels - Includes a cross-platform UI library and package manager ## Architecture Overview V's compiler is written in V itself and translates V source files to C, which is then compiled by any standard C compiler. The autofree engine tracks allocations and inserts deallocation calls at compile time. The standard library is self-contained with no OS-level dependencies beyond libc, enabling reproducible builds. ## Self-Hosting & Configuration - Clone and bootstrap from GitHub with `make` (Linux/macOS) or `make.bat` (Windows) - Install packages via `v install ` from the VPM registry - Configure build flags in `v.mod` per project - Cross-compile to other OS targets with `v -os windows .` - Use `v fmt` for automatic code formatting ## Key Features - Sub-second full-project compilation speed - No null, no undefined behavior, no global state by default - Hot code reloading for rapid iteration - Built-in testing framework via `v test` - Generics, interfaces, and sum types without complexity overhead ## Comparison with Similar Tools - **Go** — V has a similar syntax but adds generics natively and avoids a GC by default - **Rust** — Rust offers stronger safety guarantees via the borrow checker but has a steeper learning curve - **Zig** — Zig targets lower-level systems work while V aims for higher-level productivity - **D** — D is more feature-rich but V prioritizes minimalism and fast compile times - **Nim** — Nim also compiles via C but uses a GC; V's autofree avoids that ## FAQ **Q: Does V require a garbage collector?** A: No. V uses an autofree system that inserts deallocations at compile time. An optional GC is available if needed. **Q: Can I use C libraries from V?** A: Yes. V supports direct C interop, and the `v translate` tool can convert C headers to V bindings. **Q: Is V production-ready?** A: V is under active development. It is usable for personal projects and CLI tools, though some features are still stabilizing. **Q: What platforms does V support?** A: V runs on Linux, macOS, Windows, FreeBSD, and can cross-compile to Android and WebAssembly. ## Sources - https://github.com/vlang/v - https://vlang.io/docs --- Source: https://tokrepo.com/en/workflows/asset-b6cf8cb6 Author: Script Depot