Hacker News new | ask | show | jobs
by dharmab 449 days ago
V is pre-1.0, and you have to install it by compiling it from source. I'm very excited about V. It's the language I wish Go was.
3 comments

V has good ideas on paper, but most of its claimed features are aspirational. Actually using it for any real world project is an exercise in frustration and confusion, since you're never sure if the weird behavior is intentional or a bug. The documentation is outdated, missing or wrong. The implementation is a mess, even in its pre-1.0 state. Most projects written in it[1] are either demos or abandonware.

Much has been discussed about it, and every few years someone writes a "V Language Review" with the same findings. I gave it a try a few months ago and ran into many of the same issues. I'd stay away, and stick with Go, or Zig, Odin or Nim if you're interested in similar alternatives.

[1]: https://github.com/vlang/awesome-v

Many would argue those aren't real reviewers. It has been mentioned that these persons behind the "V Language Review" series don't review other programming languages and are very specifically targeting V.

It is easy to check and see that Zig, Go, etc... Have thousands of open issues. That, or are lesser known languages like Odin, with less contributors, stars, and vetting. Anybody can take several open issues from any language and create a blog post that pretends the sky is falling.

Real reviewers, would have reviewed multiple other languages and preferably are recognized for doing so. Below are examples of fair and real reviewers of the V language, along with others:

[1] Is V Lang Better Than Go And Rust? Let's Find Out

https://www.youtube.com/watch?v=puy77WfM1Tg

[2] V - Best Programming Language to Learn in 2023?

https://www.youtube.com/watch?v=jr1EBaLkjfc

[3] First Impression - V programming language

https://www.youtube.com/watch?v=dmVKerNY-fQ

Can you list any weird behavior/bugs that lead to frustration and confusion?

And examples of the documentation being outdated/wrong?

Oh, hello again. :)

I have no desire to get into a discussion. You can find plenty of details in feedback from people who have given your language a try over the years. Here's a blog post from September 2024[1]. A quick glance at the open issues yields [2], and many others if you search for "immutable".

To be fair, open issues are a sign of interest and people wanting to move the project forward, which is good. I think what you're trying to achieve is commendable, and I truly wish a language as you envisioned it existed. But it's really hard to take the project seriously when one of its core features is not well defined and causes confusion after 5 years of existence.

I remember running into similar issues when I tried it last year, but just didn't bother to document or report any of it. You can assume that for every person who creates an issue, there are 10x that amount who don't bother and move on.

[1]: https://justinas.org/the-bizarre-world-of-v

[2]: https://github.com/vlang/v/issues/23509

Such discussions are always the same. You say there are lots of issues, but can never list one. And you point to articles that complain about V using libc or that C2V was released in 2022 and not earlier. It's 2025!

Our documentation is very vast and up-to-date and we try to keep it up-to-date. So if you say it's wrong/missing/outdated, you could post a couple of examples, so that we can fix it. That shouldn't be hard for you.

As for an issue you referenced, yes a pre-1.0 language has bugs. Thousands. Like all other pre-1.0 languages being developed. We fix them quickly (~9k fixed, ~800 open)

Like I said, I didn't want to get into a discussion. This is not the appropriate forum to discuss bug reports. I was simply sharing my experience with the project, which admittedly could be outdated by now, but those were my impressions from a few months ago.

What I don't appreciate is the implication that I'm fabricating this, or that I'm biased, as OP accused me of upthread. I think that the defensive stance that you and some of the people in the V community[1] have historically taken when faced with any sort of criticism continues to be detrimental to your project. Whether the criticism is a misconception or a flaw in the project, if a user is confused it's still on you to address that with documentation, a bugfix, or a friendly response, if nothing else. Most people are not actively making up issues for some Machiavellian reason. This "us vs them" mentality is barbaric.

As for users telling you what is wrong, it's delusional to think that it's somehow their responsibility and that it shouldn't be hard. Creating a bug report that clearly explains the issue requires time and effort. And what is to be gained from that if it's only going to be met with defensive arguments and hostility? Like I said, most people will not bother with this, and you should expect that most issues will not be reported. Most users will simply move on, but they will remember they had a bad experience.

