Get the top HN stories in your inbox every day.
longrod
yjftsjthsd-h
> It's clearly not a hobby project started out by a developer who is genuinely experimenting with PLs and want to put out something unique. It feels more like a stunt or a flair to either extort money or become famous.
Is that obvious? Yes, if I put on my cynical hat it pattern matches a money-grab or some other sort of fraud, but if I put on my charitable-interpretation hat V also perfectly pattern matches my idea of "solo developer wants to create the perfect language and goes after it with fresh eyes and a lot of enthusiasm (and yes, does get slowed down when it comes to fleshing out every little detail correctly and fully)". How do you distinguish?
411111111111111
Yeah, a lot of projects that fall through aren't actually made by scam artists or people trying to make a quick buck. I'd wager most of these are just by overly ambitious people that massively underestimate the challenge of getting there.
It's especially prevalent in indie gaming and large Kickstarters. Some are actually scams, but a lot are just entirely out of their depth and realize this too late/only when their deadlines come due. And yet there are content creators which just make video after video just shitting on these people. Quiet sad all around.
(Though that link from the sister comment does make it look quiet bad in this case. Projects that just make great sounding claims about the current state of the project, even though none of it is true can't be taken seriously in my opinion.)
spacechild1
> when it comes to fleshing out every little detail correctly and fully
In the case of V it's not only about details. Memory management, for example, is a fundamental part of a programming language and not something you can do as an afterthought. It is still not clear at all how memory management works in V.
Tozen
The V language pattern matches with new programming language initiatives such as Odin or Zig. It is in the category of both C and Go alternatives.
Note- just by being a strong Go alternative by itself, one can see possible "behind the scenes" conflicts and motives. Though both V and Odin really should be fully embraced, because they continue the direction and changes in thinking started by Go, while providing features that such users might crave or have wanted.
V has been more successful than other newer programming languages at getting sponsors and supporters (check V's GitHub or vlang.io), to include publicity, both very good and at times negative (which appears to include angry detractors). It also has been developing at a more rapid pace than other languages in its category.
From looking at the history, some of the controversy appears to come from years ago and whether or not the language was real or was going to be released, because it was already "advertising" itself and had sponsors. Keep in mind that other languages have a very hard time at getting sponsors, supporters, or users. So, that another language getting what they are not able to or feel they deserve, can become a source of conflict as well.
My opinion is that the V creator did nothing wrong, because it was a very smart decision to attract sponsors and users, and the creator did release the language. This alone already separated V from the many languages we never know or hear about, the ability to get enough sponsors and supporters to sustain growth and momentum.
Yeah, it's might seem great to be a solo developer making what he/she feels is the perfect language as a hobby, but at some point the enthusiasm stops or the person realizes what's the point if nobody cares and nobody uses it.
Another aspect of this situation is it appears detractors were running with the narrative that V was "fake" or "vaporware", and then when it was actually released, they had to reset their narratives. You can't claim that something that exists and is used by many, is "fake" or non-existent. So then the attacks appear to then go for whatever might stick. Anything about the language, which is "not perfect" or as they feel is claimed, is then targeted. This is why we have these odd and controversial takedown attempts of a language which is still in alpha and evolving. I'm very much not saying that people shouldn't be criticizing or pointing out flaws, but rather it doesn't need the viciousness or underhandedness of trying to persuade people to stop using or attempts to kill it off.
Ultimately, just don't think that such tactics are going to work, because V has such strong community support and is continually improving. V is well on the path of becoming a very viable and highly useful language.
kristoff_it
You must come from an alternative reality because all that V achieved in terms of popularity is a big initial uptick of GitHub stars and donations obtained thanks to straight-up, no-discussion, clear-as-sky false advertising.
When it comes to sponsors and donations, V is far (really far) from the best in the category. Not to mention that Zig has a proper non-profit foundation, which is a far greater achievement than GitHub stars or even sponsors.
All your comments in this thread are in disagreement with reality to the same absurdist degree of conspiracy theories. And of course you yourself can't help but point out that everything is a conspiracy against V, which is laughable.
lifthrasiir
Ductaped languages can be extremely useful though (cf. PHP). But extraordinary claims were what failed V and---sadly and contrary to my remaining hope---continue to do so.
the_duke
Ductaped languages usually exist because they served some specific need, become popular and then evolved from there. PHP is the perfect example.
They were not "clean sheet, let's make a great new language" implementations.
lifthrasiir
PHP was already ductaped at the point of PHP/FI 2 [1], when it became more or less a proper programming language. PHP survived despite its ductape nature.
amedvednikov
Can you list here the extraordinary claims that failed please.
lifthrasiir
Read correctly; I said extraordinary claims failed V. But the other reading doesn't seem to paint a pretty picture anyway. Every point made in the original article is a reasonable expectation by outsiders, and many of them are still unsatisfactory ("failed claims" if you like).
What you should do now is to decide what to do with those points instead of arguing. If the decision is WONTFIX (okay to do, not everything can be made into the language) then the advertisement should be updated (ProTip: you should really have done this years ago). If the decision is to do something with that then the advertisement should be still updated, hopefully with a link to the tracking issue. If you are already doing something about that then you still should have a link to the tracking issue. If the point is "misleading", then you should write out clearly why it's misleading, how the author could have concluded in that way (i.e. assume no malice and debug instead), and how to verify your updated claim. With no strings attached.
Honestly though these points have been iterated and reiterated years ago. I had a hope that you have learned (hard) from that past experience; my hope seems not justified.
Tozen
Let's not discount the hundreds of contributors, sponsors, and other developers that continually make contributions to and improve V.
The impression should not be given that V is just a one-man show. Many of the offshoot projects are in collaboration with others, not just the author, who have invested heavily in them and also wanted or helped create them.
super_flanker
Even when they are known to be scammers and frauds?
V's author is paying others to write things in V (even when basic functionalities don't work as advertised). They don't want to improve the language, they want to create a showcase to attract more funding, that's about it.
Tozen
From what I've seen, V's author (along with other contributors and sponsors) have been constantly improving the language. Of which, these efforts are applauded by V's users and supporters.
As far as I'm concerned, V works as described in their documentation. As with any language, there are some specifics that are subject to interpretation or debate, but that is to be expected.
And, V is not doing anything that other languages also try to do in terms of sponsors and investors to sustain progress, increase popularity, or make improvements.
ylluminate
This is a complete lie.
smcl
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.
mawfig
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.
prirun
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.
dkjaudyeqooe
I think people think that's "marketing".
rurban
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
Tozen
munificent
> Remember, the competition between various younger languages has become a bit fierce and dirty.
As someone who works full time on one relatively young language, has created a couple more, and knows people working on many others, this is 100% wrong in my personal experience.
Most young language teams work very hard to communicate accurately and to set appropriate expectations because they know that user trust is a hard requirement for adoption.
V is the outlier here.
mawfig
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.
seebs
You say it "comes off as part of an effort ... to mount another attack". Maybe it does to you, but I don't know why. I've never heard of this "fierce and dirty" competition between young languages. I've never seen anything even a bit like that. I've only seen fierce fighting between advocates of large well-established languages.
Xe's post struck me as accurate at the time, and having that context to compare with makes V look a little better now, because it at least establishes that progress is being made towards those claims.
I don't know where you're getting the idea that this is based on some kind of sinister "personal agenda" other than "this thing sounds interesting, I investigated it, it seems less cool now", which is a pretty defensible position for someone to reach.
super_flanker
You are not doing yourself any favor by harassing people, if anything it makes you look like a fan-boy. Do yourself a favor, read the article then present a constructive criticism, if any.
delian66
> I see though that V supports closures. What are the rules for shadowing variables in closures?
fn main() {
x := 1
y := fn (x int) {
println(x)
}
y(x)
y(2)
}
I am not sure I follow - the `x` parameter for the anonymous function, is entirely different, than the `x` in the main function. For me, there is no way for it to be confused with the `x` inside main.... y := fn [x] (x int) { println(x) } ...
> Well, that seems like it should be disallowed. It makes sense that x can be captured but to then shadow the argument with the same name without error or warning doesn’t seem inline with the rest of V’s behavior.
I see what you mean now, yes, that does seem like another good issue candidate. Filed in https://github.com/vlang/v/issues/14787
update: I've responded to the wrong comment, it should have been under https://news.ycombinator.com/item?id=31794565
Seirdy
Xe is phasing out that name in favor of "Xe". Xer domain name change was a part of that shift.
smcl
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.
umvi
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...
andsoitis
Name, at least that's my interpretation from looking at her Contact Me page:
> Copyright 2012-2022 Xe Iaso (Christine Dodrill).
[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
rvz
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.
xena
Why not both?
undefined
Tozen
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.
faitswulff
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.
mawfig
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.
klyrs
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.
somethingor
> 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.
pid-1
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.
gompertz
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.
ylluminate
No scamming coming here whatsoever. And this is coming from a LONG TERM patron/donor.
aidenn0
> 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.
sergiotapia
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.
unclad5968
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.
amedvednikov
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
tene
> 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?
amedvednikov
Can you list the false claims here? 1. 2. 3.
Shouldn't be hard, if "most claims" are false according to you.
theamk
Because no other new languages lied that much?
forgotpwd16
>Things change.
Based on submitted link, they don't.
kizer
It's been around for a few years now.
Tozen
ylluminate
100% right. It's sick. As a donor and supporter of this VALIANT AND VALID effort, I applaud the V community. It's full of sincere passion, love and is putting forth a great effort to realize something useful and needed in this sector.
ohgodplsno
Well this is sure to be a reasonable thread with reasonable arguments coming from both sides. Surely the usual patterns of any vlang criticism won't pop out again.
Unfortunately, Vlang isn't a project out of an overeager young dev (not anymore at least), but at the same time, it hurts no-one. Sure, the author is making 1k a month out of it, but it's not like it's the scam of the century making him rich. I see startups on HN lying harder than that every week. Just let the dude make his stuff on his side, have a good laugh when articles like this come out, and that's it. Look at legitimate alternatives like Zig or Odin, and keep V as a fun little distraction when you want to see what overpromising looks like
jitl
My recommendation is that if you like the look of V, you should consider Zig or Odin as well. Personally, Zig seems like the most promising C-but-modern language due to the interesting compile-time programming features and impressive investment in toolchain infrastructure.
andi999
An article like the V one on Zig checking the claims would be awesome, wouldnt it.?
candeira
You're welcome to write it yourself.
Something you'll see by reading the overview is the part where the Zig team themselves warn you that Zig is not a fully safe language and link to articles describing the safety boundaries. Scroll to the bottom of this section:
https://ziglang.org/learn/overview/#performance-and-safety-c...
jitl
I think it would be fun and educational!
undefined
Tozen
maleldil
Why do you keep saying "competitors"? Do you really think every V detractor in this thread has their own pocket language they want to shill for at V's expense?
I don't think that's the case. I believe most people just don't like seeing others spreading lies and like when they are refuted.
_dain_
No, the reason is that Zig doesn't make wild claims about what it can do and then fail to back them up.
Based on your posts in this thread, you seem to have a very paranoid outlook, where everyone is out to get V for no rational reason at all, and implying they have sinister motives. But: anyone can just run the code examples in the article and see for themselves that V is just not living up to its promises. It's just more confirmation that the V people are a little cult that can't take any criticism at all.
TeddyDD
Oh please, V is a meme or marketing scam not a competitor to any other PL. I'm glad someone calls V's unfounded claims from time to time so maybe less people will waste time and money on V.
haskellandchill
What's your deal, is V your language or something?
undefined
Tozen
Zig is arguably not something similar enough that it would be attractive. Odin and Vlang are kind of offshoots of Golang, so would be more similar and attractive to those users. If a person is a Golang user, they would be more likely to see the advantages and possible improvements of Odin and Vlang.
jitl
“Those users” are a mystery to me. Who are they? Instead of talking about hypothetical persons, I am sharing my perspective and recommendation, as someone who learned C before learning Go, and who programs Go from time to time. To me, Go feels like C set to “Very Easy Mode”. Memory: specify layout but don’t worry about freeing it! I see Zig as C set to “Easy Mode”. More control than Go, can do all the C things as good as C, but memory management is explicit (like in C, but less tricky to get right).
undefined
ylluminate
Nah, very much personally dislike those two languages for various and many (predominantly technical, but some aesthetics are involved as well) reasons. V hits a sweet spot coming from a Ruby background.
iamsahebgiri
Where does language like Vala stand? Is it worth checking out?
jitl
I think of Vala as the “Swift of Gnome”. As in, a nice language primarily useful for programming in the World Of Gnome, like Swift is a nice language for programming in the World of Apple. I don’t use Gnome, so I’m not interested in their Swift. ¯\_(ツ)_/¯
dsego
Vala hasn't really caught on outside of the GTK world, since it's based on the glib object system.
nicoburns
Similar to a language like D. Technically quite good, but not quite compelling enough that it has picked up momentum that is likely to push it into the mainstream and generate a large library ecosystem.
masklinn
Do you mean Vale? Vala (the gnome langage) is in an unrelated category.
ylluminate
Vala seemed interesting to me quite a while ago, but V ticks the right boxes.
ptx
> Variables aren’t immutable in any significant way because you can trivially turn an immutable reference into a mutable one.
To be fair, they didn't claim that the values were immutable, only the variables. Isn't the example in the article basically the same as Java's final variables, i.e. immutable references to mutable values?
> No global variables [...] Evaluation: V does not prevent you from creating and mutating globally shared state in any meaningful way.
Although I agree with the evaluation, the claim of "no global variables" might still hold, assuming it refers to mutable global variables. The global constant holds an immutable reference to a mutable value, just like how in Java a singleton object (or a class with mutable static fields) can be used to simulate global variables.
amedvednikov
It's just a one line bug in the checker, which can be reported via github, but it wouldn't be as dramatic.
ptx
Maybe I misunderstood then. I was saying that it seems to behave basically like Java. Is that a bug?
amedvednikov
V has global consts, they are immutable, but can be initialized with complex expressions, for example
`const x = foo()`
There's a bug that allows to trick the compiler and modify the const via another variable, it's a one line fix, and will be fixed today.
Global mutable variables are only allowed with `-enable-globals` and are supposed to be used only in low level code, like drivers and kernels.
Tozen
lifthrasiir
This is absurd. It is now a V team's job to continue with, not the other way around. In fact, this kind of outsider perspective is very valuable to growing language communities because it's plain impossible to attain by themselves. As long as the article is not written in a derogatory tone (and I believe not) the OP's job is done by now.
whiterock
It would be very nice if you could do the same thing for Nim.
mawfig
Nim and Zig are both pretty interesting to me as up-and-coming languages so I do have them on a short list of things to try. This post took about a month of effort in my spare time to write so I don't think I will get to those anytime soon.
Rochus
> Nim and Zig are both pretty interesting to me as up-and-coming languages so I do have them on a short list of things to try.
Then I take the liberty of doing some promotion for Oberon+ here too.
DeltaMetro
I had a look at the Oberon+ language definition and noted that one of the most annoying Oberon shortcomings (as compared to Modula-3) still remain: ...from the point of definition to the end of the scope... Oberon+ should have a look at Active Oberon 2019, not for its "active" aspect, but for its syntactical and semantic improvements, like the correction of the above problem.
haskellandchill
It's a great idea, I nominate myself unless anyone more qualified steps in. It should take about a month. I will do what the author did and evaluate the claims the language makes one by one.
planetis
Very well, be sure to ask in the IM channels when you need guidance and good luck.
haskellandchill
I started here: https://github.com/svanderbleek/x-language-review/blob/main/...
What do you mean IM channels?
HL33tibCe7
People like to dunk on V because of its author and community, but I will say that the design of the language itself (leaving aside the implementation) is genuinely interesting. To me, it feels like what Go should have been. And I like Go. So obviously I have a bit of a soft spot for V.
Disclaimer: I’ve never actually used it.
mawfig
I'm sorry if you feel this is a dunk on V. Having seen quite a bit of discussion both on hacker news and other places saying that V has improved significantly since Xe's articles a few years ago, I thought it would be worth while to attempt a modern evaluation of the language based on where it is today. Throughout, I tried to ground my review by basing it on the claims the developers themselves make.
Would you mind expanding on your later comment? While I'm not a Go programmer, it's pretty easy for me to see why it has the features it has based on their commitment to fast compile times and being easy to learn. V on the other hand feels like an incoherent list of the biggest buzzwords in the industry right now with no clear overall design.
HL33tibCe7
Sorry, I didn’t mean to suggest that this article itself was a dunk. I was commenting on the discussion I see elsewhere on the language (including elsewhere in this comments section). The article itself is a good summary of the problems with V — mostly with its implementation which does appear shoddy.
V’s design address many things I feel are lacking whenever I use Go: nil safety, sum types, option/result types, mandatory error checking. I think V is best understood in the context of being Go++.
Having looked a bit deeper though, the immutability and generics stuff does feel a bit bolted on, so I do see your point.
Rochus
> I thought it would be worth while to attempt a modern evaluation of the language based on where it is today
A good idea indeed, thanks for the effort.
Although I'm quite surprised why V has gained so much attention.
avgcorrection
> the design of the language itself (leaving aside the implementation) is genuinely interesting […]
> Disclaimer: I’ve never actually used it.
I can make a hypotethical language as well (I do it all the time), but I wouldn’t make a website about it and give it a name.
capitalsigma
New language proposal: W
Features: * All of the things you want * No things that you don't want
Please donate to my Patreon
mountainriver
I agree, the interface has always been great which is what attracts people. The core developer is just overselling and it’s coming back on him
Tozen
ricardobeat
Or maybe it has to do with "never actually used it" after empty platitudes. The article goes to great lengths to show what works as promised or not, you'd expect at least some mention of what the interesting design features are.
Tozen
He doesn't have to be a user of the language to see that people are dunking on it. Some of the similarities of Vlang and Odin to Golang would be obvious from looking at the syntax and documentation by Go users. Though I do agree, it would have been better if he had played with it a bit.
ivraatiems
Am I wrong/naïve in thinking that a number of things mentioned here (no null pointer references, better bounds checking, immutability, pure functions by default) would be relatively easy to implement at least simple versions of in a language that compiles to C?
For example, the null pointer reference the author demonstrates would not be at all difficult to identify at compile time, it's literally just checking whether any structs are created with pointer properties initialized to 0. Checking for null pointers in all circumstances is much harder, but this particular example is easy. Why claim V supports this when it doesn't? Am I missing something about how hard it'd be to implement?
woodruffw
You're not wrong. For the most part, these would be relatively easy to implement.
Pure functions are the hardest of the ones you've identified -- they're nominally easy if you have perfect purity information, but pretty difficult (impossible, in the general case) if you don't or if your definition of "pure" is just plain incorrect (like V's is).
slimygrapes
The criticism re: purity is silly. It can still be useful to design a language that is “mostly pure” because you’re mostly not trying to fuck your self over. For example OCaml is “mostly pure” and it’s tremendously beneficial in terms of writing correct software, regardless of the IO escape hatch or the ‘a ref explicit mutability etc.
(I don’t care for V one way or the other though, and most of the results in the post are clearly bad, I just find this particular point to be absurd).
mawfig
To be clear, there's nothing wrong with impure programming languages. I use them every single day. My complaint is that V claims to be pure and is actually impure. To my knowledge, OCaml makes no claim to functional purity.
Tozen
"ML-derived languages like OCaml are "mostly pure". They allow side-effects through things like references and arrays, but by and large most of the code you'll write will be pure functional because they encourage this thinking. Haskell, another functional language, is pure functional. OCaml is therefore more practical because writing impure functions is sometimes useful."
https://ocaml.org/docs/functional-programming
> My complaint is that V claims to be pure...
"V is not a purely functional language however." (from V documentation)
https://github.com/vlang/v/blob/master/doc/docs.md#pure-func...
mawfig
"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 performing I/O.
rawoke083600
I don't have a horse in this race, but ive always enjoyed playing with new languages from all paradigms.
My goto "test" is doing a simple webscraper and put results in a db.
The above is important and where I(your milage may vary allllot) think many fail or fail to some degree:
Its 2022 your new lang should have above excellent support for:
1) Multicore:(async, csp, threads) I dont care which just that it should be excellent and not some added library
2) We live in a inter-connected work: Thus I require your language to have above excellent support for things like: Http, websockets, json, encryption, auth,dbs etc.
3) Really bring something new or make coding in an alternative a pain. (stupid example: going back to posix threads in c, after coding i. go with channels)
4) Ecosystem:Hit the ground running, dammit if i spend 20 minutes getting a hello world with an external library up its too much ! Looking at you Python having to weave magic spells to get the correct versions and environment just so" is a absolute pain.
5) Pattern matching, immutability, functional, typing: Yea this is where people get very passionate* :) You probably have to include atleast one the above.
That being said my hat and github stars go out to all pl designers ! You at least took a shot and shipped something ! Bloody well done to you all !
Also if you looking to tinker look at janet and joy(web framework based on janet)
PS: Ive tried v in the past and it really was too bad(no program in production yet)
PS2: My dream lang would be lisp-like(more clojure than lisp) that compiles to go ?
crazywulf
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 language is not even published. The community is small, active and also very friendly. I had a very good experience with Vlang in 2020 when I used it for Advent of Code and actually always got help when I got stuck with some bug.
pxeger1
I don't think this article contains any hatred. There is absolutely nothing wrong with an unfinished language - take a look at https://news.ycombinator.com/item?id=31775216 (2 days ago) for an example.
This article criticises V for presenting itself as a usable language, when it definitely isn't, with all these features which don't work.
crazywulf
I don't think it is fair to criticize the language like that without having "0.2 ALPHA" in the title of the ycombinator title and the article. In fact the hole article does not contain the word "alpha" or explaining the state once. It reads like that the language is expected to be ready and that all features need to work now, but they don't.
"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."
Also this point. Why does he recommend people to avoid the language. These people need contributors which help them to improve their language. It is open source. Maybe it is because I'm not native, maybe you are right.
I'm also curious if the author even tried to interact with the community/developers to get his examples to work. I'm not that good of a developer to rate the things he is claiming, so I don't know.
Hopefully he created some bugs on github so the developers have at least the chance to fix the issues he is talking about.
pxeger1
I don't really care that they don't write "unfinished alpha" in big letters (although it would be nice if they did).
I care that they claim it has "no undefined behaviour", "as fast as C", "has generics", when these things are simply not true.
To use Ante as an example again, they literally have a checklist in the README, listing what is and isn't implemented yet.
Tozen
> Why does he recommend people to avoid the language. These people need contributors which help them to improve their language. It is open source.
This is why the "critic" can also be interpreted (or misinterpreted) as another attack. It's one thing if this was a blog evaluating the claims of multiple programming languages, but it being a very specific and dedicated critic of V, looks strange.
To include it uses the term "we" a lot in the summary, as if it was a collaboration effort by a group of programmers directed at V. It is unknown who are the "we" being referred to.
"We’re able to create a null pointer (V reference) with no compiler errors or warnings."
"We weren’t able to shadow local variables."
If the evaluation was in the spirit of improving the language (as it is still alpha) or pointing out things that need to be addressed, then one would expect it to be presented as various issues or bugs on V's GitHub. There would not be any blindsiding or surprise, but an exchange between the evaluator(s) and V's developers and contributors.
Parts of the evaluation and summary are debatably subjective. The categories of purity, sum types, generics, speed, and compiling are among them. So getting direct feedback from the developers and contributors of V would have been much more fair and helpful.
amedvednikov
> I'm also curious if the author even tried to interact with the community > Hopefully he created some bugs on github
He didn't.
crazywulf
But I understand what you are saying. Back when I tried the language I expected an unfinshed state because of the version number, but I guess they should make more clear that the features are the goal and not the state what is working currently.
ylluminate
Funny, I've never had any misgivings or unfulfilled expectations so far. I suppose my "defaults" are a bit different than others. Very disheartening to see the world in such a state as people feel its necessary to waste times with negative activities vs trying to build and uplift.
Tozen
This is strong point that is conveniently overlooked. That the language is alpha and 0.2.4, should be clue enough that it is a WIP by default (at this point), by those that have actually tried it.
Valid criticisms of the language should arguably be more directed towards its issues on GitHub (https://github.com/vlang/v/issues), in addition to any blog or article, where the contributors and developers can address them.
When approached correctly, and not in an adversarial and combative way, I've seen the V community be very friendly and helpful.
sharedptr
I speak English proficiently I speak Chinese with no mistakes I can bend pipes with my bare hands.
Then when you speak to me you hear me speak Chinese well, then you see I can’t bend pipes nor speak English proficiently.
I presented myself to you and two of my self introduction claims were lies or half lies.
If you then feel like I lied to you then my answer is that I’m studying (Alpha)
This is what V was like 3 years ago and doesn’t seem like it has changed.
Tozen
By the way, the collection of snippets of V (Vlang) examples on Rosetta Code has become quite significant. People are demonstrating how to use it over there as well.
hunam
Adding a mention that V is still far from 1.0 in the title or at the beginning would have been honest.
somethingor
V’s Github description from October 2019 would have disagreed
https://web.archive.org/web/20191020121218/https://github.co...
Tozen
Hopefully what is not being suggested is that creators of open-source programming languages are not allowed to revise their release schedules, underestimate, or change the number of features it will have.
Languages such as Nim have took 11 years before reaching 1.0, so V is still doing comparatively well. V's pace of development has been quite fast and substantial. More comparable languages such as Zig and Odin have yet to hit 1.0 as well, and are many years older.
Yes, the pace of development is getting faster and user patience less, but V should still be afforded some leeway in this regard.
Get the top HN stories in your inbox every day.
I never understood the motivations behind V. It's clearly not a hobby project started out by a developer who is genuinely experimenting with PLs and want to put out something unique. It feels more like a stunt or a flair to either extort money or become famous. All that would be perfectly okay if V did what it claims to do but the author fanatically makes exciting claims but implements only fluff to hide the underlying broken machinery.
I tried V when it first got popular (about 3 years ago). I am no expert on languages but the way it was ductaped (AST-less compiler for "performance", a "graphic library" when even basic things don't work etc etc) made me eventually lose interest.
3 years later V is still mostly where I left it. If the V author focused on the stabilizing the compiler instead of starting off shoot projects like vui, vdb etc. it might actually work.