I tried V when it first got popular (about 3 years ago). I am no expert on languages but the way it was ductaped (AST-less compiler for "performance", a "graphic library" when even basic things don't work etc etc) made me eventually lose interest.
3 years later V is still mostly where I left it. If the V author focused on the stabilizing the compiler instead of starting off shoot projects like vui, vdb etc. it might actually work.
Is that obvious? Yes, if I put on my cynical hat it pattern matches a money-grab or some other sort of fraud, but if I put on my charitable-interpretation hat V also perfectly pattern matches my idea of "solo developer wants to create the perfect language and goes after it with fresh eyes and a lot of enthusiasm (and yes, does get slowed down when it comes to fleshing out every little detail correctly and fully)". How do you distinguish?
It's especially prevalent in indie gaming and large Kickstarters. Some are actually scams, but a lot are just entirely out of their depth and realize this too late/only when their deadlines come due. And yet there are content creators which just make video after video just shitting on these people. Quiet sad all around.
(Though that link from the sister comment does make it look quiet bad in this case. Projects that just make great sounding claims about the current state of the project, even though none of it is true can't be taken seriously in my opinion.)
In the case of V it's not only about details. Memory management, for example, is a fundamental part of a programming language and not something you can do as an afterthought. It is still not clear at all how memory management works in V.
Note- just by being a strong Go alternative by itself, one can see possible "behind the scenes" conflicts and motives. Though both V and Odin really should be fully embraced, because they continue the direction and changes in thinking started by Go, while providing features that such users might crave or have wanted.
V has been more successful than other newer programming languages at getting sponsors and supporters (check V's GitHub or vlang.io), to include publicity, both very good and at times negative (which appears to include angry detractors). It also has been developing at a more rapid pace than other languages in its category.
From looking at the history, some of the controversy appears to come from years ago and whether or not the language was real or was going to be released, because it was already "advertising" itself and had sponsors. Keep in mind that other languages have a very hard time at getting sponsors, supporters, or users. So, that another language getting what they are not able to or feel they deserve, can become a source of conflict as well.
My opinion is that the V creator did nothing wrong, because it was a very smart decision to attract sponsors and users, and the creator did release the language. This alone already separated V from the many languages we never know or hear about, the ability to get enough sponsors and supporters to sustain growth and momentum.
Yeah, it's might seem great to be a solo developer making what he/she feels is the perfect language as a hobby, but at some point the enthusiasm stops or the person realizes what's the point if nobody cares and nobody uses it.
Another aspect of this situation is it appears detractors were running with the narrative that V was "fake" or "vaporware", and then when it was actually released, they had to reset their narratives. You can't claim that something that exists and is used by many, is "fake" or non-existent. So then the attacks appear to then go for whatever might stick. Anything about the language, which is "not perfect" or as they feel is claimed, is then targeted. This is why we have these odd and controversial takedown attempts of a language which is still in alpha and evolving. I'm very much not saying that people shouldn't be criticizing or pointing out flaws, but rather it doesn't need the viciousness or underhandedness of trying to persuade people to stop using or attempts to kill it off.
Ultimately, just don't think that such tactics are going to work, because V has such strong community support and is continually improving. V is well on the path of becoming a very viable and highly useful language.
They were not "clean sheet, let's make a great new language" implementations.
The impression should not be given that V is just a one-man show. Many of the offshoot projects are in collaboration with others, not just the author, who have invested heavily in them and also wanted or helped create them.
V's author is paying others to write things in V (even when basic functionalities don't work as advertised). They don't want to improve the language, they want to create a showcase to attract more funding, that's about it.
She doesn't pull any punches, but I think she was quite prescient in capturing the vibe of the project.
I really don't get the purpose of someone exaggerating the capabilities of their language, to the point of outright lies.
At least stick to the current evaluation (or attack), which is more relevant, and make points from there. But, keep in mind that these attacks are on a young language that isn't 1.0 yet, so even with this we are talking about a moving target. The language is still evolving.
People are poking holes in V because its claims are unfounded, not because they've decided they're in competition with the language. A simple "work in progress" sign on the features in question would draw a lot of fire away from the language and its creator.
One reason that people highlight older criticism is because it's useful to examine past behavior, past promises, and contrast them to current behavior and current promises. If V is going to improve its reputation, it's going to do it by (a) making good on the promises it can, (b) coming clean on the promises it can't, and (c) offer a clear win for some distinguishing featureset. Badgering people to shut up about the past isn't on that list.
I'm not touching a language developed by folks who don't see a problem in scamming users, sorry.
This question is answered in the comment you just replied to:
> She doesn't pull any punches, but I think she was quite prescient in capturing the vibe of the project.
I also despise how many people want to shit on this new language before it even takes off. Why are so many people frothing at the chance to disparage this language and it's author? Never seen something like this.
I dont really care about the language. I've tried it a couple times and it's nothing special (to me) so I moved on, but I definitely understand where the hate comes from. The author essentially lied for at least months about his project to get financial support.
Quick edit: to actually add to the discussion, I think the weirdest thing about V is the odd support it does get. Most projects, especially compilers, with as much controversy as V would never get any support. I'm very curious what its proponents are using it for and why they choose V over pretty much any other language.
It's because of all the lying. The author keeps claiming that their language has features that it definitely does not have.
Why do so many people consider "I checked several notable claims, and most of them are false" to be some kind of hateful disparaging attack?
Based on submitted link, they don't.
Unfortunately, Vlang isn't a project out of an overeager young dev (not anymore at least), but at the same time, it hurts no-one. Sure, the author is making 1k a month out of it, but it's not like it's the scam of the century making him rich. I see startups on HN lying harder than that every week. Just let the dude make his stuff on his side, have a good laugh when articles like this come out, and that's it. Look at legitimate alternatives like Zig or Odin, and keep V as a fun little distraction when you want to see what overpromising looks like
Something you'll see by reading the overview is the part where the Zig team themselves warn you that Zig is not a fully safe language and link to articles describing the safety boundaries. Scroll to the bottom of this section:
https://ziglang.org/learn/overview/#performance-and-safety-c...
To be fair, they didn't claim that the values were immutable, only the variables. Isn't the example in the article basically the same as Java's final variables, i.e. immutable references to mutable values?
> No global variables [...] Evaluation: V does not prevent you from creating and mutating globally shared state in any meaningful way.
Although I agree with the evaluation, the claim of "no global variables" might still hold, assuming it refers to mutable global variables. The global constant holds an immutable reference to a mutable value, just like how in Java a singleton object (or a class with mutable static fields) can be used to simulate global variables.
Then I take the liberty of doing some promotion for Oberon+ here too.
Disclaimer: I’ve never actually used it.
Would you mind expanding on your later comment? While I'm not a Go programmer, it's pretty easy for me to see why it has the features it has based on their commitment to fast compile times and being easy to learn. V on the other hand feels like an incoherent list of the biggest buzzwords in the industry right now with no clear overall design.
V’s design address many things I feel are lacking whenever I use Go: nil safety, sum types, option/result types, mandatory error checking. I think V is best understood in the context of being Go++.
Having looked a bit deeper though, the immutability and generics stuff does feel a bit bolted on, so I do see your point.
A good idea indeed, thanks for the effort.
Although I'm quite surprised why V has gained so much attention.
> Disclaimer: I’ve never actually used it.
I can make a hypotethical language as well (I do it all the time), but I wouldn’t make a website about it and give it a name.
Features: * All of the things you want * No things that you don't want
Please donate to my Patreon
For example, the null pointer reference the author demonstrates would not be at all difficult to identify at compile time, it's literally just checking whether any structs are created with pointer properties initialized to 0. Checking for null pointers in all circumstances is much harder, but this particular example is easy. Why claim V supports this when it doesn't? Am I missing something about how hard it'd be to implement?
Pure functions are the hardest of the ones you've identified -- they're nominally easy if you have perfect purity information, but pretty difficult (impossible, in the general case) if you don't or if your definition of "pure" is just plain incorrect (like V's is).
(I don’t care for V one way or the other though, and most of the results in the post are clearly bad, I just find this particular point to be absurd).
https://ocaml.org/docs/functional-programming
> My complaint is that V claims to be pure...
"V is not a purely functional language however." (from V documentation)
https://github.com/vlang/v/blob/master/doc/docs.md#pure-func...
My goto "test" is doing a simple webscraper and put results in a db.
The above is important and where I(your milage may vary allllot) think many fail or fail to some degree:
Its 2022 your new lang should have above excellent support for:
1) Multicore:(async, csp, threads) I dont care which just that it should be excellent and not some added library
2) We live in a inter-connected work: Thus I require your language to have above excellent support for things like: Http, websockets, json, encryption, auth,dbs etc.
3) Really bring something new or make coding in an alternative a pain. (stupid example: going back to posix threads in c, after coding i. go with channels)
4) Ecosystem:Hit the ground running, dammit if i spend 20 minutes getting a hello world with an external library up its too much ! Looking at you Python having to weave magic spells to get the correct versions and environment just so" is a absolute pain.
5) Pattern matching, immutability, functional, typing: Yea this is where people get very passionate* :) You probably have to include atleast one the above.
That being said my hat and github stars go out to all pl designers ! You at least took a shot and shipped something ! Bloody well done to you all !
Also if you looking to tinker look at janet and joy(web framework based on janet)
PS: Ive tried v in the past and it really was too bad(no program in production yet)
PS2: My dream lang would be lisp-like(more clojure than lisp) that compiles to go ?
This article criticises V for presenting itself as a usable language, when it definitely isn't, with all these features which don't work.
"At this time, I would not recommend spending time on V. I would also be very cautious when taking claims made by the authors at face value."
Also this point. Why does he recommend people to avoid the language. These people need contributors which help them to improve their language. It is open source. Maybe it is because I'm not native, maybe you are right.
I'm also curious if the author even tried to interact with the community/developers to get his examples to work. I'm not that good of a developer to rate the things he is claiming, so I don't know.
Hopefully he created some bugs on github so the developers have at least the chance to fix the issues he is talking about.
Valid criticisms of the language should arguably be more directed towards its issues on GitHub (https://github.com/vlang/v/issues), in addition to any blog or article, where the contributors and developers can address them.
When approached correctly, and not in an adversarial and combative way, I've seen the V community be very friendly and helpful.
Then when you speak to me you hear me speak Chinese well, then you see I can’t bend pipes nor speak English proficiently.
I presented myself to you and two of my self introduction claims were lies or half lies.
If you then feel like I lied to you then my answer is that I’m studying (Alpha)
This is what V was like 3 years ago and doesn’t seem like it has changed.
https://web.archive.org/web/20191020121218/https://github.co...
Languages such as Nim have took 11 years before reaching 1.0, so V is still doing comparatively well. V's pace of development has been quite fast and substantial. More comparable languages such as Zig and Odin have yet to hit 1.0 as well, and are many years older.
Yes, the pace of development is getting faster and user patience less, but V should still be afforded some leeway in this regard.
> At this time, I would not recommend spending time on V. I would also be very cautious when taking claims made by the authors at face value.
I love it.
Do you have any examples?
How can anyone possibly believe this?? What is the motivation?? V is a `README` full of desires, and a source tree full of incompetence. There is no concrete or technical evidence that can support this optimism. Zig is a serious project. Go is a serious project. Rust is a serious project. V is, obviously, an un-serious project.
I have no horse in the race, and having never seen the controversy, it does seem suspicious that the language author is making money off of claims that simply aren’t true. The amount of stars on GitHub compared to actual activity on comparable repos does indicate that the marketing is working though, the claims being made are taken at face value, not the WIPs that they actually are.
I too can dream of a perfect language, but it doesn’t mean I should put up a website claiming that I’ve actually made it and it’s real.