6 ms·
The controversy around V is not without reason. For some context here’s the last of a series of posts examining some of Vs claims https://christine.website/blo
by Jenz 6y ago
The controversy around V is not without reason.
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 https://christine.website/blog/vlang-update-2020-06-17
- amedvednikov 6y agoThis is a set of very biased articles, I mean just look at this for example: > 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).
- kaba0 6y agoHow about refuting the memory leaks claim? Or the others in previous posts as well, that were calling out impossible features of the lang (that sounded like some ad) Nitpicking nitpicks is still nitpicking.
- amedvednikov 6y agoA memory leak that even the author admits is one line of code fix away? (free() on a global const) See the YouTube demo I posted which shows how V removes 100% of leaks in a complex graphical application (text editor).
- kaba0 6y agoWell, I will believe it when I see it, as well as the other hard to believe claims like I don’t know how many lines of code/second compilation speed, perfect C-to-V compiler, etc. I’m not sure how many of it is still up on the website, because some were called out and were taken down.
- amedvednikov 6y agoWhy won't you see it? It's public: https://www.youtube.com/watch?v=gmB8ea8uLsM 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=large https://pbs.twimg.com/media/EoAx9fsWMAE2M4U?format=jpg&name=...
- judge2020 6y agoThe nearly 1 second compilation is impressive, but why claim it has 0.2 second compile time when using a cache? It doesn’t represent the real-world time it would take to compile v or another program from fresh in order to install it.
- tomcam 6y agoI often compile projects before the cache expires...
- amedvednikov 6y ago-usecache here means that vlib is cached. It will be the default in 0.2.1. The entire V compiler is built from scratch.
- vlang1dot0 6y agoAll memory leaks in C are one line of code away as well (calling free() in some place).
- 1f60c 6y agoJust FYI: on Hacker News, it's customary to add a little disclaimer to comments like these. Something like: (Disclaimer: I'm the creator and main developer of V.)
- amedvednikov 6y agoAll right, makes sense. Added it to my top level most upvoted comment here.
- Aeolun 6y agoLol, unless this person was ridiculously well informed on V, that was basically the only option I saw :)
- mst 6y agoDiving straight in to attack the critic (again) rather than discussing things usefully made it pretty obvious it must be the original developer. You don't generally see two people who behave like that managing to co-exist in the same project.
- uryga 6y ago> without any dependencies on an interpreter/environment/libs etc. 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 executable
- amedvednikov 6y agolibc is the only stable system api, on non Linux system you don't have a choice to use anything else. Go 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.
- zaarn 6y agolibc is not stable, glibc breaks plenty of times (try running some real old software without relinking glibc). The only stable system API is the linux kernel syscalls. Those basically don't break.
- vlovich123 6y agoThat’s true for Linux and why Go thought they could do this everywhere. It turns out that libc is the only stable interface for a lot of platforms (notably MacOS and many other BSDs if not all).
- CyberDildonics 6y agoI liked the design of V and gave it a try. I quit paying attention when I realized almost nothing worked like it was supposed to. Even hello world was difficult due to needing to configure all sorts of stuff to get tcc and configure it to compile correctly.
- amedvednikov 6y agoThat shouldn't be happening. We have lots of tests to make sure it works. Are you on Windows? Can you create a GitHub issue with `v doctor` so that it can be resolved asap.
- CyberDildonics 6y agoSorry, I already went down the road of broken promises and moved on. Make something that works out of the box. Package tcc with it.
- ylluminate 6y agoIt already is...
- Jenz 6y ago> > Git is a dependency, which means perl is a dependency, which means a shell is a dependency, [...] Indeed, this is a silly matter. In both sides.
- pityJuke 6y agoThe way I'd describe what I see from V's author from his two projects (V and Volt/eul) is a continual over-promising and underdelivering - as well as misleading statements (for example, a claim that V is the "fastest on Tech Empower's web framework", which is actually fastest in only plain text (it does not do enough to be qualified on the full leaderboards) on an unofficial run (it is currently 2nd I believe), where it is simply a wrapper around a C server [1][2][3] - which I believe is misleading, even if the C interop is neat). That is not to say he cannot eventually deliver on his promises, but they frequently take years beyond his initial predictions, and sometimes come watered down. 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 https://twitter.com/v_language/status/1234586123424456705 [2]: https://github.com/vlang/v/blob/bc288019932c35cc09dcf7b438bc795dc32bdd0b/examples/pico/pico.v https://github.com/vlang/v/blob/bc288019932c35cc09dcf7b438bc... [3]: https://github.com/vlang/v/tree/bc288019932c35cc09dcf7b438bc795dc32bdd0b/thirdparty/picohttpparser/src https://github.com/vlang/v/tree/bc288019932c35cc09dcf7b438bc...
- proyb 6y agoJust for reference in Techemppwer Benchmark, the same guy who utilizes H2O HTTP source code for benchmarking, wrote h2o.cr for Crystal language and pico.v for V language. It’s isn’t mean for general use in any projects.
- throw_m239339 6y ago> The controversy around V is not without reason. 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.
- kaba0 6y agoIt’s fair to try to solve issues. But these are hard issues, and it is at best overconfident to outright say they will do X, when they didn’t even started working on it, and at worse it may be a scam making money from donations, but I am hoping that it is the first case.
- acmj 6y ago> at worse it may be a scam making money from donations 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. [1]: https://github.com/medvednikov https://github.com/medvednikov
- kaba0 6y agoAt the start of the project, the source code was not available and I deliberately wrote that I really hope and want to believe that the first option is the correct. Nonetheless, this project did start controversially with absolutely bold claims, other, similarly small languages like zig interestingly doesn’t have bad connotations associated with it. Hopefully V will be able to shed these and will grow successful.
- balfirevic 6y agoSome other claims from the author: > 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. [0] - https://news.ycombinator.com/item?id=19102318 https://news.ycombinator.com/item?id=19102318 [1] - https://news.ycombinator.com/item?id=19102573 https://news.ycombinator.com/item?id=19102573
- galfarragem 6y agoOk, V creator may have an huge ego. Evan Czaplicki (Elm creator) may have an even larger ego. The list goes on. Does it worth to do everything to castrate their ambition? They like to put the bar high. Higher than they can jump most likely but in the meanwhile they build something. Probably not exactly what they proposed to but way more than the ones that criticise them. Criticise with work not with nitpicking, from the outside it resembles envy. Time will certainly judge them and us also. Disclaimer: I don't know V authors nor I'm part of V community.