10 ms·
All 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 s
by amedvednikov 4y ago
All 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".
- colejohnson66 4y agoThere's definitely trolls; I wasn't trying to imply otherwise. There's always going to be people who think your project is stupid, and it'll only get worse as the project grows. I think the best solution is to just ignore them.
- gompertz 4y agoIt's great you're level headed on this. As an indirect measure, I've perused the Discords of competing languages and the vibe is a world apart in terms of maturity, age group, topics (bullying is very prevailing, talking politics rampant, excessive anime) - essentially unmoderated reflections of character. So it's no wonder that if that's the community forged behind the scenes (in those competing languages), that it's going to bleed out and become issues elsewhere - and V is one such topic that seems to be commonly targeted by those groups.
- Shadonototra 4y agoZig's author also publicly attacked V There was a lot of jealousy when V was announced Looks like the ones who need to self-reflect is Zig, they still don't have a self hosted compiler, meanwhile V compiles itself in less than a second
- amedvednikov 4y agoYeah he was the first to call me a scammer and claimed V had a dependency on glfw. He was really persistent with his attacks, even received a warning from dang. I found it really surprising, because before the release he wrote: > Wow, that's incredibly fast. Self-hosted in 2 weeks? Hot code reloading? This is everything I plan to do with Zig, but apparently done already. How did you do it so quickly?
- williamstein 4y agoCan you provide a link for that quote? I want to read it in context, and my attempts searching the web only brings me back here and another place with this quote without a reference. Thanks!!
- raphlinus 4y agoIt's legit, here you go: https://news.ycombinator.com/item?id=19086589 https://news.ycombinator.com/item?id=19086589 I'll also add, my personal reading of the quote has more than a note of "this sounds too good to be true." But that could well be a matter of interpretation.
- Shadonototra 4y agoit not that comment, there was some attacks after that https://twitter.com/andy_kelley/status/1142503808901308418 https://twitter.com/andy_kelley/status/1142503808901308418 I can't find the article where he mentions that it is a scam, i also remember people attacking the patreon backers This tweet seems to be an apology so i guess we can move on EDIT: there i found it: https://news.ycombinator.com/item?id=20230351 https://news.ycombinator.com/item?id=20230351
- 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?