Do Not Use Vlang
Published on: Tue May 24 2022
“If it sounds too good to be true, it probably is”
The V programming language is an open source project that claims to be able to write software that:
- is memory safe (no null / undefined value, no global variables, immutable variables)
- is very fast (compiles 1.2 million loc / s)
- is compact (only a couple hundred kb for the compiler)
- has no external dependencies
- runs on any platform
- can compile C to V code
- has C interop
But when investigating those claims, pretty much all of them fall apart. This blog has published 2 excellent articles on how vlang’s claims do not live up to reality. You can check them out here:
- https://christine.website/blog/v-vaporware-2019-06-23
- https://christine.website/blog/v-vvork-in-progress-2020-01-03
But to summarize them, here is what she found out:
- V took 10 minutes to compile 1.2 million loc (which it should have been able to do in 1 second)
- V is a dynamically linkedin binary with multiple dependencies (but claims to not have any dependencies)
- The V compiler leaks a lot of memory just compiling a hello world program (but claims to be a memory safe language)
I think the main takeaway from vlang is how important it is to manage expectations. Because vlang has lost my trust and confidence by promising a future it can not uphold. If it had just presented a roadmap on its website or made more obvious disclaimers, it would not be any problem. We all understand that good software takes a lot of time to write.
If you looked into vlang and now think “what a bummer, I wish such a programming language existed”, you should check out https://ziglang.org/. It is a systems programming language that has been years in development and is starting to be used by big companies (Uber) since it actually delivers on some of the claims that vlang has made.
Funnily enough, the creator of Zig, Andrew Kelley, has a personal blog and in one of this articles, he gave an overview of the “Vlang drama”, confirming my suspicions, that the vlang project is fraudulent.
Edit 27.09.23: https://xeiaso.net/blog/vlang-update-2020-06-17