nvi2 VS quickjs

Compare nvi2 vs quickjs and see what are their differences.

nvi2

A multibyte fork of the nvi editor for BSD (by lichray)

quickjs

Public repository of the QuickJS Javascript Engine. (by bellard)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
nvi2 quickjs
5 65
139 7,641
- -
5.2 9.1
7 days ago 8 days ago
C C
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
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.

nvi2

Posts with mentions or reviews of nvi2. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-29.
  • Ask HN: What was the best software that you used during 2022?
    20 projects | news.ycombinator.com | 29 Dec 2022
    nvi2 [0]: I got to like the simplicity of nvi when installing Void Linux on my laptop, but it had some annoying bugs that made me switch to nvi2. In general, it feels like `good' software; powerful enough by virtue of being a 1:1 vi clone with a few crucial improvements (multibyte, multi-undo, etc.), but simple enough to hack on if I miss some feature. Though no autocomplete means it's not suitable for more verbose languages, like Java.

    QuickJS [1]: qjscalc is my go-to scientific calculator, and qjs my go-to JavaScript implementation for simple programs. The C interface is very nice to use, too. All in all, it feels very much like a "complete" engine, even if not quite as fast as one with JIT.

    w3m [2]: Somewhat lacking as a web browser, but a very good pager. Would take it over less any day. Also has the best table display of any text-mode browser, supports inline images, and is rather extensible.

    Wine [3]: It's gotten so good that I no longer have to dual boot Windows. Still not perfect, but definitely on my list of "good software".

    [0]: https://github.com/lichray/nvi2

    [1]: https://bellard.org/quickjs/

    [2]: https://github.com/tats/w3m

    [3]: https://www.winehq.org/

  • Is there an editor like emacs, vim, etc. but (solely) used in the BSD world?
    5 projects | /r/BSD | 23 Sep 2022
  • OpenVi: Portable OpenBSD vi for Unix systems
    13 projects | news.ycombinator.com | 18 Feb 2022
    Don't confuse OpenVi/OpenBSD-vi, nvi1, and nvi2. These are all different programs that share the same heritage.

    OpenVi is derived from OpenBSD vi, which derives from nvi version 1.79, released in 1996. There has been 25+ years of independent development as part of the OpenBSD base system and has diverged greatly in that time, with the development going in a different direction.

    Nvi1, currently on version 1.8x, is maintained at https://repo.or.cz/nvi.git - I believe the latest version of this editor does have multibyte support, but this is not the OpenVi/OpenBSD version of the editor.

    Nvi2 shares heritage as well but also, quite far removed from the original code, is actively maintained at https://github.com/lichray/nvi2 and also includes multibyte support.

    (IIRC) the multibyte support in both Nvi1 and Nvi2 derives from nvi-m17n, developed as part of the KAME project by the late itojun - http://www.itojun.org/itojun.html ... the last update to nvi-m17n was about 3 years ago, and is available at https://cgit.freebsd.org/ports/tree/editors/nvi-m17n/files

    Currently, optimizing for size using link-time garbage collection with GCC 11.2 on an x86_64 glibc Linux system gives a good idea of the changes over time and the different direction these editors have taken. OpenVi is also simplified in structure and does not have the three levels of abstraction of Nvi 1.8x - there is no library interface layer.

    For OpenVi, the compiled binary is 280K, and for Nvi1 (nvi-1.81.6-45-g864873d3) the compiled binary is 528K (36K for vi, 528K for libvi).

    OpenVi has a single configuration standard with no dependencies beyond curses.

    Nvi1 has many options beyond trace/debug ("widechar" "gtk" "motif" "threads" "perl" "tcl" "db3/4" "internal-re") - so at least 255 different build variations are possible.

    (I've not yet built Nvi2 myself on Linux so I can provide an actually fair comparison yet, but I will, and I'll summarize the data in an FAQ section of the README)

    Nvi1 (https://repo.or.cz/nvi.git) looks like:

quickjs

Posts with mentions or reviews of quickjs. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-02.
  • Show HN: Happy Pi day with this PWA to cut 100k Pi digits offline
    1 project | news.ycombinator.com | 13 Mar 2024
    It uses service workers to cache static files, by the time it opens up you already free to be offline, try toggle network switch to verify.

    It has download link at bottom of the about page ([accdoo.app/about]) which you could then self host it by dropping into any static hosting services.

    btw, the Pi feature was by-product from the original App but I won't expand here, if you'd like to learn more, please checkout its two Show HN post (39115559 and 39138957) previously.

    [wiki]: https://en.wikipedia.org/wiki/Chudnovsky_algorithm

    [quickjs/pi]: https://bellard.org/quickjs/pi.html

    [pi_bigint.js]: https://github.com/bellard/quickjs/blob/master/examples/pi_b...

    [accdoo.app/about]: https://accdoo.app/about#releases

    [39115559]: https://news.ycombinator.com/item?id=39115559

    [39138957]: https://news.ycombinator.com/item?id=39138957

  • Ask HN: C/C++ plugin make JavaScipt end up with C/C++ binary?
    2 projects | news.ycombinator.com | 2 Mar 2024
    Just go with quickjs, I think this is what you are looking for.

    https://bellard.org/quickjs/

  • Show HW: accdoo cipher web app now fused with offline Pi cutter (100k digits)
    1 project | news.ycombinator.com | 2 Feb 2024
  • QuickJS JavaScript Engine
    1 project | news.ycombinator.com | 18 Jan 2024
  • A list of JavaScript engines, runtimes, interpreters
    23 projects | /r/learnjavascript | 10 Dec 2023
    QuickJS
  • Can you make your own JavaScript by implementing ECMAScript standard?
    10 projects | /r/learnjavascript | 10 Dec 2023
    I think QuickJS, written in C, is a user-"friendly" starting point for implementing ECMA-262. Documentation QuickJS Javascript Engine.
  • New QuickJS Release
    1 project | /r/hypeurls | 9 Dec 2023
    6 projects | news.ycombinator.com | 9 Dec 2023
    There is a readme on the project's main page: https://bellard.org/quickjs/

    The newsworthy bit here is that the activity seemed to have stalled for year or two and now Fabrice pushed a few fixes and made a new release.

  • GitHub
    1 project | /r/learnjavascript | 6 Dec 2023
    Just to demonstrate GitHub repositories do not necessarily reflect upon a programmers' body of work, Fabrice Bellard has one (1) repository published on GitHub, quickjs. Compare the list of work on Bellard's home page https://bellard.org/.
  • WinterJS
    6 projects | news.ycombinator.com | 28 Oct 2023
    > I am still confused, it's a JavaScript runtime intended to be deployed to JavaScript/Wasm runtimes?

    Seemingly.

    > Why does a JavaScript runtime need a JavaScript runtime?

    Because if you want to create a Service Worker server for CloudFlare Workers and other JavaScript/Wasm runtimes, that's the only option for doing that AFAIK.

    FWIW, this isn't a new idea. For example, Figma uses QuickJS (https://bellard.org/quickjs/) for their plug-in runtime: https://www.figma.com/blog/an-update-on-plugin-security/

What are some alternatives?

When comparing nvi2 and quickjs you can also consider the following projects:

OpenVi - OpenVi: Portable OpenBSD vi for UNIX systems

Duktape - Duktape - embeddable Javascript engine with a focus on portability and compact footprint

nextvi - Next version of neatvi (a small vi/ex editor) for editing bidirectional UTF-8 text

jerryscript - Ultra-lightweight JavaScript engine for the Internet of Things.

heirloom-ex-vi - The Traditional Vi (vi with many enhancements from Gunnar Ritter)

mjs - Embedded JavaScript engine for C/C++

src - Read-only git conversion of OpenBSD's official CVS src repository. Pull requests not accepted - send diffs to the tech@ mailing list.

edex-ui - A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support.

oed - Portable OpenBSD ed(1) editor.

Nuitka - Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.

Windows Terminal - The new Windows Terminal and the original Windows console host, all in the same place!

esp8266-quickjs - An attempt on getting QuickJS working on ESP8266 hardware