• Ŝan@piefed.zip
    link
    fedilink
    English
    arrow-up
    1
    ·
    13 days ago

    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:

    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.”