<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: vlang1dot0</title><link>https://news.ycombinator.com/user?id=vlang1dot0</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 04 Jun 2026 12:09:33 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=vlang1dot0" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by vlang1dot0 in "Go runtime: 4 years later"]]></title><description><![CDATA[
<p>It has an automated release generated every week. The could be no commit activity whatsoever and there would still be 52 "releases" of V every year.<p>It's one thing to like V but it's another to constantly repeat misleading information in an attempt to give it more credence than it has.<p>Even V's own changelog only contains 28 releases (mostly from the 0.1 era in 2019 - early 2020) not "hundreds" like you've claimed.<p><a href="https://github.com/vlang/v/blob/master/CHANGELOG.md" rel="nofollow">https://github.com/vlang/v/blob/master/CHANGELOG.md</a></p>
]]></description><pubDate>Tue, 27 Sep 2022 23:46:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=33002629</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=33002629</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33002629</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "V 0.3"]]></title><description><![CDATA[
<p>I don't see how that really follows. V heap allocates any value which is address taken. You don't need to be an advanced C programmer to use pointers.</p>
]]></description><pubDate>Fri, 01 Jul 2022 23:35:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=31954432</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31954432</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31954432</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "V 0.3"]]></title><description><![CDATA[
<p>They've been working on C2V for a long time now and even still it falls over quickly for anything other than the exact version of doom they are using. Multiline comments crash the tool for instance.</p>
]]></description><pubDate>Thu, 30 Jun 2022 11:00:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=31930879</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31930879</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31930879</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "V Language Review"]]></title><description><![CDATA[
<p>You only merged it one hour ago.<p><a href="https://github.com/vlang/v/pull/14805" rel="nofollow">https://github.com/vlang/v/pull/14805</a><p>Over promising (hardly a one line patch) and under delivering (well beyond your "it will be fixed today" statement) as usual.</p>
]]></description><pubDate>Tue, 21 Jun 2022 11:15:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=31822594</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31822594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31822594</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "V Language Review"]]></title><description><![CDATA[
<p>Did you even bother to read what he pasted? Tcc is used in the first set of commands that do not terminate.</p>
]]></description><pubDate>Mon, 20 Jun 2022 22:33:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=31817058</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31817058</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31817058</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "V Language Review"]]></title><description><![CDATA[
<p>How's that "one line" fix in the type checker coming? Looks like it wasn't fixed yesterday.</p>
]]></description><pubDate>Mon, 20 Jun 2022 22:28:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=31816999</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31816999</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31816999</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "V Language Review"]]></title><description><![CDATA[
<p>Your demo includes code that uses manual memory management because of autofree bugs.<p><a href="https://github.com/vlang/ved/blob/9b85e6291c9fe9135db1e300de6a1349dd5f1e6a/ved.v#L660" rel="nofollow">https://github.com/vlang/ved/blob/9b85e6291c9fe9135db1e300de...</a></p>
]]></description><pubDate>Sun, 19 Jun 2022 17:33:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=31801471</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31801471</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31801471</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Modern programming languages require generics"]]></title><description><![CDATA[
<p>Yes, technically you can do that but it makes no sense from a design point of view to have a language that cares so much about safety it adds a borrowing system but then says "fuck it" to type safety.<p>You have to have type safety to have memory safety and that was the whole point of Rust.</p>
]]></description><pubDate>Tue, 24 May 2022 22:25:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=31498246</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31498246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31498246</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Rust: A Critical Retrospective"]]></title><description><![CDATA[
<p>If the US gov decides to project its will on your software project, an ISO standard is not going to help you at all. They will sabotage the ISO process, or force your hosting provider (GitHub) to remove your project or apply changes to it, or just kidnap your maintainers and beat them with wrenches until they comply[0].<p>If your threat model legitimately considers the US gov to be a hostile actor, you need far more than a piece of paper that claims what the behavior of your compiler is.<p>[0]: <a href="https://xkcd.com/538/" rel="nofollow">https://xkcd.com/538/</a></p>
]]></description><pubDate>Thu, 19 May 2022 15:33:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=31436042</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31436042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31436042</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Our Experience Porting the YJIT Ruby Compiler to Rust"]]></title><description><![CDATA[
<p>I see about 1k lines of new tests, probably 500-600 lines of build system integration across various files, nearly 1k lines of cargo lock file information for dev dependencies and the Rust code appears to be more highly commented than the C code was.<p>Sounds to me like you already decided what your conclusion was and are just looking for data to back it up without actually analyzing it.</p>
]]></description><pubDate>Thu, 12 May 2022 01:13:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=31348036</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31348036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31348036</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Our Experience Porting the YJIT Ruby Compiler to Rust"]]></title><description><![CDATA[
<p>According to the article:<p>> YJIT is a relatively simple JIT compiler that totals about 11,000 lines of C code.</p>
]]></description><pubDate>Wed, 11 May 2022 20:04:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=31345039</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31345039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31345039</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Hello V-Lang"]]></title><description><![CDATA[
<p>So no actual response to objective criticism just "my interpretation is things are going well so they can claim anything they want"? Wow, what a compelling argument you make!<p>If you want to look at GitHub, sure let's do that. I see perhaps 5 regularly active contributors, many more who seem to have left the community, and a downward slope of commit activity starting in April 2020. Hardly some vast hub of activity like your comment would suggest.<p>Given autofree has been practically untouched in 6 months with no major bug fixes to speak of, reality would seem to be that V is on the slow road to nowhere. At the current rate of progress, I doubt we'll see 0.3 before mid 2023 and 1.0 perhaps sometime in the 2030s. It's been 6 months since anything was completed on the 0.3 checklist:
 <a href="https://github.com/vlang/v/commits/master/ROADMAP.md" rel="nofollow">https://github.com/vlang/v/commits/master/ROADMAP.md</a></p>
]]></description><pubDate>Mon, 18 Apr 2022 11:32:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=31069396</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31069396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31069396</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Hello V-Lang"]]></title><description><![CDATA[
<p>Are you arguing it's fairer to say V's default is to ignore managing memory at all?</p>
]]></description><pubDate>Mon, 18 Apr 2022 11:13:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=31069306</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31069306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31069306</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Hello V-Lang"]]></title><description><![CDATA[
<p>So, you're saying C2V is closed source then? Which is exactly what Alex said isn't true.</p>
]]></description><pubDate>Mon, 18 Apr 2022 01:42:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=31066408</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31066408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31066408</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Hello V-Lang"]]></title><description><![CDATA[
<p>Really?<p>- No null<p>Then what is `voidptr(0)`?<p>- No global variables<p><a href="https://github.com/vlang/v/blob/master/doc/docs.md#global-variables" rel="nofollow">https://github.com/vlang/v/blob/master/doc/docs.md#global-va...</a><p>At least add "by default" to the web site.<p>- No undefined values<p>Which is done by initializing all values to 0. Probably not a good idea to do that for references though. (See also "no null values")<p>- No undefined behavior<p>`*voidptr(0)` is accepted by the compiler. Unsigned integer overflow is accepted by the compiler and UB in the generated C. How can V generate C code free of UB when it can't even generate C code that compiles all the time?<p>- Pure functions by default<p>Excluding I/O, one of the biggest sources of impurity, from your definition of pure is useless.<p>- Generics<p>You don't actually have generics, you have templates. Kind of ironic since Go has actually added generics before V has managed to get a 0.3 release out. The distinction is this: with generics the compiler is able to validate that the generic code type checks prior to substitution/monomorphization. With templated code, it's not possible to perform type checking until the concrete types have been instantiated. V implements templates with all the drawbacks including code bloat and inflated compile times that comes with it.</p>
]]></description><pubDate>Sun, 17 Apr 2022 22:00:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=31064891</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31064891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31064891</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Hello V-Lang"]]></title><description><![CDATA[
<p>So how do you plan to make autofree work without move semantics, an ownership model or borrowing annotations? If your answer is "like Lobster", then how do you plan to deal with the semantic differences between those languages which the Lobster model relies on?</p>
]]></description><pubDate>Sun, 17 Apr 2022 21:33:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=31064692</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31064692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31064692</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Hello V-Lang"]]></title><description><![CDATA[
<p>No, "it's fast because it's C" doesn't hold. You can write slow code in any language.</p>
]]></description><pubDate>Sun, 17 Apr 2022 21:30:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=31064674</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31064674</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31064674</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Hello V-Lang"]]></title><description><![CDATA[
<p>Could you point to the C2V source?</p>
]]></description><pubDate>Sun, 17 Apr 2022 21:20:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=31064618</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31064618</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31064618</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Hello V-Lang"]]></title><description><![CDATA[
<p>The reason V is so controversial is that it separates nearly everyone who looks at it into two diametrically opposed groups: those who have some experience or knowledge of programming language design and implementation and those who do not. The first group are generally the "detractors" and view every concession made to the impossible set of features as a reinforcement of their belief that the language cannot work as advertised. The second group sees every concession as a step closer to the eventual goals, sure that it's simply a matter of time and one more bug fix until the promised result is achieved.<p>Because of this dichotomy, there cannot be completely objective discussion about the language. I would strongly urge anyone thinking of spending time on V to first examine it closely and see if it holds up to detailed scrutiny. In my opinion, V does not and the author knows this but deliberately pretends otherwise for his own personal gain.  Of course, you should not solely take my word for this any more than you should take Alex's to the contrary. Consider, if it really was so easy to build a language with the speed of C, the ease of use of Python and the simplicity of Go, why haven't those languages with orders of magnitude more funding simply done so? There are fundamental tradeoffs to language design and it's clear the author does not understand this.<p>The core problem with V is that while many language implementations tread a middle ground between the "just get an MVP out so users can give feedback; ship fast, ship often; as long as it works" engineering mindset and the "ivory tower" academic mindset, V picks the former while giving the finger to a burning pile of compiler books. The author appears willfully ignorant of the basic tecnhiques used to build compilers even going so far as to state that V won't use an abstract syntax tree because "AST is going to require lots of extra CPU power and RAM" [1]. The author later discovered that implementing an AST was actually necessary to make developing the compiler easier and made the compiler <i>faster</i> not <i>slower</i> as he originally proclaimed [2].<p>A few notes on the advertised feature list:<p>- cross-compilation<p>Cross compilation in V depends on having a C compiler toolchain present for the given target. That is to say, V's cross-compilation story is exactly the same at present as C's is. I'm sure some one will mention the "native backend" which has recently started to be able to build "hello world" without miscompilations. Until such time as it is able to build even slightly complex programs, this is a complete non-sequitur.<p>- native GUI toolkits<p>Native in this context means "compiled code", not that it uses the platform's native UI toolkit. V-UI draws it's own components to the screen and does not use native platform libraries at all other than to open a drawing surface.<p>- auto-free engine that adds necessary free() commands<p>Autofree does not work anywhere close to as well as advertised. Autofree will both leak memory in trivial programs [3] [4] [5] [6] as well as introduce use-after-free and double-free Undefined Behaviors [7] [8] [9] [10]. The autofree Ved demo required changes to Ved to work around autofree's broken state [11].<p>Autofree cannot work as well as advertised (90%+ of variables handled automatically, down from 100% orignally) without extensive inter-procedural analysis which doesn't exist [12] and would destroy V's compiler performance claims if it did. For anyone who still thinks there might be something to autofree, please explain how this logic for inserting a call to free could possibly be sound [13]:<p><pre><code>    mut af := g.is_autofree && !g.is_builtin_mod && node.op == .assign && node.left_types.len == 1
  && (node.left[0] is ast.Ident || node.left[0] is ast.SelectorExpr)
