4 ms·
My impression is that WebAssembly was so named because the developers wanted a cool name that indicated it was low level and in a sense akin to an assembly lang
by FatalLogic 5y ago
My impression is that WebAssembly was so named because the developers wanted a cool name that indicated it was low level and in a sense akin to an assembly language, not because it was actually the same thing as assembly.
But, inadvertently, such influential projects gradually warp the definition of the word 'assembly' or 'assembler' away from what it traditionally was: the most close to the metal and minimal abstraction from hardware.
Perhaps that's OK? But it does cause some arguments
- CodeArtisan 5y agoAssembly is the textual representation of an instruction set meant to be executed by a machine. That machine being abstract (turing), implemented in software (virtual) or hardware shouldn't be relevant. An alternative to assembly is lambda calculus which is not executed but evalued (everything is an expression, unlike assembly where everything is a statement).
- FatalLogic 5y agoI feel that extending the definition of 'a machine' to include abstract or virtual machines is an extension of the original meaning of 'Assembly' - it's not how the word was originally used. But it seems like it could be a better definition, as it gets closer to the essential meaning.
- pjmlp 5y agoThe original version was actually bytecode as you can see in many 50's and 60's papers, because when computing switched to micro-electronics most CPUs were micro-coded, this was one of the arguments of RISC against CISC, no micro-coded needed and all instructions should be implemented as hardware gates. After all these gates it turns out that while RISC had some nice ideas, the flexibility of microcoded CPUs won the war anyway, and nowadays stuff like FPGAs makes it even more flexible than traditional microcode languages.