Remix.run Logo
▲ skrebbel 6 hours ago

Even after reading that (and more of the homepage) I have no idea what this is.

▲self 4 hours ago | parent | next [-]

Think of it as a runtime + scheduler that you deploy programs to ESP32 devices. It gives you the ability to run multiple programs simultaneously (with isolation) and remote updates. The language compiles to bytecode; the developers have lots of experience writing VMs for constrained devices; see https://www.theregister.com/software/2004/07/27/forgotten-la... for something that predates V8 and Dart.

▲Rohansi 3 hours ago | parent | next [-]

You get almost all of that with the more common language options too (MicroPython, NodeMCU/Lua, Espruino/JS). What makes this custom language better?

▲floitsch 3 hours ago | parent [-]

We looked at these when we started. The problem with them is that they weren't designed with constrained resources in mind and it shows. For example, objects are hash tables and method calls are thus expensive. An obligatory top level execution makes startup slow, ...

If you have a bigger machine you can optimize some of this (V8), but these optimizations typically need memory and/or a JIT. (And Python struggles to optimize even on stronger machines).

By starting from scratch (with what we learned from V8 and Dart) you can design something that feels similar but is much cleaner and faster to run.

▲vanderZwan 2 hours ago | parent | prev [-]

Tangent: what an appropriate username :)

▲ 6 hours ago | parent | prev [-]
[deleted]