jonesforth VS javascript-algorithms

Compare jonesforth vs javascript-algorithms and see what are their differences.

javascript-algorithms

đź“ť Algorithms and data structures implemented in JavaScript with explanations and links to further readings (by trekhleb)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
jonesforth javascript-algorithms
41 118
968 182,797
- -
0.0 5.0
about 1 year ago 12 days ago
Assembly JavaScript
- MIT License
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.

jonesforth

Posts with mentions or reviews of jonesforth. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-02.
  • Konilo: A personal computing system in Forth
    5 projects | news.ycombinator.com | 2 Mar 2024
  • Thinking Forth: A Language and Philosophy for Solving Problems [pdf]
    1 project | news.ycombinator.com | 8 Feb 2024
    Cool. Here are some other resources that I've encountered along the way of learning Forth:

    - JonesForth: https://github.com/nornagon/jonesforth/blob/master/jonesfort...

    This is legit a text that goes the an x86 Forth implementation. Actually, it's just an implementation with really extensive comments. That said, including whitespace and comments, it's just 2000 lines and the pedagogy is excellent. Highly recommended for anyone who would rather see behind the curtain before picking up a larger text.

    - SmithForth: https://dacvs.neocities.org/SF/

    So, Smith decided to hand-write a Forth directly in x86-64 opcodes (well, the corresponding ascii hex bytes). It's incredibly slim and enlightening how you can bootstrap a language in just a couple hundred bytes or so.

    This project actually inspired me to really learn the x86-64 architecture, so I ended up hand-decompiling the SmithForth binary instead of going through his commented implementation. Hand-decompilation is an absolutely fascinating exercise. You learn all about ELF structure, opcode encodings, and actually start to see the gaps where microarchitectural details shine through. Highly recommended for any hacker that really wants to grok low level details.

    - Mecrisp: https://mecrisp.sourceforge.net/

    An amazingly fast Forth implementation for MSP430, ARM, RISC-V, MIPS, and some FPGAs. This gave me one really nice understanding of Forth as

        A REPL into your hardware!
  • Problem Running JonesFORTH
    1 project | /r/Forth | 11 Dec 2023
    I've git-cloned JonesFORTH (https://github.com/nornagon/jonesforth/blob/master/jonesforth.S) and achieved to compile it (i.e. run make w/o an error. When I start the executable, it presents me with an empty line, and when I say BYE, it says PARSE ERROR: bye.
  • Ask HN: Where do I find good code to read?
    22 projects | news.ycombinator.com | 24 Aug 2023
    Is there any particular language you're looking for? I've found some languages hideous until I understood them and could appreciate their respective graces. Off the top of my head the I can think of a couple.

    The first is Jones Forth (https://github.com/nornagon/jonesforth), start with jonesforth.S and move into jonesforth.f. I really enjoyed following along with it and trying my hand at making my own stack based language.

    The other is Xv6, a teaching operating system from MIT (https://pdos.csail.mit.edu/6.828/2021/xv6.html), not all the code or implementations are top notch but it shows you non-optimized versions (just because they're simple and more readable) of different concepts used in OS design.

    If you're interested in the embedded world, there is a really neat project I've been following that feels a more structured and safe (as in fault-tolerant) while still staying pretty simple (both conceptually and in the code itself): Hubris and Humility (https://hubris.oxide.computer/).

  • Dusk OS: 32-bit Forth OS. Useful during first stage of civilizational collapse
    1 project | news.ycombinator.com | 16 Jul 2023
    Very low hardware requirements, so basic industrial control at the level where you'd otherwise use an Arduino or so but on scavenged hardware. Forth is ridiculously simple to get an implementation running.

    https://github.com/nornagon/jonesforth/blob/master/jonesfort...

    Is a nice starting point. It's obviously not as compact as say 'Brainfuck' but it is far more versatile.

  • Making my own forth implementation
    5 projects | /r/Forth | 15 Jun 2023
    OP mentioned jonesforth, but linked to a nasm port of it. Which is probably good it’s just that the documentation in the comments with ascii art doesn’t look right on my screen. So here’s a more common repo: https://github.com/nornagon/jonesforth
  • Struggling with looping constructs, BEGIN WHILE REPEAT
    1 project | /r/Forth | 8 Jun 2023
    Rip the asm macros for the basic FORTH words out of this and then embed them in a C binary, statically linked with your favourite libs for whatever task. Although I haven't tried this yet, I'm planning on doing it with ncurses for my own Roguelike. From there, if you can convert the function calls and your parameters down to raw numbers, you can send instructions to ncurses or whatever other API you like, directly from a FORTH stack.
  • I'm wondering why so few forth microcontoller tutorials are out there?
    3 projects | /r/Forth | 10 May 2023
  • replace jonesforth links to the left by proper link
    1 project | /r/Forth | 9 May 2023
    or the mirror of this site in github: https://github.com/nornagon/jonesforth
  • Languages to implement in space-constrained environments
    2 projects | /r/ProgrammingLanguages | 8 Feb 2023

javascript-algorithms

Posts with mentions or reviews of javascript-algorithms. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-19.
  • 10 GitHub Repos for Mastering JavaScript
    10 projects | dev.to | 19 Apr 2024
  • Minecraft Grub Theme
    7 projects | news.ycombinator.com | 18 Jul 2023
    I'm reminded of the time when some kid wrote a script to crawl GitHub and create issues[1] about using inclusive language... except it was really dumb, for example: https://github.com/trekhleb/javascript-algorithms/pull/875/f...

    [1] E.g.: https://github.com/EbookFoundation/free-programming-books/pu...

  • is there any website that you can practise javascript from complete beginning to mastery
    1 project | /r/learnjavascript | 3 Jul 2023
    Try codewars or leetcode Or you can use this repo for ds practice https://github.com/trekhleb/javascript-algorithms
  • Is anyone interested in contributing to Ultimate Guide to Algorithm opensource together?
    2 projects | /r/algorithms | 14 Jun 2023
    This one is pretty popular too.
  • Help! Prep for interview in 2 weeks
    1 project | /r/Frontend | 17 May 2023
    for algos - not sure how much you'll need to do for a jr position but familiarity with some of the beginner stuff here couldn't hurt: https://github.com/trekhleb/javascript-algorithms
  • JavaScript-algorithms: Algorithms and data structures implemented in JavaScript
    1 project | /r/patient_hackernews | 7 Apr 2023
    1 project | /r/hackernews | 7 Apr 2023
    1 project | /r/hypeurls | 7 Apr 2023
    5 projects | news.ycombinator.com | 7 Apr 2023
    Traditionally, a linked list allows you to insert before/after a node. i.e. addBefore(node,value) (see [2] ) He doesn't implement addBefore & addAfter.

    Instead, he provides a whole bunch of non-canonical helpers like reverse(), toArray(), deleteTail() etc - these are typical LC-Easy problems that don't belong inside the data structure.

    My own introduction to these things was a C course called "Data Structures in C" in the traditional CS curriculum, and yes, you would have to malloc a new node, get back a pointer with a memory address, & the process of pointing the next pointer of the current node to this new node so that the memory address of the next value was explicitly "linked" to the current value and hence linked list etc...I guess much of that terminology is lost on the new generation in the absence of pointers & memory addresses.

    The canonical exercise in those days was - Show that a linked list does not store objects in contiguous memory, unlike an array. So to solve this, you would traverse the list from the head node & print the actual addresses of the memory locations along the way, proving that the vals aren't stored contiguously. I wonder what that exercise would mean in JS land.

    That said, yeah its a good starting point & I applaud the effort.

    [1]https://github.com/trekhleb/javascript-algorithms/blob/maste...

  • 30 March 2023 - Daily Chat Thread
    1 project | /r/indonesia | 30 Mar 2023

What are some alternatives?

When comparing jonesforth and javascript-algorithms you can also consider the following projects:

stoneknifeforth - a tiny self-hosted Forth implementation

Dlib - A toolkit for making real world machine learning and data analysis applications in C++

factor - Factor programming language

javascript-es2020-sandbox - This is a place for me to screw around some code and will be the home of my future JavaScript ES2020 Cheat Sheet

durexforth - Modern C64 Forth

developer-roadmap - Interactive roadmaps, guides and other educational content to help developers grow in their careers.

tinyrenderer - A brief computer graphics / rendering course

clean-code-javascript - :bathtub: Clean Code concepts adapted for JavaScript

sectorforth - sectorforth is a 16-bit x86 Forth that fits in a 512-byte boot sector.

free-for-dev - A list of SaaS, PaaS and IaaS offerings that have free tiers of interest to devops and infradev

SavjeeCoin - A simple blockchain in Javascript. For educational purposes only.

You-Dont-Know-JS - A book series on JavaScript. @YDKJS on twitter.