Hacker News new | ask | show | jobs
by smcl 1466 days ago
Christine Dodrill's early assessment of the language might be of interest here: https://xeiaso.net/blog/v-vaporware-2019-06-23

She doesn't pull any punches, but I think she was quite prescient in capturing the vibe of the project.

4 comments

Thanks for linking Xe's blog here! It's a few years old and I've seen a lot of comments on HN that suggest V has improved significantly since 2019 so I thought it might be worth looking into for myself and writing down a review of what I found.
I'm always interested in new languages and loved your write-up & evaluation of V.

I really don't get the purpose of someone exaggerating the capabilities of their language, to the point of outright lies.

I think people think that's "marketing".
Unfortunately that's needed nowadays to succeed. Java, Rust and many other would not be successful without standing on the shoulders of its big lies
What lies did the Rust developers make?

(Also, "nowadays" must stretch out to many decades if you're including Java!)

The three securities they guarantee and cannot hold.

Fearless concurrency.

Java also promised memory safety. I still get Null pointer segfaults in Java code.

> The three securities they guarantee and cannot hold. Could you elaborate?

> null pointer segfaults They are not segfaults and are not related to memory safety. Segfault stands for "segmentation fault", not "runtime exception". https://en.m.wikipedia.org/wiki/Segmentation_fault

If you know of a case where rust code violates memory safety without the use of an unsafe block, file a bug and it will probably be fixed within a release or two.

"Fearless concurrency" is more subjective, but rust code (again with the caveat that there isn't unsafe code, or unsafe cose upholds all unvariants) dows eliminate certain classes of concurrency bugs. Although, dreadlocks are definitely possible, and certain kinds of race conditions could potentially exist. But I don't know of any claims that concurrency bugs are impossible in rust.

You most likely get NPEs, not segfaults. I have never seen a segfault in Java and the first Java version I used was 1.5.
The marketing sentence "A language empowering everyone to build reliable and efficient software." is not true.
Xe is phasing out that name in favor of "Xe". Xer domain name change was a part of that shift.
Ah I'm sorry, I hadn't checked the website in a little while. I now see there's a redirect and that there is a different name in use.
Is 'Xe' the name or the preferred pronoun of the person in question? Is this like Latinx but race neutral? Gender identity accommodations seem to get more complex and confusing by the month...
Name, at least that's my interpretation from looking at her Contact Me page:

> Copyright 2012-2022 Xe Iaso (Christine Dodrill).

https://xeiaso.net/contact

[correction] on their GitHub page I see: Please call me (order of preference): Xe/xer, They/them or She/her please.

[edit] obscure to have your pronoun also be your name (or maybe your title?). Or maybe it is all just satire, given: "I am an ordained minister with the Church of the Latter-day Dude. This allows me to officiate religious ceremonies in at least the United States." - https://dudeism.com

To be honest having a person's name be the same as their nominative case pronoun is kind of cool from a whole different perspective than you normally get to see. By doing this experiment I get to see how bad of an idea it is to do that. So far the xe/xer pronouns don't seem to stick as well, but it looks cool so I'm gonna keep up the experiment.

I'm also quite seriously an ordained minister.

> To be honest having a person's name be the same as their nominative case pronoun is kind of cool

The whole point of a person's name is to sufficiently differentiate them from the other persons. Using pronoun as name (or vice versa) just totally negates this goal.

To be fair, the name came first. Then I found out it conflicted with people's pronouns and I sat on the idea for a while. Now I'm throwing science at the wall to see what sticks, and this is a fairly amusing experiment. So I'm gonna keep it going.
:-)
Who gives. Just use 'they' or 'them', or whatever. It is a universal catch all, gender neutral, i18n inclusivity conformant, ISO 69420 compliant, race neutral, etc.

At this point, all of it is basically designed to further confuse and only create a very monthly chaotic outcome for everyone.

Xe has been in use as a gender neutral pronoun for nearly thirty years. I, a startlingly ordinary person, was familiar with it as early as the late 90s.
Why not both?
Why in the world do competitors of this programming language insist on dragging out evaluations from 3 years ago, which state that V is vaporware and before the language was even released? This is 2022, not 2019, and we are talking a hundred releases later (https://github.com/vlang/v/releases).

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.

I don't have a horse in this race, but when a language makes present-tense claims about its features I assume that they're already functioning features.

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.

Indeed! I even mentioned this in my "Rules of engagement" section:

> Features indicated to be incomplete/work in progress/unimplemented will be mentioned as such.

Indicating on the vlang.io homepage how much of the language has yet to be realized would go a long way in my opinion.

After I criticized the project for collecting donations on deceitful information, the author put purple "WIP" labels next to a bunch of stuff [1] which led me to make this statement [2]. However, it looks like medvednikov has since removed the "WIP" labels.

[1]: https://web.archive.org/web/20190624052507/https://vlang.io/

[2]: https://twitter.com/andy_kelley/status/1142503808901308418

From his perspective, he's been Working on them ;)

Credit to both you and him for the passion and effort put in. I just think his excitement bubbles over into an unfortunate way of communicating (lets call it cute)

Communication is something you're excellent at, in a large part due to your truthfulness

I just think vlang is living in and expressing dreams and visions. Which I agree has problems, but creating a language is an aspirational endeavour

You know something, some of us are HAPPY donators for 3 years now and we're fine and feel that our investment is worthy. I really think you are terribly misrepresenting the situation.
Your keep calling people "competitors." I don't think you're using the word right. Perhaps "detractors" is what you mean, but "reviewers" is more neutral. Xe and mawfig don't appear to be offering their own languages to compete with V. At one point, Andy Kelly (a "competitor") criticized the author's behavior, but he's also gone silent on the topic of V because of the vitriol he encountered.

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.

> Andy Kelly (a "competitor") criticized the author's behavior, but he's also gone silent on the topic of V because of the vitriol he encountered

AFAIK your stated reason for the silence is not accurate. Andy’s criticisms were always based on V making claims that no one could evaluate because it was closed source/unreleased (and then used those claims to solicit money from people). Once V was made open source, those criticisms no longer applied, as things like TFA could be written.

Ah, fair enough, my memory is imperfect and I'm not inclined to paw through old HN comments.

Edit: ack, and I misspelled his name and the edit window closed

No, he also had criticisms like "the V compiler depends on an OpenGL context creation library, so the claim that it has zero dependencies is false, the author is a scammer".
Yeah you can't buy trust. Once it's done is done.

I'm not touching a language developed by folks who don't see a problem in scamming users, sorry.

Financial supporter of V here. I don't feel scammed or misled at all. So keep speaking for yourself with the imaginary money you did not donate nor lose.
No scamming coming here whatsoever. And this is coming from a LONG TERM patron/donor.
> Why in the world do competitors of this programming language insist on dragging out evaluations from 3 years ago...

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.

Nah that article is old as hell - time for new information. Things change.

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.

Mostly because the author completely scammed the shit out of people by promising a ton of things to garner patreon support before open sourcing what was essentially a hobby project at the time. I haven't followed it very closely, but last I heard about it was not delivering on the "autofree" feature.

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.

you heard wrong, it's been delivering quite well

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

no one has been scammed, whatever that means in opensource development

Oh, that's really cool to hear! I'm glad that they've turned around.

So, where can I download the version of V with non-nullable references, no uninitialized memory, no mutation without call-site mutability annotations, that can compile 1M loc/sec, and a functional autofree?

All the features you listed are there, maybe with bugs, which is expected for a 0.2/0.3 version, but they are there.
If someone advertises their language as having no Null, no reading from uninitialized memory, and no mutation of immutable values, then I really do expect to be able to rely on those being completely absent. It is dishonest and shameful to say "No null" on the front page of the website when the developers are well aware of ways that their system fails to actually prevent null references.

If I'm buying a sandwich advertised as "no cockroaches", then I think it's appropriate to be pissed off about there being bugs in my sandwich, especially when it's clear that the sandwich shop knows all about the bugs in the sandwich and they just prefer to falsely claim their absence.

I would have no complaints if the developers would just describe these things as ambitious goals they haven't actually accomplished yet, instead of declaring that they've completed work they know they have not completed.

> Why are so many people frothing at the chance to disparage this language and it's author?

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?

Can you list the false claims here? 1. 2. 3.

Shouldn't be hard, if "most claims" are false according to you.

I was referring to both the original post, and Xe's older post that this comment thread is about. They both list claims made by V and describe details how they tested those claims and what their results were.

https://mawfig.github.io/2022/06/18/v-lang-in-2022.html https://xeiaso.net/blog/v-vaporware-2019-06-23

Do you have anything more legit because these posts have nonsense like "setting array length on creation is a terrible idea" (Go with its `make([]int, 5)` must be a terrible scam language as well) and measuring the performance of a debug build, with slow backend, without vlib cached, and with vfmt on.

You can see that V is actually as fast as is claimed on the website:

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

Same with other points from the author that publicly claimed that "V has to die".

Like I said, if "most claims are false" on vlang.io, as you claim, it shouldn't be hard to list 3 of them here.

I tried to find the source of the "V has to die" comment, and I see that you linked this in a previous claim that Xe said "V should die": https://news.ycombinator.com/item?id=27442724

Actual quote from this comment:

  Personally I think it is something that should be ignored until it dies into obscurity
  There are good ideas there, but if you sell someone the moon and give them a block of cheese that's kind of a scam
This is definitely not "has to die". This is "should be ignored" and a prediction that V will die, justified by disappointment at the large gap between their interpretation of V's marketing vs the reality of the current state of V.
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 the author's evaluation of these specific claims: https://mawfig.github.io/2022/06/18/v-lang-in-2022.html#summ...

My comment was refuting that these posts are not "frothing at the chance to disparage this language and it's author". I stand by my refutation that these posts are appropriate, specific, relevant criticism, and that they cite specific evidence for their specific disagreements with the stated claims.

You are certainly welcome to disagree with this author's claims! That sounds like appropriate, specific, relevant criticism of this author's claim. Would you say that you are "frothing at the chance to disparage this author"? I don't.

I'll admit to some satire in my top comment on this subthread. By saying "It's because of all the lying", I was partly satirically reacting to what I saw as inappropriate hyperbole in "frothing at the mouth to disparage". I broadly agree that the V website is fine, just a little distasteful by my aesthetic.

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, I can't see how you'd call it inappropriate for other people who care about the production-suitability of a language to explicitly document what they believe to be major gaps in the production-readiness of a language claiming to have important safety features people want to rely on.

For some context on my interpretation of these posts, I think about how many times over my career I've had to deal with software that claims to have "just a few bugs" on something important, but somehow the bugs never actually get fixed, and the fully general solution just never appears. These things really are genuinely difficult to design and build a fully general solution for. It takes time and engineering work, as we can see by these people finding a lot of holes as soon as they looked.

As an engineer, I've had a lot of frustration from dealing with bugs and outages and maintenance issues that can be significantly improved by a good language. That's why I care so much about really wanting these things that V claims to have, and also why I care so much about the details of how exactly the claims currently fall short. It's so easy to overpromise, so I'm skeptical of any marketing for a new still-in-development tool that just claims to have solutions, with no big disclaimers about how they're still incomplete.

Regarding your specific example, the problem that's being implied by the "setting array length on creation is a terrible idea" is that every time you're setting an array length in V, any mistake will not be caught by the compiler, and can be an exploitable memory safety violation. Memory safety vulnerabilities really truly have been and continue to be a serious ongoing source of serious computer security problems. V making various memory safety claims like no null and no reading from uninitialized memory, and then that being trivially broken on literally the most obvious possible violation, without even any safety marker to make sure it's obvious that this is a place where you can violate memory safety, means that it's just not a language I want to use.

I agree that these posts are very passionate. I assert that these posts come from a passionate interest in what V aspires to be, and they hold V to a high standard, and find it believable that V can actually hit that high standard, and so they've checked it, and here are the places where you'll need to be extremely careful if you want to really rely on this in a high-reliability setting. It is not frothing at the mouth, and it is not disparagement; it is accurate and precise and specific and appropriate feedback, along with some emotional expression that I find relatable and appropriate.

Because no other new languages lied that much?
>Things change.

Based on submitted link, they don't.

It's been around for a few years now.