</code></pre>
- profiler<p>The profiler works by adding instrumentation calls to every function generated in your binary [14]. This can completely change the performance of your program and invalidates the results produced. No mention of this problem exists anywhere in the documentation.<p>In conclusion, people need to stop treating this as some kind of serious up-and-coming language and instead see it as the massive pile of poorly implemented hacks it is.<p>[1]: <a href="https://github.com/vlang/v/issues/1255#issuecomment-513565054" rel="nofollow">https://github.com/vlang/v/issues/1255#issuecomment-51356505...</a><p>[2]: <a href="https://github.com/vlang/v/issues/4128" rel="nofollow">https://github.com/vlang/v/issues/4128</a><p>[3]: <a href="https://github.com/vlang/v/issues/14033" rel="nofollow">https://github.com/vlang/v/issues/14033</a><p>[4]: <a href="https://github.com/vlang/v/issues/13821" rel="nofollow">https://github.com/vlang/v/issues/13821</a><p>[5]: <a href="https://github.com/vlang/v/issues/13539" rel="nofollow">https://github.com/vlang/v/issues/13539</a><p>[6]: <a href="https://github.com/vlang/v/issues/12201" rel="nofollow">https://github.com/vlang/v/issues/12201</a><p>[7]: <a href="https://github.com/vlang/v/issues/13554" rel="nofollow">https://github.com/vlang/v/issues/13554</a><p>[8]: <a href="https://github.com/vlang/v/issues/13398" rel="nofollow">https://github.com/vlang/v/issues/13398</a><p>[9]: <a href="https://github.com/vlang/v/issues/12455" rel="nofollow">https://github.com/vlang/v/issues/12455</a><p>[10]: <a href="https://github.com/vlang/v/issues/12453" rel="nofollow">https://github.com/vlang/v/issues/12453</a><p>[11]: <a href="https://github.com/vlang/ved/commits?author=medvednikov&before=0cc6d72b6ac12724ec424a47f8611b7ca9d7f948+35" rel="nofollow">https://github.com/vlang/ved/commits?author=medvednikov&befo...</a><p>[12]: <a href="https://github.com/vlang/v/search?q=is_autofree" rel="nofollow">https://github.com/vlang/v/search?q=is_autofree</a><p>[13]: <a href="https://github.com/vlang/v/blob/704e3c6e7275336b5b4f8da2743871f1ee7d5b25/vlib/v/gen/c/assign.v#L30-L33" rel="nofollow">https://github.com/vlang/v/blob/704e3c6e7275336b5b4f8da27438...</a><p>[14]: <a href="https://github.com/vlang/v/blob/3fa9128716cdc8a794b2ec0be4fb2be454ea25ee/vlib/v/gen/c/profile.v" rel="nofollow">https://github.com/vlang/v/blob/3fa9128716cdc8a794b2ec0be4fb...</a></p>
]]></description><pubDate>Sun, 17 Apr 2022 19:42:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=31063731</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=31063731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31063731</guid></item><item><title><![CDATA[New comment by vlang1dot0 in "Chris Lattner left Swift core team"]]></title><description><![CDATA[
<p>This feels intentionally ignorant of the state of Rust considering there is more funding and more people paid to work directly on Rust than any prior point in the project's entire history.</p>
]]></description><pubDate>Mon, 21 Feb 2022 23:45:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=30422277</link><dc:creator>vlang1dot0</dc:creator><comments>https://news.ycombinator.com/item?id=30422277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30422277</guid></item></channel></rss>