Live data from Hacker News

V Language Review

mawfig.github.io

311–320 of 336 posts

Re: V Language Review

#311
post #309

Earlier quoted context omitted.

The V community does not create these continuous attack threads or blogs (which is very obvious when reading them), nor told competitors or detractors to come join in on these underhanded attacks. The "projection", is coming from yourself. That you are a supporter of Zig and Rust, is your own business, that's not the focus of this thread or what my comments are about. But clearly you couldn't help yourself to come do…

The OP isn't an attack. That's the victim complex I'm talking about. It's a standard experience report.

Your attempts at gaslighting won't work. The OP appears to have created a throwaway account for the purposes of recommending to not use V and then to be used as a linked reference document for further attacks by competitors and detractors, as has already happened on various other internet sites, including here. This is also a pattern of attack on the language, used previously by other detractors, including here and on the OP's "evaluation".

And there is more:

1) The OP does not mention he is evaluating an alpha version of the language.

2) OP starts the "evaluation" with a link to a very contentious and controversial post from 2019, which smears the author and describes the language as vaporware (despite it being 2022 now and over 100 releases later).

3) At no time during the creation of his supposedly month long "evaluation" did the OP reach out to the V developers or community to verify anything in his report.

4) At no time did the OP demonstrate any good will by filing any bug reports or creating a discussion at V's GitHub. He had a unknown throwaway GitHub account, to easily do such.

5) The OP's "evaluation" summary (that can not be responded to) is full of opinions that are subject to interpretation.

6) Exactly how qualified is this mystery evaluator doing this negative review? Unknown.

7) Multiple times in the review, the OP mentions "we", as if he is part of a team. Who is "we"? Unknown.

8) The OP avoids attempts to be engaged in debate with V developers on various points about his review or make it known that he will modify it for correctness, fairness, or language version.

Re: V Language Review

#312
post #309

Earlier quoted context omitted.

The V community does not create these continuous attack threads or blogs (which is very obvious when reading them), nor told competitors or detractors to come join in on these underhanded attacks. The "projection", is coming from yourself. That you are a supporter of Zig and Rust, is your own business, that's not the focus of this thread or what my comments are about. But clearly you couldn't help yourself to come do…

The OP isn't an attack. That's the victim complex I'm talking about. It's a standard experience report.

At this point the V community is verging on self parody. I can’t think of a more illustrative example of a victim complex.

Unfortunately it’s very hard to convince self-proclaimed victims that they are not in fact victims, because then you become one of the “detractors” or “competitors” looking to “gaslight” and “slander”.

I’ve never seen a language with so much self-inflicted drama around it.

Re: V Language Review

#313
post #311

Earlier quoted context omitted.

The OP isn't an attack. That's the victim complex I'm talking about. It's a standard experience report.

Your attempts at gaslighting won't work. The OP appears to have created a throwaway account for the purposes of recommending to not use V and then to be used as a linked reference document for further attacks by competitors and detractors, as has already happened on various other internet sites, including here. This is also a pattern of attack on the language, used previously by other detractors, including here and o…

The OP doesn't need to file bug reports. The experience report is its own thing of value. I've had people write experience reports about software I've written many times. You know what doesn't happen though? I don't accuse them of bad faith. And I don't cry about them not filing issues as if that's some moral necessity.

The irony of you picking apart the OP's wording as not being exactly correct is just too much. There's the projection I was talking about. :-)

> Multiple times in the review, the OP mentions "we", as if he is part of a team. Who is "we"? Unknown.

On the off chance that you just aren't aware of the idiom, it's common to say "we" as in "me and you, the reader."

Search for "we" in one of my pieces of writing, for example: https://blog.burntsushi.net/csv/

There's nothing nefarious about it. See also: https://academia.stackexchange.com/questions/5500/use-of-fir...

Re: V Language Review

#314

Earlier quoted context omitted.

The OP isn't an attack. That's the victim complex I'm talking about. It's a standard experience report.

At this point the V community is verging on self parody. I can’t think of a more illustrative example of a victim complex. Unfortunately it’s very hard to convince self-proclaimed victims that they are not in fact victims, because then you become one of the “detractors” or “competitors” looking to “gaslight” and “slander”. I’ve never seen a language with so much self-inflicted drama around it.

Indeed. Pointing it out to them is difficult. I have experience doing it in other contexts. The jury is still out on whether it's successful or not. :-/

Re: V Language Review

#315
post #311

Earlier quoted context omitted.

Your attempts at gaslighting won't work. The OP appears to have created a throwaway account for the purposes of recommending to not use V and then to be used as a linked reference document for further attacks by competitors and detractors, as has already happened on various other internet sites, including here. This is also a pattern of attack on the language, used previously by other detractors, including here and o…

The OP doesn't need to file bug reports. The experience report is its own thing of value. I've had people write experience reports about software I've written many times. You know what doesn't happen though? I don't accuse them of bad faith. And I don't cry about them not filing issues as if that's some moral necessity. The irony of you picking apart the OP's wording as not being exactly correct is just too much. The…

No post body was provided.

Re: V Language Review

#316
post #273

Earlier quoted context omitted.

I think that V developers and contributors are well within their rights to address criticisms of their work by detractors. Additionally, the OP has ran away from engaging in debate about various errors and opinions from their review, in an apparent attempt to leave an arguably underhanded one-sided negative impression (which includes suggesting not to use). So we have a situation where the OP created a hit piece with…

> I think that V developers and contributors are well within their rights to address criticisms of their work by detractors. Indeed you are, but realize that you are also ambassadors for your language, and engaging in petty language war nonsense on public forums doesn’t leave anyone looking great. That’s a problem for V moreso than your detractors, because you are the ones building a reputation for yourselves, while…

Yeah, because V supporters should stay silent, and allow detractors free rein to say anything and continuously smear the language and its developers at will.

Funny, I notice the supporters of other languages don't seem to follow such advice. They make strong defenses and advocate for the languages they like, anywhere and everywhere, including on even this thread.

If anything, V supporters might want to be more vocal and show their support (which can be done in various ways), to counter what's going on. It doesn't work to stay quiet and let bullies keep slapping a person around. They incorrectly interpret it as a sign to continue.

Re: V Language Review

#317
post #316

Earlier quoted context omitted.

> I think that V developers and contributors are well within their rights to address criticisms of their work by detractors. Indeed you are, but realize that you are also ambassadors for your language, and engaging in petty language war nonsense on public forums doesn’t leave anyone looking great. That’s a problem for V moreso than your detractors, because you are the ones building a reputation for yourselves, while…

Yeah, because V supporters should stay silent, and allow detractors free rein to say anything and continuously smear the language and its developers at will. Funny, I notice the supporters of other languages don't seem to follow such advice. They make strong defenses and advocate for the languages they like, anywhere and everywhere, including on even this thread. If anything, V supporters might want to be more vocal…

Listen, you do you. I’m just letting you know how you come across to others. Maybe you think you’re defending V here but you’re doing the language and community a grave disservice, IMO. Others have given the V community the same advice, and have been for years, so it’s not just me.

But as long as you’re here on HN could you please at least follow this community’s guidelines? Several of your posts have been flagged for containing personal attacks, and accusations of bad faith and gaslighting are not well-received here. If you’re going to continue commenting, please just make your comments substantive. A strong defense of V would not include accusing others of bad faith because they didn’t file a bug report of GitHub.

Re: V Language Review

#318
post #316

Earlier quoted context omitted.

Yeah, because V supporters should stay silent, and allow detractors free rein to say anything and continuously smear the language and its developers at will. Funny, I notice the supporters of other languages don't seem to follow such advice. They make strong defenses and advocate for the languages they like, anywhere and everywhere, including on even this thread. If anything, V supporters might want to be more vocal…

Listen, you do you. I’m just letting you know how you come across to others. Maybe you think you’re defending V here but you’re doing the language and community a grave disservice, IMO. Others have given the V community the same advice, and have been for years, so it’s not just me. But as long as you’re here on HN could you please at least follow this community’s guidelines? Several of your posts have been flagged fo…

Listen, you do you, as well.

Those people who are open-minded about programming languages, can make up their own minds about V. I'm quite sure their decisions will not be solely dependent on HN or me, if they even come by here.

And sure, I will heed the warning to watch my back on HN, to include the downvoting and flagging.

Re: V Language Review

#319

Earlier quoted context omitted.

> every time you're setting an array length in V, any mistake will not be caught by the compiler What mistake? Does this apply to literally every other language, like Go with its `make([]int, len)`. > If you think it's fine for V documentation and advocacy to overstate their case and not mention significant gaps in what they claim the language has Can you link to such examples in V documentation?

Tene’s post is the most reasonable and valuable feedback you’ve gotten in this entire thread. Your reply should have been one of thanks and appreciation, not confrontational and argumentative. Honestly, from the outside reading this thread you probably shouldn’t have come here in the first place. I get you want to defend your language, but there’s a fine line between defending your creation and being argumentative wi…

The developers of V should feel free to defend or talk about their creation, as they wish, and as other language developers have done on HN.

The situation is also not as simplistic as making claims bulletproof, but also dealing with a continuous concerted effort to smear the language.

Re: V Language Review

#320
post #297

Earlier quoted context omitted.

You've misunderstood my intent. In "I checked several notable claims, and most of them are false", I was trying to say that most of the notable claims that the author decided to check were false. This is very different from saying most of the statements on the website are false, which would be a completely absurd accusation, as you correctly point out. The summary section is literally a list of specific claims and th…

> every time you're setting an array length in V, any mistake will not be caught by the compiler What mistake? Does this apply to literally every other language, like Go with its `make([]int, len)`. > If you think it's fine for V documentation and advocacy to overstate their case and not mention significant gaps in what they claim the language has Can you link to such examples in V documentation?

If you accidentally make a mistake when setting an array length in V, your program can read from uninitialized memory, as discussed in this article. This program, quoted from the article we're discussing, is accepted by the V compiler, and attempts to read from uninitialized memory:

  fn main() {
      x := []&int { len: 10, cap: 0 }
      println(x[4])
  }
In this case, the program crashes with a segfault, because the program is simple enough that the memory after the heap allocation was not mapped. The point of these examples is to be minimal tests cases clearly demonstrating that the language does the wrong thing. This is a general category of bug that permits memory unsafety, and in more-complex real-world programs, this could be exploitable. In general, any time you see a segfault, it's a strong signal that there could be an exploitable memory safety vulnerability.

This does not apply to every other language. The specific problem is that V lets you directly adjust the array length without doing anything to ensure that the array capacity is at least as large as the newly-specified length. Go's `make([]int, len)` ensures that the produced array's capacity is at least len. Go does have some memory safety issues (data races), but this specific issue is not a problem that Go has.

> Can you link to such examples in V documentation?

I agree with the article we're discussing that the "Safety" section prominently displayed on https://vlang.io/ immediately after the header is significantly overstating its case. Here is the list, each item of which is discussed specifically in this blog post, with minimal source code you can run to check their work:

  - No null
  - No undefined values
  - No undefined behavior
  - No variable shadowing
  - Bounds checking
  - Immutable variables by default
  - Immutable structs by default
  - Pure functions by default  --  This has since been removed from the list, but was present when the author started this review: https://web.archive.org/web/20220305171852/https://vlang.io/
  - Option/Result and mandatory error checks
  - Sum types
  - Generics
  - Immutable function args by default, mutable args have to be marked on call
  - No global variables
"No Null" is misleading because the compiler does not actually prevent null references.

"No Undefined Values" is misleading because the compiler does not actually prevent reading uninitialized memory.

"No Undefined Behaviour" is misleading because the C code generated by the V compiler does include behaviour that is undefined according to the C language standard.

"No Variable Shadowing" is correct; the V compiler rejects programs that would shadow variables. I don't actually see this as a benefit, as I use shadowing all the time, but it's an accurate statement about the current V compiler.

"Bounds Checking" is mostly correct, but slightly misleading because the bounds are exposed to your code, and it's up to you to make sure you manipulate them correctly.

"Immutable variables by default" and the other immutability points are misleading because functions that accept immutable arguments can still mutate those arguments.

Compared to languages with real mutability tracking, this is far less helpful in designing misuse-resistant APIs, and avoiding hard-to-diagnose bugs caused by unexpected mutation.

"Pure functions by default" is misleading because the V developer has chosen to use their own special nonstandard meaning for "Pure" that includes IO, and because of the mutability tracking not actually being effective.

"Option/Result and mandatory error checks" is correct and fine; I have no problems with this.

"Sum Types" is kind of okay, but they look kinda janky and limited. This article's example of sum types not being able to hold references is pretty concerning.

"Generics" is kind of okay, but it similarly is a very early very limited implementation.

"No global variables" is just false. V has "constants", which are just "immutable" global variables, and as we've already seen, V's "immutability" is very mutable.

This blog post also addresses the "Performance", "Fast Compilation", and "Innovative memory management" sections of https://vlang.io/.

Broadly speaking, https://vlang.io/ seems to very clearly present the language as one that is suitable for use today. I don't see anything on the main page of https://vlang.io/ that says anything even vaguely similar to "This is a very early language, these features are aspirational but still very much under serious development, and there are many known gaps we have not built solutions to yet".

By my personal standards of epistemic integrity, the front page of https://vlang.io/ is misleading and dishonest. I recognize that many people consider this kind of "marketing" to be acceptable, and I'm fine with letting people do that as long as they're not complaining about people actually checking their claims.

I really love the ambition of V, and I would be very happy to use it if it were actually production-ready. I have sometimes used early-development tools in production when I've had a good understanding of what the actual gaps and deficiencies and defects in the under-development software are. V's aggressive marketing that goes out of its way to avoid discussing its weaknesses means that I can't actually rely on what I read from them about the language's suitability for high-reliability use. When someone shows me that they're happy and willing and eager to mislead people about the flaws in something, then I believe them!

To me, these posts seem to be written from a perspective of eagerly wanting to use the language that seems to be advertised, and being disappointed at the big gap between the marketing and reality. The two big messages I see in these blog posts are "Here are problems I found that make me concerned about using V" and also, separately, "V appears to be marketed as if it were a polished product suitable for production use, and that's concerning, given the problems found."

Notice the end of this post: "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."

This author explicitly says "At this time" they don't think V is suitable to rely on or will be soon, and they encourage skepticism when interpreting claims made by the author. This does not read at all like someone hateful to me. This very much reads like someone who really wants a production-quality V language to use, and hopes that the project someday succeeds.

Post reply on HN