Is WebAssembly a language?

Learn what WebAssembly really is. That it is not a language but rather a technology that enables you to add interactivity to websites with a focus on performance.

Is WebAssembly a language?

No, WebAssembly is not a new programming language. It is a new browser technology made up of two core components that enables web developers to create interactive page content in a variety of compiled programming languages.

The first component of the WebAssembly technology is the bytecode specification. Any high-level programming language that compiles source code in adherence to this specification is said to be able to produce WebAssembly modules. Hence, one does not code in WebAssembly, one codes in a language that is capable of compiling to WebAssembly bytecode.

The second component that makes up WebAssembly as a technology is the virtual machine. It is the role of the virtual machine to execute the bytecode - produced by the high-level language compiler - in a WebAssembly module.

Together, the bytecode specification and the virtual machine make up the WebAssembly technology.

Is WebAssembly bytecode a language?

No, WebAssembly bytecode is binary, non-human readable amalgamation of the instructions inside a WebAssembly module. Bytecode output by high-level programming language compilers. While you could in theory write binary bytecode and argue that bytecode is a language, it's definitely not common practice.

Is WebAssembly bytecode similar to .Net MSIL and Java bytecode?

WebAssembly bytecode shares similarities with .Net MSIL and Java bytecode in that: - It requires a virtual machine to run - It is crafted to the specifications that the virtual machine expects - It can run wherever the virtual machine is present

So yes, WebAssembly is quite similar to .Net and Java bytecode

Can all programming language compilers output WebAssembly modules?

Not generally. In order for a high-level programming language compiler to output WebAssembly modules support must be added by the compiler writers. Support for WebAssembly is constantly growing allowing developers to use a variety of languages to compile WebAssembly modules.

Where to next?

WebAssembly is not a programming language. It is a technology made up of a bytecode specification and a virtual machine. In order to produce WebAssembly, one must use a high-level language compiler capable of producing WebAssembly modules.

What do you think?
Get in touch via twitter.

Read more articles and tutorials about WebAssembly.


If you have any questions feel free to contact me directly via: