1. 69
  1.  

  2. 39

    Just quoting from the summary:

    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.

    So, still the same as before, please move along, nothing new here. Why do we even still spend time on this, is something I just can’t understand. I mean, I get it that the density of buzz and hopes in the self-proclaimed ads is hard to resist even for me, but come on, haven’t we all seen and learnt from a healthy dose of snake oil peddlers in our lifetimes?. “Way too good to be true” is a tell-tale sign that is seductive yet costly to ignore. Even if assuming good intentions and naivete, there’s unfortunately a level of naivete that crosses the border to a territory of “it’s dangerous to stay close to them”.

    1. 28

      I really appreciate the balanced tone of OP and the restraint in not bringing up past history in the current evaluation.

      1. 7

        I’d love to see such a review if things changed for the better in a useful way. That said, I guess it’s important to publish negative results. Maybe that’s the perspective I should employ when looking on this article. That’s an interesting angle; also, thanks for the reply. Knowing that you’re yourself an author of a language lends a lot more meaning to your words.

        I love so much how interesting the discussions here on lobste.rs often become!

        1. 3

          Oh, I totally agreed with your top comment! Me building a language has nothing to do with it.

      2. 8

        Why do we even still spend time on this, is something I just can’t understand.

        I also cannot understand how people hung onto this language after the initial exposure of unfounded claims and lies.

        1. 4

          Not everybody thinks critically.

      3. 13

        Great that people do reviews of programming languages. I’m a bit surprised why V gets all this attention. I remember reading the book 40 laws of power where Green writes that Barnum could immensly increase the popularity of his shows by spreading negative rumors himself about alleged scandals in the show which people wanted to see themselves and have given him a good turnover; apparently that’s how it also works with V; “any publicity is good publicity” they say; I for my side would be glad if peaple did reviews on Oberon+; always helps a lot the get an independent analysis.

        1. 5

          Oh, I would so love to see a review of Oberon+ by a thirdparty!

          1. 3

            There is a double bind here though, in that it takes quite a lot of sustained (and current) effort to show that a project is just a bunch of fabulists and con artists - effort that individuals assessing the project without any preconceptions are unlikely to put in when assessing the marketing claims, and the V community is good enough at marketing that they don’t need scandal or negative attention to keep getting attention.

            If there exists a record of many years worth of deep dives that find a pattern of material false claims and deceptive responses to the claims being proven both material and false, then it makes it much easier for this hypothetical individual to correctly assess the project (even if it also makes it slightly more likely that they will hear about the project in the first place).

          2. 10

            A generous interpretation of the situation is that the authors attempted to solve several “iceberg” problems, implemented half of the icebergs’ tips, and think they’re half done.

            In problems like escape analysis the simple cases are really simple, and solving these may give a false impression that hard cases will be merely hard rather than ranging from super complicated and expensive to analyse to straight up impossible.

            1. 9

              Also, the “sum types” seem to actually be union types. Which is a similar, but distinct concept.

              1. 1

                What’s the difference? That you can add more types to a sum type?

                1. 8

                  Sum types have a layer of indirection vs union types. If I have x :: Union[int, str], then x is either literally an integer or string. Whereas x :: Either[int, str] is neither; it’s an Either value you can unwrap to get an integer or string.

                  In practice, union types are harder to typecheck, which is why most languages use sum types instead. One advantage of union types, though, is that you can operate on the intersection of the types without destructuring it. ie if you have x :: Either[(str, int), (int, int)], you know for sure that x[1] + 1 is a valid expression regardless of which type it actually is.

                  1. 1

                    Oh I see. And monadic operations make it easier to “write through” the sum type.

                  2. 2

                    A sum type can contain multiple instances of the same type, a union type can’t. For example, Int + Int is a different type from Int, whereas Int | Int is the same type as Int. For the sum type, you can somehow distinguish whether it was the left Int or the right Int, usually by having different “constructors”.

                    1. 1

                      Those sound equivalent in the presence of typedefs.

                      1. 1

                        Well yes, you can emulate sum types with union types and distinct types.

                2. 5

                  Additionally,

                  V functions are pure by default, meaning that their return values are a function of their arguments only, and their evaluation has no side effects (besides I/O).

                  It has mutable closed variables🤔

                  1. 8

                    My first reaction was “This same bullshit, again?”. But then I thought to myself “hey, don’t be a dick, don’t form opinions based purely on bias. Maybe it got better, maybe there’s some new, interesting stuff going on”. Then I read the article. It was the same bullshit, again.

                    I wanted to flag this as spam, at this point, but I think it would be unfair to OP, who is not at fault at all for this shit show, so I’ll just hide it.

                    1. 4

                      This is a low hanging fruit. That said, I would love a similar review for ada.

                      1. 3

                        V is great, using it for several of my hobby projects.

                        1. 29

                          please elaborate

                        2. 3

                          Phew. I have issues with the post, but they are also issues with the language, so I’m not quite sure how to deal with that. My prime example here is “no undefined behaviour”. Just reaching for C’s undefined behaviour is not sufficient. V may have undefined behaviour that C doesn’t have and C may have ones that V doesn’t have. V might have defined overflow (such as many modern programming languages), but it’s hard to figure out (or someone maybe point me to the docs I haven’t found). Given that V compiles to C and doesn’t really have a section on many of the behaviours, the approach the post takes is reasonable, though - I’d prefer if it mentioned why this is a feasible way to test.

                          In any case, nice look at the claims of the language and reality, even if it glosses over some of the complexity of the topic.

                          1. 2

                            Thanks for sharing. I stumbled upon V and wanted to try it but was cautious. Why haven’t I heart about this language neue if it’s so great? That was no good sign.