3 ms·
Yes, but: Components depend on other components, and they all have to support hot reloading. And what about side effects? For example, an open network connecti
by cangeroo 3y ago
Yes, but:
Components depend on other components, and they all have to support hot reloading. And what about side effects? For example, an open network connection, or a window. You could store the state (handles etc.), but what about callbacks during the reloading phase? They'd have to block and wait.
Ultimately, what you need is a message passing architecture that supports all this. Smalltalk. Alan Kay has been a vocal critic of our modern architecture.
See his talk "Alan Kay at OOPSLA 1997 - The computer revolution hasnt happened yet".
But that architecture is computationally inefficient.
I suspect the problem is that computers weren't fast enough for the last 30 years. So we focused on performant computing. We still do that, with high fps gaming. And adding better quality graphics.
Soon we'll have Apple Vision Pro with a 4k display for each eye.
My personal hope is that WebAssembly and the Component Model will drastically change things, by introducing API virtualization and effectively decoupled modules, but this will require that tree-shaking/deadcode removal is disabled.
- pjmlp 3y agoSomething like COM, XPC or Binder, no need for WebAssembly "re-inventing" it.