
Ask HN: What do language designers think of VLang? - mrath
I see vlang (https:&#x2F;&#x2F;vlang.io) in github trending repos(https:&#x2F;&#x2F;github.com&#x2F;trending). I have looked at this some time back and it looked too good, basically go with a hint of Rust. I have few questions to hard core compiler engineers and other PL experts.<p>What vlang is trying to do is possible with out a GC of any kind(including ref counting)?
If yes, why none of the modern PLs took this route?
======
lucozade
The author's claims are fairly loosely worded so it's hard to make much of a
determination until the relevant code ships in some form.

For example, the documentation claims both no memory leaks and C/C++
translation. It's not possible to do both in general because C and C++
programs can have memory leaks. Presumably what the language will end up with
is the ability to translate some subset of C and some subset of C++
automatically. That may or may not be generally useful depending on the
details of the subset.

Even the claim of no memory leaks itself is a bit suspect. GC'd languages
don't make that strong a claim. With a sufficiently restrictive language, it's
probably possible to achieve but I'm not sure how useful that language would
be. My guess is that it'll probably morph into a claim about memory safety
which is more reasonable.

Finally, please don't take this as a criticism of the language. It's still too
early to have a sense of that. It's perfectly possible for the language to
fall some way short of its pitch and be really great. But that's obviously
caveated by a variation of the old adage that all of the code I haven't
written yet is bug free.

------
rurban
This memory model would be possible and practical without references. mut off
by default, nice. pure by default, nice. Allocate everything on the stack
(hopefully with overflow checks unlike rust), but change internally to heap
allocation with automatic scope tracking and deallocation (easy with gcc or
clang). copy by default.

But with threads and refs you need more than that, namely ownership tracking
and compile-time errors on wrong argument attributes (mut, ref). Imho V does
nothing of that. To ensure concurrency safety, like in Pony. And haven't
checked if stack overflows are caught on recursive calls, or if tail call
conversion is done, to make it practical even with the stack limitations.

What I really liked of V was the OO system.

