We rely way too much on x86 and ia64 architecture, both of which have only two big manufacturers in the world. That’s not good because it’s almost monopolies.
It would be better to have simpler chipsets that can be produced by more manufacturers worldwide, and especially ones that can be produced by smaller regional manufacturers.
On top of that we shouldn’t distribute compiled binaries for the x86 and ia64 chipsets; instead program code should be distributed like .wasm, in a hardware-independent way, and compiled on the target device. That would enable that hardware can use any chipset it wants and there are no software incompatibilities because of it.
OpenBoot at Sun and Apple had a ggo thing going for a while. Too bad they didn’t release it as open source. In theory you could deliver architecture-independent drivers that ship as firmware on device.
On top of that we shouldn’t distribute compiled binaries for the x86 and ia64 chipsets; instead program code should be distributed like .wasm, in a hardware-independent way, and compiled on the target device. That would enable that hardware can use any chipset it wants and there are no software incompatibilities because of it.
You’re describing Gentoo Linux . . . which is not especially popular among Linux distributions even though it runs on just about anything. There may be a reason for that.
Well, they’re talking about something lower level than the operating system. For one.
Secondly, every distro is inferior to the only perfect thing mankind has ever created: Hannah Montana Linux. If you’re using anything else you may as well just break your computer and drink cyanide.
not really, no. WASM is a generic hardware-independent format for instructions. it’s like instructions for a virtual CPU, not a real one. it gets translated into the instructions for the real processor on the target device. in this way, it can run on any hardware.
comparing it to other setups such as java or javascript (which are also both hardware-independent), it runs much faster because it is much hardware-oriented, while java and javascript require abstract features such as a garbage collector, which makes real-time processes impossible.
See the main issue with that is you need to bundle everything into the app.
Modern computing is inherently cross-dependent on runtimes and shared libraries and whatnot, to save space. Why bundle the same 300MB runtime into five different apps when you can download it once and share it between the apps? Or even better, have a newer, backwards compatible version of the runtime installed and still be able to share it between apps.
With WASM you’re looking at bundling every single dependency, every single runtime, framework and whatnot, in the final binary. Which is fine for one-off small things, but when everything is built that way, you’re sacrificing tons of storage and bandwidth unnecessarily.
With WASM you’re looking at bundling every single dependency, every single runtime, framework and whatnot, in the final binary.
you just don’t know what you’re talking about. wasm has a module-import structure with which you can link libraries at program start-up, and some wasm runtimes also offer possibilities for linking libraries at run-time.
WASM was made for browsers but can run anywhere. You can cross compile any language to it.
The trickier problem is compiler time hardware optimization, but there’s talks about appending architecture specific optimization hints for the runtime, so you can let the compiler search for optimal implementations when creating the bytecode so the JIT engine doesn’t have to. (that does mean you’re essentially compiling multiple times while creating the bytecode, but for performance sensitive software it’s worth it)
A bunch of desktop apps use electron anyways as a runtime. WASM could allow us to have better/more reliable software that doesn’t rely on JS, which isn’t ideal for many use cases.
Is it efficient? Definitely not, but for system apps we have other choices which are more performant like C and Rust. These days 90% of the software people use are either web apps in a browser or web apps with an electron gui running outside their browser but inside the Electron browser: P.
Our hardware has its own problems.
We rely way too much on x86 and ia64 architecture, both of which have only two big manufacturers in the world. That’s not good because it’s almost monopolies.
It would be better to have simpler chipsets that can be produced by more manufacturers worldwide, and especially ones that can be produced by smaller regional manufacturers.
On top of that we shouldn’t distribute compiled binaries for the x86 and ia64 chipsets; instead program code should be distributed like
.wasm, in a hardware-independent way, and compiled on the target device. That would enable that hardware can use any chipset it wants and there are no software incompatibilities because of it.On the high performance compute / GPGPU side the AdaptiveCPP JIT compiler seems very good for cross-platform operation
RISC-V
hell yeah risc-v is hella cool :)
i just looked into how it works:
https://en.wikipedia.org/wiki/RISC-V
seems very sane so far.
i can attest, very nice indeed.
Yes, RISC-V largely forms the basis for china’s future tech “independence”. Most CPU’s are Chinese brands and SBC’s like SiFive are Chinese too.
OpenBoot at Sun and Apple had a ggo thing going for a while. Too bad they didn’t release it as open source. In theory you could deliver architecture-independent drivers that ship as firmware on device.
RISC-V is this
Those are called duopolies (yes it’s a very common thing)
You’re describing Gentoo Linux . . . which is not especially popular among Linux distributions even though it runs on just about anything. There may be a reason for that.
Well, they’re talking about something lower level than the operating system. For one.
Secondly, every distro is inferior to the only perfect thing mankind has ever created: Hannah Montana Linux. If you’re using anything else you may as well just break your computer and drink cyanide.
Unless it’s TempleOS.
I have been waiting impatiently for WASM to really take off. I’d imagine that some day, it will be the most popular way to build software.
But isn’t WASM for web browsers? How will it be used to build general software
not really, no. WASM is a generic hardware-independent format for instructions. it’s like instructions for a virtual CPU, not a real one. it gets translated into the instructions for the real processor on the target device. in this way, it can run on any hardware.
comparing it to other setups such as java or javascript (which are also both hardware-independent), it runs much faster because it is much hardware-oriented, while java and javascript require abstract features such as a garbage collector, which makes real-time processes impossible.
See the main issue with that is you need to bundle everything into the app.
Modern computing is inherently cross-dependent on runtimes and shared libraries and whatnot, to save space. Why bundle the same 300MB runtime into five different apps when you can download it once and share it between the apps? Or even better, have a newer, backwards compatible version of the runtime installed and still be able to share it between apps.
With WASM you’re looking at bundling every single dependency, every single runtime, framework and whatnot, in the final binary. Which is fine for one-off small things, but when everything is built that way, you’re sacrificing tons of storage and bandwidth unnecessarily.
you just don’t know what you’re talking about. wasm has a module-import structure with which you can link libraries at program start-up, and some wasm runtimes also offer possibilities for linking libraries at run-time.
Oh, good to know. Last time I checked around WASM this wasn’t really an option.
WASM was made for browsers but can run anywhere. You can cross compile any language to it.
The trickier problem is compiler time hardware optimization, but there’s talks about appending architecture specific optimization hints for the runtime, so you can let the compiler search for optimal implementations when creating the bytecode so the JIT engine doesn’t have to. (that does mean you’re essentially compiling multiple times while creating the bytecode, but for performance sensitive software it’s worth it)
A bunch of desktop apps use electron anyways as a runtime. WASM could allow us to have better/more reliable software that doesn’t rely on JS, which isn’t ideal for many use cases.
Is it efficient? Definitely not, but for system apps we have other choices which are more performant like C and Rust. These days 90% of the software people use are either web apps in a browser or web apps with an electron gui running outside their browser but inside the Electron browser: P.
How is performance though?
And honestly ARM isn’t that much than x86 in terms of freedom and competition.