Cloud Parts

Compiled to machine code

A compiler turns the whole program into machine code for one operating system and CPU before it runs, so it starts fast and needs no virtual machine.

How they work

C, C++, Rust, Zig, Go and Haskell (with GHC) are compiled ahead of time. The output is an executable for one target, such as Linux on x86-64; running it elsewhere means compiling again. There is no warm-up and no interpreter, so start-up is quick, and nothing extra has to be installed on the machine that runs it.

Native doesn’t mean there’s no runtime. Go statically links its runtime, garbage collector included, into every binary, and GHC’s runtime system collects garbage too. C, C++, Rust and Zig ship no collector at all. The line also blurs from the other side: Racket CS compiles Racket to machine code through Chez Scheme, while the older Racket BC compiled to bytecode and finished the job with a JIT.

Technologies

What all programming languages have in common →

Sources

Improve this page on GitHub