Why wonder? That's basically what IPv6 did for networking, or what Intel tried with Itanium, but with even larger gap to existing usage. The cost of switching would be so astronomically high, your product would fail before it even started.
"Throw out the old" happens in local pieces of the stack all the time. AMD removed a lot of cruft from the Intel ISA when they designed AMD64, Wayland removes a lot of complexity from the display protocol stack, and every I/O port before USB was designed to be incompatible with existing ports.
I feel that what you are describing will look like the SBC situation in the ARM world: the processor instruction set may be identical, but every vendor uses a slightly different incompatible way of connecting and designing the surrounding chipset, which results in a myriad of almost-identical drivers and subtle bugs that are impossible to fix, because the cost/benefit ratio would be prohibitively high.
Standardization isn't just for backwards compatibility, nor does it mandate it. But it does allow for reuse of existing components in an interoperable way. Imagine if every application came as a unikernel microservice instead of an OS framework library: there would be no UI consistency, copy-pasting between different applications would be hard, and you would have no OS-level update facility -- every application would have its own set of vulnerabilities.
"Throw out the old" happens in local pieces of the stack all the time. AMD removed a lot of cruft from the Intel ISA when they designed AMD64, Wayland removes a lot of complexity from the display protocol stack, and every I/O port before USB was designed to be incompatible with existing ports.
I feel that what you are describing will look like the SBC situation in the ARM world: the processor instruction set may be identical, but every vendor uses a slightly different incompatible way of connecting and designing the surrounding chipset, which results in a myriad of almost-identical drivers and subtle bugs that are impossible to fix, because the cost/benefit ratio would be prohibitively high.
Standardization isn't just for backwards compatibility, nor does it mandate it. But it does allow for reuse of existing components in an interoperable way. Imagine if every application came as a unikernel microservice instead of an OS framework library: there would be no UI consistency, copy-pasting between different applications would be hard, and you would have no OS-level update facility -- every application would have its own set of vulnerabilities.
reply