Hacker News new | ask | show | jobs
by cyber_kinetist 1529 days ago
The solution V seems to apply here is a bit more nuanced than that. They’re going in roughly the similar direction as Nim did with the new ORC, which is essentially keeping the GC but try to do some compiler analysis to insert free() calls at compile time as much as it can using scope-based memory management and move semantics. The confusing thing about V is that these design decisions aren’t written properly on the docs, so the author’s claims might feel like “selling snake oil” although it’s already implemented in another language with great success. It would have been much better if the creator of V had acknowledged any previous work done on the topic. Also, the choice of Boehm GC is a little bit disappointing, but understandable since it’s basically the easiest garbage collector you can stick it into a language (without designing your own GC). Maybe this will change later on.

Though I’m still not confident enough on the usability and stability of the language. Almost all claims of the usability/stability of the language seems to come from the main creator himself, I would like to hear some takes from people other than him who have used the language in any serious form.

1 comments

> keeping the GC but try to do some compiler analysis to insert free() calls at compile time as much as it can

This is correct.

> Also, the choice of Boehm GC is a little bit disappointing

Which one would you recommend?

> Almost all claims of the usability/stability of the language seems to come from the main creator himself

The creators of Vinix and vsql don't have any issues with the usability/stability.

>> Also, the choice of Boehm GC is a little bit disappointing >Which one would you recommend?

boehm is conservative. this is a costly and very unnecessary implementation for a language which already has a compiler and knows explicitly which values are pointers.

Thanks, will investigate.

We'll have our own GC in the future anyway.