I do not understand the hatred, reminds me of the last article of this kind. This language is in alpha. I've been in the Discord community since 2020 and no one would think of recommending the language for production use because it's WIP. Sure the goals are high and a lot of things don't work yet or are shaky but that's the way it is ATM. The wording of the article is simply not appropriate for the fact that the lang…
I'd be curious to see your AoC solutions in V, if you have them kicking around?
V Language Review
121–130 of 336 posts
Re: V Language Review
#122Quick glance says: This is like the perfect blend of Go and C. I love it.
Re: V Language Review
#123Earlier quoted context omitted.
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.
Re: V Language Review
#124Earlier quoted context omitted.
I think everyone wants a "Rust but better" language to exist, and that very well might be V in 5 years, but Rust wasn't advertising features as 'completed' years before they were implemented/stable and neither should V. Continuing to point out the design issues will either get the marketing claims removed (just throw up a roadmap!) or articles like this will be used to show V's progress in a distant future.
I wouldn't bet a single dollar on V improving to any qualitative level. It's been a surprisingly large transpiling hack. Graydon Hoare had some PLT knowledge before going on doing Rust, it's not just feature names and potential impl.
The V compiler is self hosting for example, there are useful examples done in the main repo, people are using it for writing web servers.
What it should do, to "qualify", and to qualify in what?
Re: V Language Review
#125Earlier quoted context omitted.
"A pure function is one without any side-effects." https://ocaml.org/docs/functional-programming "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)." https://github.com/vlang/v/blob/master/doc/docs.md#pure-func... It sure sounds to me like V is trying to claim that functions can be pure while still performin…
V's documentation is making it clear that it's not a purely functional language, so there should not be any such expectations. It also gives it's interpretation of what a pure function is, which other languages do as well, and there are various opinions about this. You appear to be unbothered by OCaml describing itself as "mostly pure", whatever such "marketing" truly means, but seem to take strong offense to V. Seem…
Re: V Language Review
#126Earlier quoted context omitted.
I think everyone wants a "Rust but better" language to exist, and that very well might be V in 5 years, but Rust wasn't advertising features as 'completed' years before they were implemented/stable and neither should V. Continuing to point out the design issues will either get the marketing claims removed (just throw up a roadmap!) or articles like this will be used to show V's progress in a distant future.
> wants a "Rust but better" language to exist, and that very well might be V in 5 years . . . 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 proje…
As for the source tree full of incompetence - that may be so, if you can help, you are welcome to make PRs to improve it.
As incompetently written as it is, it is capable of compiling itself, and quickly, unlike some others.
Re: V Language Review
#127Earlier quoted context omitted.
Quoted post unavailable.
Every evaluation in my blog is fully reproducible from the version of V I linked to and I've included all the source code used as well. My post stands on it's own. Instead of insinuating I'm some kind of competitor or have a personal agenda, I would encourage you to respond to the actual points raised in my post.
ok, here is the first thing that I noticed, reading your blog post/review.
> No undefined values ... > C allows you to use an uninitialized variable which can result in Undefined Behavior. I’ll assume that’s what this means. ... > Typically, uninitialized values come from a memory allocation that hasn’t been written to. ... > Let’s see if we can get the V compiler to allocate memory for us without writing to it:
fn main() {
a := []&int { len: 1 }
println(a)
}
That program segfaulted in the automatically generated string conversion method for the println() call (you created a 1 element array of pointers, and since each of the elements is initialized to 0, you got a 0 pointer, then println tried to show that, but the automatically generated string conversion method did not check for 0 pointers -> the segfault).TLDR: the autogenerated string conversion method has a bug, that will be fixed soon.
Ironically, the cause is the opposite of what you intended to show - the memory for the new array was initialized to 0.
I would have appreciated a bug report in https://github.com/vlang/v/issues , that could be properly tracked till resolution, but apparently people these days have an entire month to dedicate on writing a "review" with a "Rules of engagement" section, but do not have 5 minutes to submit a github issue ¯\_(ツ)_/¯ ...
btw, if you instead of the above did:
fn main() {
a := []int { len: 1 }
println(a)
}
the program (printing `[0]`) will have worked correctly.Edit: I've filed this in https://github.com/vlang/v/issues/14786
Re: V Language Review
#128Earlier quoted context omitted.
Quoted post unavailable.
Every evaluation in my blog is fully reproducible from the version of V I linked to and I've included all the source code used as well. My post stands on it's own. Instead of insinuating I'm some kind of competitor or have a personal agenda, I would encourage you to respond to the actual points raised in my post.
The V documentation also has this: https://github.com/vlang/v/blob/master/doc/docs.md#structs-w...
> Structs with references require explicitly setting the initial value to a reference value unless the struct already defines its own initial value.
> Zero-value references, or nil pointers, will NOT be supported in the future, for now data structures such as Linked Lists or Binary Trees that rely on reference fields that can use the value 0, understanding that it is unsafe, and that it can cause a panic.
struct Node {
val int
left &Node
right &Node
}
fn main() {
n := Node { 123, 0, 0 }
println(n.left)
}
This is also another example of a program, that would have been perfect as a bug/issue report, so thanks for that I guess.Edit: filed under https://github.com/vlang/v/issues/14785
Re: V Language Review
#129I do not understand the hatred, reminds me of the last article of this kind. This language is in alpha. I've been in the Discord community since 2020 and no one would think of recommending the language for production use because it's WIP. Sure the goals are high and a lot of things don't work yet or are shaky but that's the way it is ATM. The wording of the article is simply not appropriate for the fact that the lang…
This article criticises V for presenting itself as a usable language, when it definitely isn't, with all these features which don't work.
Re: V Language Review
#130Earlier quoted context omitted.
Quoted post unavailable.
Every evaluation in my blog is fully reproducible from the version of V I linked to and I've included all the source code used as well. My post stands on it's own. Instead of insinuating I'm some kind of competitor or have a personal agenda, I would encourage you to respond to the actual points raised in my post.
You do have a point here, and we should update the site and the documentation. The current state of V, is that most of the undefined behaviors of C for numbers are also undefined in V too.