Re:Why I Quit Google’s WebAssembly Team, and How It Made Me ...
by Someone on Wednesday May 11, 2022 @03:20PM
(#31344524)
If you provide a non-opinionated base platform, users will add opinions, and those will not all be compatible with each other.
Not adding GC or not defining how exceptions work could easily lead to a situation where you want to use a couple of third-party libraries, but discover they, combined, use three different garbage-collecting memory allocators and two different ways to handle exceptions, even where function overloading works differently in different libraries.
As an example, look at string implementations in various C programs. Even if they if they boil down to a pair (int, malloced memory), you still might not be able to pass one obtained from a function in one library to a function in another library.
Stacking abstractions, like how computer architecture used to work in the old days.