languages
Basic idea
Notations for instructing computers. Axes that matter: paradigm (imperative / functional / logic), type discipline (static / dynamic / weak / strong), memory model (manual / GC / ownership), and execution (compiled / interpreted / JIT).
Key facts
- Manual memory: C, C++; GC: Java, Go, Haskell, JS; ownership: Rust.
- Dynamic typing: Python, JS, Lua, Erlang; static: C, Rust, Haskell, Go, Java.
- Compiled: C/C++/Rust/Go/Haskell; JIT: Java/JS/Lua(LuaJIT); interpreted: Racket.