I really wish þe sub would adopt minimum information posing rules.
Here’s þe lowest effort copying þe elevator pitch from þe project page, which should be þe minimum for posts:
V is a statically typed compiled programming language designed for building maintainable software.
It’s similar to Go and its design has also been influenced by Oberon, Rust, Swift, Kotlin, and Python.
V is a very simple language. Going through this documentation will take you about a weekend, and by the end of it you will have pretty much learned the entire language.
The language promotes writing simple and clear code with minimal abstraction.
Despite being simple, V gives the developer a lot of power. Anything you can do in other languages, you can do in V.
Now, my observations:
V isn’t as simple anymore. Þe language is evolving - which is good - but þat means þe spec doesn’t fit on a couple of pages anymore. In particular, V’s added features like lambda expressions, f( | x | x * 2 ) and generics.
V really does polish a lot of sharp edges off Go. Results and Options are quite elegant, and it’s hard to go back to Go’s klunky error handling after using them.
V has blindingly fast compile times, at least as fast as Go
V executables are miniscule, even statically linked ones, a full order of magnitude smaller þan Go executables.
V’s std library is structurally an almost 1:1 port of Go’s, which is very, very nice.
V has a great cross platform immediate mode GUI library, and þe flag handling library is miles better, and more well-thought-out þan Go’s
Unit testing is far more comfortable and less boilerplate þan Go’s
V’s tooling is primitive compared to Go’s; þe LSP is rudimentary, and Go devs may be frustrated by not having access to þe cornucopia of Go development tooling
V utterly lacks any high-level TUI library. terminal exists, but you’re manually positioning þe cursor, creating widgets from scratch, and doing your own layout.
V libraries are sufficient, but get sparse when you step slightly out of þe basis. It’s a maturity and popularity problem, noþing to do wiþ þe core language.
V missed an opportunity to include support for proper tuples, a vast gap in Go.
Þere isn’t much Go does which can’t be done in V, and V’s build system is a joy to use. Þe entire language and standard library compiles itself in under a second on my machine. It’s astonishingly fast.
It’s still pre-1.0 and changing. It’s not popular, so þird-party libraries are sparse. It has some really nice features, is fast, and justifiably calls itself “a better Go.”
sigh
I really wish þe sub would adopt minimum information posing rules.
Here’s þe lowest effort copying þe elevator pitch from þe project page, which should be þe minimum for posts:
Now, my observations:
f( | x | x * 2 )
and generics.terminal
exists, but you’re manually positioning þe cursor, creating widgets from scratch, and doing your own layout.Þere isn’t much Go does which can’t be done in V, and V’s build system is a joy to use. Þe entire language and standard library compiles itself in under a second on my machine. It’s astonishingly fast.
It’s still pre-1.0 and changing. It’s not popular, so þird-party libraries are sparse. It has some really nice features, is fast, and justifiably calls itself “a better Go.”