Saved
Software · Web & cloud

WebAssembly

2015

WebAssembly delivers portable binaries—not portable semantics.

Worth your time?3.5/5Yes.Study the whole thing.What works, what does not, who it is for ↓
9:22in productionCh. 1 · Not a language. A format./ 9:22 · ceiling 15 min
4 chapters · 9:22Ceiling 15:00

The brief is written and checked. The video joins this page when it is cut.4 chapters · 1 min read · 9:22 planned

Read the brief

WebAssembly standardises portable binary code execution. It works well for C/C++ in browsers and emerging non-web contexts. It does not yet deliver on its full promise for high-level languages or parallelism. Its value is real—but bounded by implementation maturity, not specification ambition.

Chapters & takeaways4
  1. 0:49
    Not a language. A format.

    It is not JavaScript—it is a binary instruction format designed for a stack-based virtual machine.

  2. 2:16
    Web-first, but not web-only

    It targets high-performance web apps first—but its portability makes it viable anywhere from cloud functions to microcontrollers.

  3. 4:10
    Features shipped late, not early

    The MVP shipped for C/C++. Garbage collection, threading, and components arrived years later—and remain unevenly implemented.

  4. 5:50
    Standardised slowly, not instantly

    It became a W3C recommendation in December 2019—four years after announcement and two years after first browser release.

1 more chapterFewer chapters
Worth your time?

Yes. Study the whole thing.

3.5/ 5
What works
  • portable binary distribution
  • sandboxed linear memory model
  • structured control flow guarantees
  • cross-platform C/C++ execution
What does not
  • deliver garbage collection in MVP
  • support multithreading in MVP
  • enable high-level language semantics without later extensions
Study it if
  • C/C++ developers targeting web or edge
  • runtime authors building sandboxed execution environments
  • toolchain maintainers adding Wasm backends
Skip it if
  • JavaScript-only teams
  • teams relying on dynamic language features before Wasm 3.0 adoption
  • developers needing production-ready threading or GC today
Who should study it, and who should skipHide who it is for
The written brief1 min read

What it is and the problem it solves

WebAssembly is a portable binary and text format standard for executable programs and software interfaces. It solves the problem of running performance-sensitive, cross-language code safely and efficiently—first in browsers, then beyond.

How it works

WebAssembly defines a portable binary code format and a corresponding text format. It runs on a portable virtual stack machine. It uses structured control flow, linear memory, and module-based foreign function interfaces.

What works

C and C++ compilation to WebAssembly works reliably in all major browsers. The MVP delivers predictable, sandboxed execution with linear memory isolation. It supports non-web use, including server-side and edge runtimes.

What does not

The MVP does not support garbage collection, multithreading, or high-level language abstractions. These arrived only in later versions. Wasm 2.0 and 3.0 add them incrementally—but adoption lags behind specification.

What it changes

It changes how compiled code executes across environments: from JavaScript-only to language-agnostic, sandboxed, near-native speed. It shifts runtime responsibility from host engines (e.g., V8) to a standardised VM layer.

Is it worth your time

Yes—if you compile C/C++ for the web or deploy compute in constrained non-web environments. No—if you rely on garbage-collected languages without waiting for Wasm 3.0 features or if your toolchain lacks stable support for threading or SIMD.

Same field · Software4 of 114
Up next in Technology

Western Digital

1970 · 10:55

Western Digital wasn’t built to store data — it was built to test chips, and only stored bits after it stopped testing them.

10:55