A database that runs code

December 7th 2024




Proof of concept design:

  1. Submit class definition to endpoint /define.
  2. Create object by calling /init.
  3. Load object by calling /[object_id].
  4. Run operation on object by calling /[object_id]/[operation].
    • Can return new object.
    • Can return non-object value.
    • Can mutate object.
    • Can't mutate any other object.

Not much of a market for custom software that “just works”. OS, code server, database all mixed into one.

Problem being: it’s functionally equivalent to what we have now, but provides more restrictions, but those restrictions might be a problem sometimes. Better to offer more freedom, give the user enough rope to hang themselves, and let them handle the rest. Better to have a more skilled programmer that can do more, and is skilled enough to know how to avoid the issues.

In other words, the benefit is marginal. Sure, you save a few steps. *But*. Is it worth it? I don’t think so, to be entirely honest. I think that any setup that is flexible enough to do meaningful work is also flexible enough to do it wrong. Sure, I can save a few steps, but I could also write scripts to automate those steps for how things are setup anyways. Sure, it would be cool if everything was a type, but also sometimes there are too many things, and having types not be explicit always actually saves a ton of effort. Sure, it would be great if states were explicit, and state transitions, so we could be guaranteed properties of systems, but sometimes there are too many states. Sometimes it’s better to keep those implicit too.

So, coding is coding. I think I’ll learn Rust, and maybe Erlang, and maybe Clojure, and see what sticks. C++ too? Probably not. I don’t know. Maybe Go. Eh. Maybe I’ll just learn about the high level aspects of these languages.

Also, operating systems are operating systems. They open functionality to the hardware. I don’t know. It feels like whatever I do, the benefits are minimal because well I don’t know. When it comes to hating software, I mostly hate brittle software that sits atop the OS. It’s not the OS I hate, because the OS seems to largely work most of the time. I think?

Code is code. No free lunch.