The Linux source (!binary) compatibility target is exciting. Will be nice to carry over Linux modules/drivers + software. The initial PS/2 keyboard support just landed (https://twitter.com/v_language/status/1402193052941312002).
I remember shenanigans when V was first announced (release date for public preview, but for a little money you get early access), people being upset that it was half-baked, etc. and wrote it off, but I've heard that it has since changed a ton and is nothing like the early days.
Can someone familiar with recent V developments comment on this? It makes bold promises that would be awesome to see realized, but I got the feeling there was just a lot of smoke and mirrors going on in the early days.
Things have improved but it's not clear the author realizes the magnitude of what he's trying to do.
The big ticket item is the autofree memory management system which promises near C/Rust performance and minimal overhead without the complexity of borrowing and ownership. To date, this system does not work and is "wip" as the vlang community likes to say. There are also no clear explanations of how it works beyond just "it inserts calls to free() when you are no longer using a variable" which is ... extremely obvious. The more interesting question of how the compiler determines something is no longer being used in the face of aliasing and no borrowing system is completely unanswered. No one working on the project understands how complex that problem is. Initially the goal was that this system would manage all memory for the programmer automatically, this goal has since moved to "manage 90% of objects in memory and use GC for the rest". I suspect we will see that number continue to drop as the author realizes this is intractable without whole program analysis (which they can't do and still hit their compilation time targets).
Other items are very much in an alpha state if they work at all. Only in the last month have you been able to create a generic function with more than one type parameter, although V has been claiming support for generics since at least last year. There's still no ability to constrain the type parameter to something that implements an interface/trait/protocol.
C2V, another wildly ambitious project that could literally be a PhD project in automatic language translation, was supposed to be released "this week" 5 weeks ago. It's currently in a very private alpha and no source has been released.
Which is basically the state of most of the author's projects: huge promises in terms of features and performance with most of them little more than demos. I've come to believe this is an intentional strategy by the author to maximize his Patreon revenue. He makes big promises on social media and then delivers the easy 20% of the project to his followers before switching to another project. It would make far more sense to release a finished project before starting another massive one and yet he can't sit down and finish a project because he knows he can't actually deliver what's been promised.
Not only did this project make a lot of false claims about itself but also other existing programming languages. This included Nim (which I am one of the core devs on).
It’s rather sad to see people get roped in by these claims. This project is a true example of how far pushing false promises and lies can get you and it makes me a bit sad about the world.
You mentioned this in another comment but how do you feel about the other new systems level programming languages and how they compare to V like nim, zig, rust etc.
I want to ask V community a question, as they advertise their language as safe, what do they mean by safety and what does V compiler do to maintain this safety?
[+] [-] spicybright|4 years ago|reply
I never heard of V so I looked it up:
https://vlang.io/
An implementation of 2048:
https://github.com/vlang/v/blob/master/examples/2048/2048.v in V
[+] [-] ylluminate|4 years ago|reply
[+] [-] ylluminate|4 years ago|reply
[+] [-] maccam912|4 years ago|reply
Can someone familiar with recent V developments comment on this? It makes bold promises that would be awesome to see realized, but I got the feeling there was just a lot of smoke and mirrors going on in the early days.
[+] [-] vlang1dot0|4 years ago|reply
The big ticket item is the autofree memory management system which promises near C/Rust performance and minimal overhead without the complexity of borrowing and ownership. To date, this system does not work and is "wip" as the vlang community likes to say. There are also no clear explanations of how it works beyond just "it inserts calls to free() when you are no longer using a variable" which is ... extremely obvious. The more interesting question of how the compiler determines something is no longer being used in the face of aliasing and no borrowing system is completely unanswered. No one working on the project understands how complex that problem is. Initially the goal was that this system would manage all memory for the programmer automatically, this goal has since moved to "manage 90% of objects in memory and use GC for the rest". I suspect we will see that number continue to drop as the author realizes this is intractable without whole program analysis (which they can't do and still hit their compilation time targets).
Other items are very much in an alpha state if they work at all. Only in the last month have you been able to create a generic function with more than one type parameter, although V has been claiming support for generics since at least last year. There's still no ability to constrain the type parameter to something that implements an interface/trait/protocol.
C2V, another wildly ambitious project that could literally be a PhD project in automatic language translation, was supposed to be released "this week" 5 weeks ago. It's currently in a very private alpha and no source has been released.
Which is basically the state of most of the author's projects: huge promises in terms of features and performance with most of them little more than demos. I've come to believe this is an intentional strategy by the author to maximize his Patreon revenue. He makes big promises on social media and then delivers the easy 20% of the project to his followers before switching to another project. It would make far more sense to release a finished project before starting another massive one and yet he can't sit down and finish a project because he knows he can't actually deliver what's been promised.
[+] [-] dom96|4 years ago|reply
It’s rather sad to see people get roped in by these claims. This project is a true example of how far pushing false promises and lies can get you and it makes me a bit sad about the world.
[+] [-] ylluminate|4 years ago|reply
[+] [-] ohgodplsno|4 years ago|reply
[+] [-] mintsuki|4 years ago|reply
[+] [-] noobermin|4 years ago|reply
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] programmer_dude|4 years ago|reply
[+] [-] AnimalMuppet|4 years ago|reply
[+] [-] Shadonototro|4 years ago|reply
[+] [-] super_flanker|4 years ago|reply
[+] [-] davtur19|4 years ago|reply
[+] [-] adamrezich|4 years ago|reply
[+] [-] colesantiago|4 years ago|reply
The simplest explanation is that maybe they 'like' the project?
[+] [-] jeromenerf|4 years ago|reply
[+] [-] Koshkin|4 years ago|reply
[+] [-] mro_name|4 years ago|reply