Yes, projects in early stages have many bugs. All projects do. But maybe it would be wise to focus on stabilizing the core features the project claims to have, before moving on to building editors and operating systems with it? After 5 years there shouldn't be any confusion and unexpected behavior of core functionality.

The work done on V is truly impressive, and I do wish the language was successful. But I think that realigning some priorities, being honest about what works now and how well it works, and a major shift in tone from maintainers to users, would go a long way towards earning back the trust the project lacks. Good luck!

[1]: https://github.com/vlang/v/discussions/17122#discussioncomme...

A lot of text, you didn't answer my simple questions though:

> Can you list any weird behavior/bugs that lead to frustration and confusion?

> And examples of the documentation being outdated/wrong?

Since you wrote

> The documentation is outdated, missing or wrong.

> using it for any real world project is an exercise in frustration and confusion

that shouldn't be hard

People that build the OS don't work on the compiler, not sure what that was about.

I didn't mean to accuse you of being biased, I was just calling you not to be in case you were. I am sorry it came across otherwise. Your point of view is just as valid as anyone else. Also the editor project is completely separate to the main V team, I suppose I help with V itself in my own small way by finding occasional issues and raising them with the core team, but I am not equipped nor frankly interested in putting my own efforts into the language dev itself, it seems pretty well staffed over there atm.
I've not found any issues with using v for this project, please try and be unbiased and objective and I urge you to try and write a non trivial program and let the results speak for themselves. Up to you!
Why do you think I'm biased? I'm speaking from my own experience with the language last year. Judging by recent reports from others, there still seems to be a lot of confusion about fundamental features.

Though you've clearly invested much more time and effort into the language than me, so either it's gotten better, we haven't run into the same issues, or we have different thresholds for what constitutes an issue. I'm certainly keeping an eye on V, and I might try it out again in a few years.

There are prebuilt packages you can install from the home page and from the github repo.

For example

https://github.com/vlang/v/releases/latest/download/v_linux....

Oh, I didn't see it in Homebrew, so I searched for "install V" and found the documentation which only has compiling from source.
Good point. I'll add the homebrew installation method. Maybe some other popular package managers.

V is very easy to install from source and to bootstrap. And it changes fast. So we're not big fans of package managers yet.

I don't know V but mostly what I have read about V is that it is vaporware [1]. Is there truth to this impression?

[1] https://www.google.com/search?client=firefox-b-d&channel=ent...

I have seen this thrown around a lot, but I do not think it is true anymore.

V lang had a rough launch from what I can tell, with the author overselling and mistakenly underestimating the amount of work needed to fulfill their vision.

V still has a ways to go, but it is in constant heavy development with lots of contributors. It also has a wide gambit of interesting hobby projects using it.

I'd recommend taking a look at the the examples here:https://github.com/vlang/v/tree/master/examples

I think the language has a lot of potential.

Go look at the commit log and tell me if it looks like abandonware.
They said vaporware, which isn't necessarily the same thing as abandonware. It still could be vaporware if it never lives up to delivering what it promised. I'm not sure on the current state of those promises though, so I don't know if the outlook of it being vaporware is true anymore. At one point it looked like it, but I haven't kept up with it enough.
This is a good POV. For a while there they did think they had a chance at finally figuring out how to solve the halting problem. They of course haven't, and had no chance to do so, but they wanted to discover that for sure, for themselves. So I admire them for trying. These days autofree handles about 95% of allocations, but what's left dangling is pruned by their very low cost tight cleanup looped GC. If you really need to you can do manual memory management, from my fairly substantial usage of the language so far I've been a satisfied customer for sure. I've found compiler bugs, strange behaviour, edge cases etc., yes the team are blunt and to the point, but they're the most professional language team I've ever interacted with, often responding within hours, one time a compiler fix was released the next day.
Everything that's listed on the home page is delivered.