Yes, a declarative web API is _far_ harder to get right, but the web community has created an amazing long-term compatibility story. It _should_ be difficult to add things to the web-at-large precisely because it has to live, essentially, forever.
Yes, a declarative web API is _far_ harder to get right, but the web community has created an amazing long-term compatibility story. It _should_ be difficult to add things to the web-at-large precisely because it has to live, essentially, forever.
Even if Houdini fails adoption, WebAssembly + Canvas/WebGL/WebGPU will do it.
https://www.qt.io/qt-examples-for-webassembly
https://blogs.autodesk.com/autocad/autocad-web-app-google-io...
With a wasm+web hybrid, there's a clear separation between the imperative wasm bits and the declarative web bits, so you can even combine them in ways that allow both stacks to perform well.
I don't consider it a stretch, as I see a future where Flash gets its revenge and HTML is only used to import the starting WASM module, like on those Qt WebAssembly demos.
CSS shaders, like GL shaders, are declarative programs that look somewhat imperative. The GPU makes the decisions on how to shard/distribute those.
As for your second point, I agree to some degree. I don't necessarily see an issue with it - the two different models make sense in different places.
They should make Houdini available to use not just with JS but also with WebAssembly. Then you could use a more fitting language of your own choice.