For some context here’s the last of a series of posts examining some of Vs claims https://christine.website/blog/vlang-update-2020-06-17
For some context here’s the last of a series of posts examining some of Vs claims https://christine.website/blog/vlang-update-2020-06-17
My personal conclusion from my reading was - if you wish to go use V, go ahead, but I'd exercise caution when relying on anything about it.
[1]: https://twitter.com/v_language/status/1234586123424456705
[2]: https://github.com/vlang/v/blob/bc288019932c35cc09dcf7b438bc...
[3]: https://github.com/vlang/v/tree/bc288019932c35cc09dcf7b438bc...
> Git is a dependency, which means perl is a dependency, which means a shell is a dependency, which means glibc is a dependency, which means that a lot of other things (including posix threads) are also dependencies. Pedantically, you could even go as far as saying that you could count the Linux kernel, the processor being used and the like as dependencies, but that's a bit out of scope for this.
What's the point of such nitpicking? You don't need git to use V, and the point of the no dependency claim is that bootstrapping V is as simple as `cc v.c` and the V compiler produces single file binaries, that are easy to deploy, without any dependencies on an interpreter/environment/libs etc.
I'm actually going to write a post debunking all of the claims in these articles, since I see them mentioned quite often (including measuring the compilation speed by using an unoptimized debug build + running vfmt + rebuilding the standard library with each compilation + using a 2x slower backend).
Nitpicking nitpicks is still nitpicking.
See the YouTube demo I posted which shows how V removes 100% of leaks in a complex graphical application (text editor).
https://www.youtube.com/watch?v=gmB8ea8uLsM
You can also download it and try it yourself.
As for compilation speed, here's V compiling itself in 0.2 seconds:
https://pbs.twimg.com/media/EoAx9fsWMAE2M4U?format=jpg&name=...
The entire V compiler is built from scratch.
(Disclaimer: I'm the creator and main developer of V.)no stake on either side, but the post specifically mentions this (though that was on vlang 0.1)
> I claim that the V compiler has dependencies because it requires other libraries or programs in order to function. For an example, see the output of ldd (a program that lists the dynamically linked dependencies of other programs) on the V compiler and a hello world program:
$ ldd ./v
linux-vdso.so.1 (0x00007fff2d044000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f2fb3e4c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f2fb3a5b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2fb4345000)
$ ldd ./hello
linux-vdso.so.1 (0x00007ffdfdff2000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fed25771000)
/lib64/ld-linux-x86-64.so.2 (0x00007fed25d88000)
> If these binaries were really as dependency-free as the V website claims, the output of ldd would look something like this: $ ldd $HOME/bin/dhall
not a dynamic executableGo tried, and went back to linking to libc, because of constant syscall changes.
So I don't view having libc a dependency, it'd be like saying that macOS is a dependency.
You can also use musl on Linux with V for 100% static binaries.
The only stable system API is the linux kernel syscalls. Those basically don't break.
I'd also note that given you then banned her from the issue tracker after that post went up rather than discussing it, your claims of bias on her part seem a trifle strange.
Are you on Windows? Can you create a GitHub issue with `v doctor` so that it can be resolved asap.
Indeed, this is a silly matter. In both sides.
Disclaimer: I don't know V authors nor I'm part of V community.
> Good question. I haven't mentioned memory management because it's not done yet. I know for sure there won't be a GC or reference counting. [0]
> What I mean is `a = sort(a)` will be optimized to `sort(&a)` which can mutate internally. [1]
Do look at the entire threads - I don't think the claims are too out of context as quoted.
There is no controversy but the one you are trying to build up. This language is obvious quite young in development, isn't backed by mega corp Z with billions of $ at its disposal, yet it is trying to manage to find a solution to multiple issues Go couldn't even resolve in 10+ years. cut it some slacks.
Before making such a rude conjecture, at least check the dev's github page [1] first. Most of his git commits are related to V and he has been actively working on it for a couple of years, even over weekends. V may fail like many new languages, but at least the dev has paid the efforts. He has my respect.