13 ms·
How up-to-date is this [1] review from earlier this year for 0.3? Honestly, the review read nicely but left quite a questionable impression of V. [1] https://m
by ketzu 4y ago
How up-to-date is this [1] review from earlier this year for 0.3? Honestly, the review read nicely but left quite a questionable impression of V.
[1] https://mawfig.github.io/2022/06/18/v-lang-in-2022.html https://mawfig.github.io/2022/06/18/v-lang-in-2022.html
- amedvednikov 4y agoAll of the issues there were fixed several days ago, so it's no longer relevant. Since it was another anonymous attack, it's not going to be updated and will stay like this for years. And the issues discussed are questionable at best. Half the article is about a type checker bug, which was a 3 line fix. Then false claims like being able to modify array.len.
- capableweb 4y agoSlightly off-topic but this whole thing made me curious. I keep seeing V being "attacked" by various people with these kind of blogposts (or even HN accounts dedicated to criticizing V), with broad range of claims or counter-claims to what V wants to achieve. While this is maybe not completely absent when other new languages comes up (like Golang or Rust), it feels like V really brings out the people to come up with ways of criticizing it. Do you have any ideas about why or how come? Have you noticed anything in particular that makes people want to (almost) aggressively "prove" V to be wrong? Basically, do you have any guesses to why V seems to have more "enemies" out there, compared to lets say Rust or Go?
- colejohnson66 4y agoIMO, it's pretty simple. At the beginning, V was making huge claims that turned out to be false or misleading. The developer clarified that many of those features were actually goals. Fair enough. There's also the whole issue with blocking people who criticized the language (eg. Xe) because V was being "attacked" as if there's some conspiracy to destroy V. The claims may be outdated, but the response by the developers put many people off. V has made huge strides since then, but people are very resentful.
- amedvednikov 4y agoThere actually is such a conspiracy. People who wrote these articles literally wrote they wanted V to die. I'll make a detailed post about this next week.
- colejohnson66 4y agoWhile wishing V would die is extreme, many people are just resentful about how V treated criticism in the beginning. Not to mention that a conspiracy requires a coordinated effort. It's a lot more likely that blog writers are upset about something and decide to go on rants about other minutiae they find instead of submitting GitHub issues.
- amedvednikov 4y agoThere are coordinated efforts on discords to brigade such threads, there are entire new accounts created just to reply to each of my comments negatively (luckily just today HN banned such an account), this very post about V 0.3 was mass flagged 3 times and removed from the front page 3 times, there are articles that take a simple bug fixed by a 3 line commit, and make a huge deal out of it spending a month writing an attacking post. Who would spend a month to write an article about a type checker bug?
- colejohnson66 4y agoSimply, V is very divisive. So, some people who peruse HN but don't have an account will see a V post, and make an account just to comment. Humans are just irrational.
- amedvednikov 4y agoI don't creating an account and monitoring my comments and replying to them with attacks and trolling for 3 years is "just commenting".
- the_duke 4y agoYou might want to look into the somewhat dodgy history of the language. The negativity is not surprising. Though you may just be asking rhetorically to probe for a response from the founder, in which case, never mind.
- capableweb 4y ago> Though you may just be asking somewhat rhetorically to probe for a response from a supporter No, I was genuinely asking the question directly at the creator of the project, to understand their view of the contention they seem to be at the receiving end of. I know the history of the project, but it seems to me like most languages in their pre 1.0 make claims about what they would like the language to be, not what it currently is, but they still don't receive their criticism in such manner. Or maybe I'm just reading into it too much. Hence the question :)
- yellowapple 4y ago> most languages in their pre 1.0 make claims about what they would like the language to be, not what it currently is, but they still don't receive their criticism in such manner That's because those languages make those claims in future-tense rather than past tense; they explicitly state them as goals, rather than presenting them as if they're already implemented. For example, I wrote a tiny scripting language for Erlang/OTP apps called OTPCL, and I make it clear in the README which features are actually implemented (like the parser and interpreter) v. which ones are in progress (like the standard library) v. which ones haven't been started at all yet (like the compiler). Same deal with up-and-coming languages closer to V's use case, like Zig; there's a clear distinction between those three levels of completeness. V did not make that distinction originally; a large number of its radically ambitious goals were presented on the website as if they were already implemented, only to later be revealed to be "WIP" at best. A lot of people - including, at one point, Zig's creator - assumed malice here, figuring the disparity between the website v. the actual releases to be an attempt to swindle Patreon backers (I can't read the mind of V's author, but I would guess that it was more of a language/communication thing than anything outright malicious). In any case, that left a pretty negative first impression for a lot of folks, myself included - and while it seems V is making some progress, it's hard to get that bad taste out of my mouth and consider even trying it out when languages like Zig and Odin and Nim and Crystal seem to be a lot more transparent and realistic from the outset.
- amedvednikov 4y agoI have some guesses. I'll publish a big blog post about this. It will debunk all these "V is a scam" articles. Basically V appeared out of nowhere and got popular very fast. It took a lot of shortcuts: it was self hosted on release, GitHub started supporting it 1 month after the release, it had hot code reloading, fast compilation (v self is <1s [0]) and so on. People developing other languages and their communities didn't like it, and decided to attack it. There were 2 strategies: making completely false statements (like claiming that the V compiler has a dependency on glfw, so the no dependency claim is false, and claiming that V programs use libc, system's only official API, therefore again the no dependency claim is false) and nitpicking over bugs that are inevitable in a 0.1 language, and sometimes complaining that features explicitly marked as [wip] are not ready yet. One of the common questions I saw is "why release it if it's not ready". While that's the whole point of open source. I got lots of help from 500+ contributors and got to this point a lot faster. Then there was also a misunderstanding with the "preview" release one week before the source code was released, and many thought V was going to be closed source. Over this week unfinished features were not marked as [wip]. They were marked so after the open source release, and now there're no [wip] features on the website. Everything listed there is working in latest V. [0]: https://www.youtube.com/watch?v=pvP6wmcl_Sc https://www.youtube.com/watch?v=pvP6wmcl_Sc
- bheadmaster 4y ago> People developing other languages and their communities didn't like it, and decided to attack it. I honestly doubt this is the case. Aside from some cargo-culters (which are far from being a majority), most programming language enthusiasts are very welcoming to new languages and ideas they bring with them. I have never seen a "language war" happening this way. Personally, I admire the V's ambitions (if the autofree() ever reaches production-quality it would be a total triumph over Golang's garbage collection approach), but I dislike the unprofessional approach to the community (explained in many other comments - particularly false claims about language capabilities, deleting criticisms, unwillingness to admit shortcomings and making up excuses for each of them, etc.).
- amedvednikov 4y ago
- striking 4y agoI think the highly aspirational nature of the claims about V upon its original launch are why it attracted so much scrutiny. It claimed to do a lot of things and didn't clearly separate things that might be delivered in the future from those that would be features present in the language today. And, judging by the review linked upthread, as of last month this has remained the case. For this reason, I'm not surprised that the scrutiny continues.
- amedvednikov 4y agoIf you look at other posts in this thread, you'll see that this review is completely irrelevant since the bugs it complained about were fixed in several 3 line commits.
- striking 4y agoI won't pretend to be up to date on your language and what is fixed or working, but if it was so easy to fix these bugs that were apparently so trivial, why weren't they fixed before announcing / releasing the features? Even just communicating that a feature isn't done yet and may need a little more time (e.g. a beta tag) would go a long way in rebuilding trust with people outside your community. Meanwhile, defensive reactions like those I see in and around this thread make me feel like I trust you less.
- amedvednikov 4y agoI'm sorry but that makes completely no sense. "Why didn't you release software without any bugs?" That's not how the world works. And it's open source, where hundreds of contributors help you find and fix these bugs. That's the whole point.
- striking 4y agoAs I said in my previous reply, you're more than welcome to stick a beta tag on something that isn't ready for prime time yet. Take a look at Rust and their releases as an example of the ultimate in building a stable foundation that people trust. I'm not asking you to never ship a bug. I'm saying I don't trust you or your language and giving you an example of how you might regain my trust. Feel free to ignore my advice, but if your goal is to encourage more people to use your language instead of encouraging more people to fight you, maybe you could at least give the impression that you were willing to hear someone out instead of telling them their opinion doesn't make any sense at all.
- bragr 4y agoV has "enemies" because that's how they respond to people giving them constructive criticism and questioning their claims. Most authors would relish of thorough technical analysis of where their issues where so they could improve their new language and compiler, but not V it seems. They mostly seem to deflect with denial or claims the issues were 'nothingburgers', but if that's the case, it should be trivial to offer a rebuttal in the form of a blog post, but instead we get ad hominems and conspiracy theories.
- hunterb123 4y agoThe "nothingburger" you quoted is a single word you took from a reply chain in which amedvednikov explained the 800 byte "memory leak" was actually just GC overhead and expected. So it wasn't a memory leak, it is GC overhead, hence it being labeled as a "nothingburger". What specifically do you feel hasn't been resolved or addressed properly?
- bragr 4y ago>What specifically do you feel hasn't been resolved or addressed properly? The author responding constructively to criticism. The bugs may be fixed, but if the author can't calmly engage and link to the fixed commit, or give evidence that, for example, everything compiled with GCC leaks those 800 bytes, well that's a major red flag about the project management of V.
- amedvednikov 4y agoCompletely not true. We welcome criticism and feedback, we even have a topic with 800 messages called "What don't you like about V / what would you like to be changed?" https://github.com/vlang/v/discussions/7610 https://github.com/vlang/v/discussions/7610 Wishing V to die and making false accusations is not "constructive criticism". There will be a blog post next week.
- mihaigalos 4y agoThe community isn't too friendly, I'm sorry. In the cited thread, I've deleted my contribution because of the tone of the discussion (passive-agressive know-it-alls with smirk emojis): https://github.com/vlang/v/discussions/7610#discussioncomment-2243399 https://github.com/vlang/v/discussions/7610#discussioncommen... Is this how you welcome people to the community? I enjoy V and contributed several PRs which got merged, but there's definitely an attitude problem there. I gave up contributions because of it.
- avgcorrection 4y agoShould the null hypothesis be that all languages deserve equal praise & blame and thus equal amounts of negative & positive critique? Maybe this language deserves more criticism. Or people are biased against it. Could be either explanation, or something else. But there ain’t just one single possibility.
- wb13579 4y agoIt's because V made impossible promises, and used those to get donations. For example from wayback machine http://web.archive.org/web/20190520021931/https://vlang.io/docs#memory http://web.archive.org/web/20190520021931/https://vlang.io/d...: "(Work in progress) There's no garbage collection or reference counting. V cleans everything up during compilation. If your V program compiles, it's guaranteed that it's going to be leak free." When people called him out for this saying that this was impossible he doubled down on it and said that it's fine to say things like that because of the "work in progress", as if it was coming. It turns out, it was impossible. V eventually had to add reference counting. The worst part is that he used lies like this to get thousands of dollars from Patreon sponsors. It seems like he's trying to clean up his act, but he's still making some dubious claims. He claims to have invented an "innovative and flexible memory management" reference counting algorithm that removes 80-90% of overhead. But there's no way to do that with mutable data, as far as i know. And sure enough, it doesn't work, users are still told to use the garbage collection option. If that turns out to be true, I might change my mind, but I fully expect that it's a false promise too.
- amedvednikov 4y agoIt does work, and there's a 1.5 year old working demo: https://www.youtube.com/watch?v=gmB8ea8uLsM https://www.youtube.com/watch?v=gmB8ea8uLsM 0 GC is used. None of the people who ever donated or are still donating felt they were being scammed. They often write about this here on HN.
- wb13579 4y agoA demo, sure. But answer us this: does autofree ever crash, and does autofree ever leak?
- amedvednikov 4y agoA 0.3 language feature that is marked as "not ready for production" on the website have bugs. How unexpected.
- Tozen 4y ago> Basically, do you have any guesses to why V seems to have more "enemies" out there, compared to lets say Rust or Go? You have to keep in mind that V is an up and coming language, that is an alternative to Go, and somewhat to Rust. V is in the categories of C and Go alternatives. There are many other competing languages in V's categories, such as Zig, Odin, Nim, etc... Not too hard to see how "enemies" and rivals can "pop out of the woodwork" to take shots, the more popular that V becomes or the more they might feel that V is a threat to their interests. As for Go and Rust, they are backed by major companies, where "enemies" of their language will simply not get any or little media "airtime" nor enough traction to establish a negative public narrative that can stick. You can attempt to say something negative about them, but will be ignored or drowned out in various ways.
- Tozen 4y ago> ...it feels like V really brings out the people to come up with ways of criticizing it. V is an up and coming language in the categories of both C and Go alternatives. This means a wide range of competitors and "acolytes" who may "come out of the woodworks" to take a shot at a rival, at anytime. The more popular they believe V is becoming or the more threatened by it that they may feel, the more likely we are to see "shots fired". This is not to say that various criticisms are not or will not be valid. In fact, constructive criticism can be good and healthy. Among them, bringing bugs and issues to the attention of developers or having technical discussions with the language's community. But, the negative or non-constructive acts (attack blogs, downvoting, flagging, gaslighting, trolling, etc...) do shed light on some of the odd heavy-handed, sneaky, or aggressive vibes that many of us can see. It demonstrates the intentions of bad actors or those acting in bad faith. > ...absent when other new languages comes up (like Golang or Rust)... Golang and Rust are backed by major companies. They do have plenty of "enemies" and competitors taking shots at them, but they aren't given the media "airtime" for their negative narratives to stick and their attempts get drowned out by the size of the language's userbase or amount of "infomercials". Various other newer languages simply lack the popularity, userbase, or sponsors for most to even take notice or care. So they are simply not talked about.
- raphlinus 4y agoThe claims made in that blog post are easily verifiable. Your claim that all issues have been fixed was hard to believe, so I checked myself. The first two have indeed been fixed (these involve printing "nil" for a null pointer rather than crashing), but the third (undefined behavior on integer overflow) still reproduces. I didn't go through the rest of them, but expect a similar pattern. I encourage people following the progress of the V language to look at actual facts rather than trying to evaluate claims based on the language of those claims. One of the reasons why V is so divisive is that a lot of untrue claims are being made (unusually so for a programming language), and people don't respond well to that being called out.
- hunterb123 4y ago> The first two have indeed been fixed > I didn't go through the rest of them, but expect a similar pattern. You verified two issues were fixed, ran into one issue and then you expect a similar pattern of what exactly...? Why didn't your comment go like this: "Hey I went through to verify the these issues were fixed and I'm getting an undefined behaviour on integer overflow, here is how I tested (show code), are you able to reproduce this?" That would be much less divisive and result in a proper discussion. I think you'll find if you try to "call" people out instead of asking questions you'll be met with the same tone you gave them. -- EDIT - replying to @paskozdilar below -- It could be that GP tested incorrectly? Since things are getting so serious shouldn't we see the code GP used to test before mob shaming? You seem to be jumping to the conclusion the issue is not fixed. I don't think hurling "narcissism" is needed at all here.
- paskozdilar 4y agoSimilar pattern of false claims. Author has clearly stated that "all issues are fixed". The other guy found one unfixed issue. That makes the author's statement false. I don't trust a person that lies, especially when they lie with such conviction and confidence. Reeks of narcissism. -- EDIT - replying to @hunterb123 above -- I have reproduced the same error as in blogpost.
- raphlinus 4y ago
- ketzu 4y agoSo, the review was my only contact with V until today, and I have to say your response seems unnecessarily hostile. I understand there night have been a lot of negativity around your project and it seems to be successful despite these, so nice for you. The post seems to spend quite a lot of time on the V language and discussing it, so I got curious and put in some of the examples into V for windows. The results seem to be different, but my knowledge on V is too low to understand the implications fully. The "No null" experiment does not give a segmentation faul, instead it prints &nil. That seems to be effectively a null value to me though. Adding another layer of null dereferencing creates an access violation/sefault. The undefined behaviour for integer overflow is the exact same as in the post. (edit: and in the github issues it is marked as "won't fix" it seems V does not care about creating undefined behavior in the generated C code, just that the behavior is defined within V.) The overwriting of len for the array seems to be fixed as the capacity is increased to the value of len seems to return nil references now. The immutable->mutable trick seems to be caputred by the type checker. The remarks on included libraries seems to hold, as well as the "simple webserver" being 2MB when compiling (although openssl seems to be included now). I have no motivation to redo all the other experiments in the blog post. And your response as well as the small checks leave me not-very-impressed with V, as I can't take any of the claims on the website seriously like that. If you claim it is a v0.1 or v0.3 language, sure, make a list of features that actually exist or a roadmap when they are reached. This is especially true for the "novel memory management" which seems optimistically to assume it worked before when a changenote is included that the compiler doesn't leak memory anymore by default. That is not particularly instilling confidence, although it's the right direction.
- amedvednikov 4y agoThe post is unnecessarily hostile. Created by a new anonymous account, with the goal of attacking V and "not recommending to use it". Also with referencing the notorious ridiculous "V is vaporware" articles, it's pretty clear what the goal of the author was. It'd take 10 minutes to submit github issues, instead they spent a month on this. Null is only allowed in unsafe code. Overwriting of len was never fixed, because it was never an issue in the first place. The author made it up. It's always worked like in Go. Included libraries, you mean the json library that's part of vlib. So each Go program that uses net.http also has library dependencies by this logic.
- nabakin 4y agoI think you're missing the point here Alex. The amount of work you've put in, the number of projects you've made, and the drive you have are amazing. Everyone wants you and V to succeed but you make claims that are not true yet. You claim V has safety features but if it's trivially easy to exploit those safety features, then you don't actually have safety features. You claim V is as fast as C but there are many many many cases where V is slower than C. On average, V seems to be much slower than any compiled language. You claim V can compile a million lines of code in a second when that is not the average case. You claim V can do so many things but each time someone actually tries to verify those claims, it turns out there are many cases where it's not true or only true in one very narrow, specialized case. When people read "V compiles itself in less than a second", they expect V to compile itself in less than a second for the general case (not just one very specific case). When people read "as fast as C", they expect V programs to have the same runtime as equivalent programs directly written in C. When people read "no null, no globals, no undefined behavior, immutability by default", they expect there to be no issues with this 99% of the time. When people read "Despite being at an early development stage, the V language is relatively stable", they don't expect this number of issues. I could go on, but the V documentation is filled with this. In my opinion, if you keep going in this direction, no one will ever take V seriously. You might get some GitHub stars, you might get some inexperienced language developers helping you out, but if people can't trust V's claims, if V's claims continue to not hold up, no one will use V anything more than casually. The simple solution to this is to walk back your claims and preface everything as unstable which is more accurate. Your GitHub description should make it obvious this is an experimental language with many issues. You should only list features in your README which are true and work for the average or general case. Any other features can be listed somewhere else as in progress or testing. Toning down your marketing is all it takes to earn back some trust.
- amedvednikov 4y ago> You claim V is as fast as C but there are many many many cases where V is slower than C. On average, V seems to be much slower than any compiled language. This is false. > Everyone wants you and V to succeed The same people who write articles about V and say V should die?
- gompertz 4y ago
- amedvednikov 4y agoYou're absolutely right! Reporting these issues wouldn't take a month, like the article, and they'd be fixed right away, as they were after the article was published.
- ketzu 4y ago> For what it's worth, every GitHub project has a mechanism for submitting issues. It's better Open Source spirit to utilize these tools as intended. Are project issues the right place for reviews of claims? Negative point sure would be nice to have as github issues (and checking for some easily searchables: they seem to exist [1,2]) but many of the points in the review don't suite issues well. I don't think "you can open tickets" would be a useful response to "wat" [3] either. Alternatively your suggestion was for me to wade through the issues to figure out if the critizism holds, which I find is not a helpful suggestion either, as many of them are not particularly well searchable. Also, I assumed, as the review got a bit of attention and the creator was in the thread, it would lead to an interesting response a-la "we are aware, fixing it, many fixed already, here is our roadmap" with possible discussion. I am a bit saddened that it turned out to be much more hostile and negative. [1] https://github.com/vlang/v/issues/11059 https://github.com/vlang/v/issues/11059 (won't fix undefined behavior in generated code) [2] https://github.com/vlang/v/issues/7519 https://github.com/vlang/v/issues/7519 (fixed missing openssl header) [3] https://www.destroyallsoftware.com/talks/wat https://www.destroyallsoftware.com/talks/wat
- amedvednikov 4y agoAll the issues in the post have already been fixed. What's wrong with the division by zero issue? It works just like in Go? What about the openssl issue? The user didn't install the library on Windows, as was documented. By the way, we're going to embed openssl to avoid this problem.
- 4y ago
- xiphias2 4y agoAs Rust proved it fast, safe and simple don't go together (fast and safe requires borrow checking on the data types, which is complex).
- Tozen 4y agoThat "review" was a thinly disguised hit piece against the V language. 1) The "review" is now significantly wrong and already outdated. Doesn't mention it is reviewing an Alpha or even the version. Anything of substance in the review was mostly minor and has already been fixed: https://github.com/vlang/v/issues/14803 https://github.com/vlang/v/issues/14803 https://github.com/vlang/v/issues/14787 https://github.com/vlang/v/issues/14787 https://github.com/vlang/v/issues/14786 https://github.com/vlang/v/issues/14786 2) The author of the "review" used a throwaway account for the apparent purposes of recommending to not use V. The author of the "review" can run away and hide, where the creators and developers of V are accountable to the public and supporters. This includes that the author of the review never has to update or make corrections to his hit piece, while still spreading links to it all over the internet. 3) The "review" is used as a linked reference document for further attacks by competitors and detractors. And as has already happened on various other internet sites, including here. 4) If the author of the "review" was really eager to use and fix the V language, he could have brought those issues (he has a GitHub account) to the V GitHub (https://github.com/vlang/v/issues https://github.com/vlang/v/issues). Who is going to fix any issues that the author believes is a problem? It is going to be the V developers. So if the author of the review wanted those things that he believes are a problem fixed, that's who he has to bring them to. 5) The author of the "review" starts it by linking to a number of very contentious posts from competitors and detractors of V, to include those that smear the author and language. This turned the "review", right off the bat, into setting off drama. A smear campaign on the V language will never get any of the issues fixed on its own, just only invite more drama, smearing, and attacks. Which looks like the original intent. 6) The author of the "review" has shown no interest in working with V developers, and that's prior to publishing the review and spreading links to it. No intent has been shown to modify his review for correctness, fairness, or language version. 7) The author's review doesn't provided the necessary context and is highly opinionated. Without feedback or the opinions of the V developers, this is a one-sided negative review full of many debatable points, that does little to help readers outside of trying to produce a negative impression and smear the language. If the review author is not interested in working with V developers, and rather produce and disseminate drama or facilitate smearing, then that's a reflection of their real intent.
- 4y ago
- ken0x0a 4y agoThank you for digging! I really appreciate your attention. There are lots of bug fix in 1 year, and will be better time by time. I started to use Vlang 1 year ago, and I created lots of ISSUES on GitHub, and most of them are already fixed. I like Vlang (also like Rust and ...) so, I'm happy for your attention & deep insight. I hope you to dig and share again sometime.