Systems Languages
Languages for low-level programming close to hardware — operating systems, drivers, embedded systems. Prioritize performance, memory control, and deterministic behavior.
Sub-topics
The lowest-level programming language — raw binary instructions executed directly by the CPU. Every higher-level language ultimately compiles or interprets down to machine code.
Human-readable mnemonics mapped 1:1 to machine instructions. First appeared in the 1940s-50s. Architecture-specific (x86, ARM, MIPS) and still used for performance-critical code and OS kernels.
Created by Dennis Ritchie at Bell Labs in 1972 to rewrite Unix. The most influential systems language ever — portable, efficient, and close to hardware. Parent of C++, Objective-C, Java, C#, and dozens more.
Created by Bjarne Stroustrup at Bell Labs starting in 1979 (as 'C with Classes', renamed 1983). Added OOP, templates, and RAII to C. Powers game engines, browsers, databases, and operating systems.
Created by Brad Cox and Tom Love around 1984. Adds Smalltalk-style message passing to C. Became Apple's primary language via NeXTSTEP (1988) and dominated iOS/macOS development until Swift (2014).
Created by Walter Bright in 2001 as a modernized C++ — keeping the systems-level power while adding garbage collection, first-class arrays, and cleaner syntax. Influenced by C++, Java, Python, and Eiffel.
Started by Graydon Hoare at Mozilla in 2010 (v1.0 in 2015). Memory safety without garbage collection via ownership and borrowing. Influenced by ML, OCaml, C++, Haskell, Erlang, and Cyclone. Voted 'most loved language' 7 years running on Stack Overflow.
Created at Google by Robert Griesemer, Rob Pike, and Ken Thompson in 2009. Designed for simplicity, fast compilation, and built-in concurrency (goroutines/channels). Influenced by C, Oberon, Newsqueak, and Limbo. Powers Docker, Kubernetes, and cloud infrastructure.
Created by Andrew Kelley in 2016. A systems language aiming to be a better C — no hidden control flow, no hidden allocations, comptime metaprogramming. Interops seamlessly with C. Used in the Bun JavaScript runtime.
Development began in 2011, first released in 2014. A compiled language with Ruby-inspired syntax and static type inference. Aims to combine Ruby's developer happiness with C-level performance. Compiles via LLVM.