v VS v-mode

Compare v vs v-mode and see what are their differences.

v

Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io (by vlang)

v-mode

🌻 An Emacs major mode for the V programming language. (by damon-kwok)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
v v-mode
219 89
35,250 54
0.3% -
9.9 0.0
about 14 hours ago over 1 year ago
V Emacs Lisp
MIT License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

v

Posts with mentions or reviews of v. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-24.
  • V Language Review (2023)
    6 projects | news.ycombinator.com | 24 Feb 2024
    From the article:

    > Everything described here is correct for the b66447cf11318d5499bd2d797b97b0b3d98c3063 commit. This is a summary of my experience with the language over 6 months + information that I found on Discord while I was writing this article.

    From https://github.com/vlang/v/commit/b66447cf11318d5499bd2d797b...:

    > felipensp committed Nov 20, 2023

    Can you clarify how you're calculating 2 years? Today is February 24, 2024, so the parent comment saying 3 months seems pretty accurate.

    6 projects | news.ycombinator.com | 24 Feb 2024
    > it's quite impressive for a single author to have a functional, fast language with a working garbage collector and arena allocator (with some issues) in only a few years.

    As the included code shows, the gc is boehm gc, and checking their repo shows they just include libgc/bdwgc. This is absolutely not a knock against anyone here, it's just about the standard library for this need, and I think it is a far smarter move to use it than for most to attempt to make their own general-purpose gc.

    I feel it would be wrong, however, to characterise this as being a single author having made a language with a gc and arenas, as if those were significant parts of the author's own developments, rather than using a well-picked import and a half-baked implementation of "arenas" are really just a global linked list of buffers, freed only at exit, and so everything leaks [0]. They're not really arenas, you can't use them locally in a region of code or as scratchpads, let alone multi-thread it, so it's just, by their code's own admission, a little pre-allocation to save on mallocs for all the little heap allocations of a GC-assuming codebase, so they're not really arenas like you'd use in C or elsewhere.

    Not unimpressive, it's a valid approach for some uses (though not general purpose), it's just different from a language with their own gc and actual arenas. Indeed, just implementing an arena barely even registers in the complexity, I feel, as arenas really should be very simple in most use cases [1]. It would be far more impressive to have them actually integrated and be available as a true alternative to a GC for memory management, particularly integrating common patterns (e.g. [2]) in a way that could serve as a drop-in replacement, such that we can actually provide bounded lifetimes and memory safety without a full GC, let alone support multiple concurrencies with it from multi-threading to coroutines -- this would likely still be unsafe without a GC compared to, say, Rust or Vale, let alone Pony or SPARK, and would likely require a cultural shift in manual management akin to Zig or Odin, as it may be largely moot if dependencies end up enforcing the gc themselves. Still, again, making anything substantial is never unimpressive, we just need to retain the perspective of what was achieved and how.

    As to the rest, well, I think it's fair to say that there should be a clear delineation between statements of "we can do this and here's how" and roadmaps with "we're aiming to do these things and here's our current progress". In my experience, people are quick to get these mixed up when they're excited about making something, and none of us are fully immune to this. It's not some moral failing or anything in and of itself, it can very easily be an honest mistake, but humans see patterns everywhere, so we often need to be receptive when others are trying to help us be level-headed and clear things up; otherwise a reputation begins to form. Especially in this industry, reproducibility matters, as we're all too familiar with the smoke-and-mirrors of demos (not to personally claim there is any here, just that it obviously helps dispel such concerns).

    And, of course, second chances are always offered if someone is willing to amend mistakes.

    [0]: prealloc.c.v is barely over 100 lines long and quite manageable, https://github.com/vlang/v/blob/master/vlib/builtin/prealloc...

    6 projects | news.ycombinator.com | 24 Feb 2024
    The creator of V made some big claims that raised a few eyeballs, they've gained a reasonable following over the years, have a pretty serious looking website (https://vlang.io) a beer-money level Patreon following and some corporate partnerships/sponsors. However have experienced some pretty brutal takedowns over the years, with some of the bolder claims about the language/compiler being exposed as being.

    A word I keep seeing in relation to V is "aspirational" - the project aspires to be a serious language with some major features, so I think it's fair to approach it with a more critical eye than one would a kid's side-project. I think HN would have been pretty understanding if they were open about the state of the various features and were a little less defensive when they encounter articles that treat it like a Real Language and review it as such. If the authors don't want this kind of feedback they can just say front-and-centre (or on their FAQ @ https://github.com/vlang/v/wiki/FAQ) "this is a toy" or "this is pre-alpha"

    6 projects | news.ycombinator.com | 24 Feb 2024
    Their site is clearly showing the language is in beta. The V documentation also states that autofree is WIP, and to use the GC instead. This isn't a corporate created language, but looks to be a true volunteer open source effort from people around the world.

    Their community, in comparison to others, even has their discussions open and open threads for criticism[1]. These

    [1]https://github.com/vlang/v/discussions/7610

  • Towards memory safety with ownership checks for C
    3 projects | news.ycombinator.com | 19 Feb 2024
  • Vox: Upcoming open-source browser engine in V
    4 projects | news.ycombinator.com | 4 Jan 2024
    Built in V: https://github.com/vlang/v

    > [the V language is] simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies.

    4 projects | news.ycombinator.com | 4 Jan 2024
  • Show HN: A new stdlib for Golang focusing on platform native support
    7 projects | news.ycombinator.com | 2 Oct 2023
    Goroutines was the selling point for me until they decided to introduce telemetry in their toolchain; that was what forced me to stop using Golang as a whole.

    About GC, I would say: if you implement C++'s RAII mechanism to replace garbage collection, then I believe this project will have a bright future.

    My final question is the following: how `pcz` compares to V language, from a syntax's perspective [1]?

    [1] https://github.com/vlang/v

  • The V Programming Language 0.4
    6 projects | news.ycombinator.com | 28 Aug 2023
    In both the review itself and in V's documentation, from which the example came, it states that autofree is still WIP. It's arguably disingenuous to pretend otherwise or present unintended usage.

    The normal "day-to-day" situation would be to have the GC on, and to do otherwise (like -gc none or -prealloc), one should know what they are doing or be prepared to deal with such issues.

    Those parts of the review, considered relevant in normal usage were resolved:

    https://github.com/vlang/v/issues/14803

    https://github.com/vlang/v/issues/14787

    https://github.com/vlang/v/issues/14786

    But even beyond that, the intent of the so-called review was arguably malevolent. It was not done in good faith, to be helpful to the developers or community, but done to spur on drama (thus adding the vaporware link and spamming it) and knowingly looking for ways to bash an alpha version of the language.

    6 projects | news.ycombinator.com | 28 Aug 2023
    V has the right to exist, have its supporters, and do things its own way. The creator and developers of V, from what I have seen, has always responded well to constructive criticism. Their language has discussions opened at their GitHub, unlike those for various other languages. They even have a thread for what people don't like and want improved about the language[1], again, something many other languages don't have.

    A lot of what was going on initially, was coming from obvious competitors, to include being uncivil, inflammatory, and insulting. The initial "criticism" was not so much that, but false accusations of the language being a scam, vaporware, fraud, or didn't really exist. To include attacks and jealousy about its funding and having supporters. This was not any kind of "valid" criticism, that the creator or contributors of the language could reason about.

    The "criticism" never died down, but rather after V was open-sourced and established itself on GitHub. The initial series of false accusations could not stand nor could the support it was getting be stopped. So, the rhetoric and targets shifted to whatever could be found to go after on the newly released alpha version of the language and its new website. In that new mix of what was being thrown at it, there were indeed some very valid criticisms, as can be found with any new language.

    Constructive and valid criticism, is not the same as insults, trolling, misinformation, rivalry, or false accusations. There is clearly a difference. It's disingenuous to pretend something from one group is the same as the other, or that the intent behind what is being done is not different.

    [1] https://github.com/vlang/v/discussions/7610

v-mode

Posts with mentions or reviews of v-mode. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-24.

What are some alternatives?

When comparing v and v-mode you can also consider the following projects:

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

go - The Go programming language

Odin - Odin Programming Language

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

sokol - minimal cross-platform standalone C headers

hn-search - Hacker News Search

crystal - The Crystal Programming Language

Vale - Compiler for the Vale programming language - http://vale.dev/

dmd - dmd D Programming Language compiler

C-plus-Equality - The world's first feminist programming language.

cosmopolitan - build-once run-anywhere c library

vos - Vinix is an effort to write a modern, fast, and useful operating system in the V programming language