Last year in February V was announced. The language was designed by Alexander Medvednikov, who needed it for the development of Volt, a desktop client for chat applications. The writing of Volt, happened in Vid, a self-written text editor, also written in V.
V has quite a few interesting characteristics. Perhaps the most interesting, is the fact that V is written within itself. A first version was written in C, and after that it was developed further. The C version can also be found on Github.
On the website, V is described as follows:
Simple, fast, safe, compiled language for developing maintainable software.
As in most languages today, you can work in a modular way. V supports the development of modules very well, which makes it easy to develop packages, as we know them from npm and pip. Managing packages can be done with vpm, the package manager for V.
Something else the website claims is the following:
Compiles themselves in <1s with zero dependencies.
The question is of course: is this true? Much has been checked and said about this statement, but this is the piece of terminal output Alexander posted:
wget https://github.com/vlang/v/releases/download/0.1.21/v_linux.zip unzip v_linux.zip && cd v ./v -o ./v2 v.v # warm up time ./v -fast -o ./v2 v.v 0.06s user 0.03s system 97% cpu 0.094 total ./v2 -o v3 v.v # make sure that V can still build itself
He also promises:
By January 2020 it should drop to 0.06 seconds.
What he’s basing this on is as yet unclear. He does not always respond in detail to substantive questions, nor does he always achieve the goals he sets for himself.
For example, the first stable version was due to be released in December 2019, but in the meantime both the website and Github have been updated to January 2020. Although that’s not too bad, it’s not the first time either.
The language itself has a lot of problems. For example, this is what the website has to say about memory usage:
There’s no garbage collection or reference counting. V cleans everything up during compilation. If your V program compiles, it’s guaranteed that it’s going to be leak free.
Next, on September 3, an issue is created because the example that V himself gives is leaking memory. There Alexander says he will solve the problem within a week. Even though the original author requested on an update two weeks later, this issue was never addressed. I’ve tested this problem, and it’s still in effect.
Furthermore, at the time of writing, the playground is not working (again). Earlier it was taken offline, because it was hacked.
There are also a lot of things that work well, you know. For example, hot code reloading works well in principle and translating C to V also seems to work reasonably well, if we look at the example provided.
However, the question is whether the language is currently good enough to justify Alexander earning $915 a month with it.