vlang / v
git clone https://github.com/vlang/v.git
0.5.2 · 3mo ago
🔥 on GitHub Trending today
Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
+5
stars, 24h · #434
+38
stars, 7 days · #1,105
+206
stars, 30 days · #1,232
38k
★ total · +0% this week
2.3k
forks · 87 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageV
LicenseMIT
Created2019-02-08 (7y ago)
Last pushtoday
Watchers456
OwnerOrganization
Seen on GitHub Trending
- 2026-10-20 — #1 daily in v · +5 ★
- 2026-10-20 — #1 monthly in v · +206 ★
- 2026-10-20 — #1 weekly in v · +38 ★
GitHub topics
Links
- GitHub: github.com/vlang/v
- Releases · Issues · Hacker News mentions
README excerpt
The V Programming Language vlang.io | Docs | Changelog | Speed | Contributing & compiler design [![Sponsor][SponsorBadge]][SponsorUrl] [![Patreon][PatreonBadge]][PatreonUrl] [![Discord][DiscordBadge]][DiscordUrl] [![X][XBadge]][XUrl] [![Modules][ModulesBadge]][ModulesUrl] ## Key Features of V - Simplicity: the language can be learned over the course of a weekend - Fast compilation: ≈110k loc/s with a Clang backend, ≈500k loc/s with native and tcc backends *(Intel i5-7500, SSD, no optimization)* (demo video) - Easy to develop: V compiles itself in less than a second - Performance: as fast as C (V's main backend compiles to human-readable C) - Safety: no null, no globals, no undefined behavior (wip), immutability by default - C to V translation (Translating DOOM demo video) - Hot code reloading - Flexible memory management. GC by default, manual via `v -gc none`, arena allocation via `v -prealloc`, autofree via `v -autofree` (autofree demo video). - Cross-platform UI library - Built-in graphics library - Easy cross-compilation - REPL - Built-in ORM - Built-in web framework - C and JavaScript backends - Great for writing low-level software (Vinix OS) ## Stability, future changes, post 1.0 freeze Despite being at an early development stage, the V language is relatively stable, and doesn't change often. But there will be changes before 1.0. Most changes in the syntax are handled via vfmt automatically. The V core APIs (primarily the `os` module) will also have minor changes until they are stabilized in V 1.0. Of course, the APIs will grow after that, but without breaking existing code. After the 1.0 release V is going to be in the "feature freeze" mode. That means no breaking changes in the language, only bug fixes and performance improvements. Similar to Go. Will there be V 2.0? Not within a decade after 1.0, perhaps not ever. To sum it up, unlike many other languages, V is not going to be always changing, with new features introduced and old features modified. It is always going to be a small and simple language, very similar to the way it is right now. ## Installing V from source **This is the preferred method.** ### Linux, macOS, Windows, \*BSD, Solaris, WSL, etc. Usually, installing V is quite simple if you have an environment that already has a functional `git` installation. Note: On Windows, run `makev.bat` instead of `make` in CMD, or `./makev.bat` in PowerShell. To build with Visual Studio, run `makev.bat -msvc`. If the bundled TCC bootstrap cannot be compiled or fails while building the next compiler stage, the script retries with MSVC, then Clang and GCC. `makev.bat -clang` keeps Clang's installed target: LLVM-MinGW uses its GNU runtime, while Visual Studio's Clang uses the adjacent `clang-cl.exe` and the MSVC SDK. Note: On FreeBSD, OpenBSD, NetBSD, DragonFly, and Solaris, install GNU `make` and run it as `gmake`. Note: On Ubuntu/Debian, you may need to run `sudo apt install git build-essential make` first. To get started, execute the