Daily Thought - 2024-04-30
< back to listWhen I talked about the concept of "solid" and "fluid" code yesterday, I glossed over one thing. I said you could change the boundary between solid and fluid code on the fly, but that would still require machinery that you can connect to and deploy new versions with. Would that still be zero-overhead?
Maybe not, but I don't think it matters. If you're deploying to a server, you would have some means to upgrade your application in any case. If you're deploying to microcontrollers, you might have a bootloader that you can use to upgrade your firmware over the network. In these situations, you have that overhead anyway. It just moves from SSH, or whatever you're using, into the language runtime.
That still leaves some other cases, like function-as-a-service platforms, or deeply embedded systems that don't allow upgrading the firmware. If you're running something like that, and you can't afford the additional overhead, there could still be a "all-solid/no-updates" fallback mode. This would basically be the same as deploying any other compiled, non-interactive language.