A census of the languages that matter to the design of Lume: every language that introduced an idea, dominated an era, or still runs production code today. Thousands of languages exist (the Wikipedia timeline alone lists over 700, HOPL over 8,000 names); this catalog keeps the ~260 that left a mark.
Grouped by era and family. Year = first public release or paper. ★ = a primary influence on Lume,
analysed in depth in 01-survey.md.
| Language | Year | Author / origin | Paradigm | Note |
|---|---|---|---|---|
| ★ Machine code | 1940s | — | imperative, binary | The ground truth every compiler targets |
| ★ Assembly (x86, ARM, RISC-V, 6502, Z80, 68k…) | 1949 | Wheeler (EDSAC) | imperative, symbolic | One mnemonic per instruction; macros came later |
| Plankalkül | 1945 | Konrad Zuse | imperative | First high-level design; never ran in its era |
| Short Code | 1949 | Mauchly | interpreted | First interpreted “high-level” language |
| Autocode | 1952 | Alick Glennie | imperative | First compiled language (Manchester Mark 1) |
| Speedcoding | 1953 | John Backus | interpreted | IBM 701; led to FORTRAN |
| ★ FORTRAN | 1957 | Backus / IBM | imperative, procedural | First widely used compiled language; still rules HPC |
| FLOW-MATIC | 1955 | Grace Hopper | business | English-like syntax; parent of COBOL |
| IPL | 1956 | Newell, Shaw, Simon | list processing | Linked lists, recursion; first AI language |
| ★ LISP | 1958 | John McCarthy | functional, symbolic | Code as data, GC, REPL, macros, recursion |
| ALGOL 58 | 1958 | IFIP committee | procedural | Block structure; precursor to ALGOL 60 |
| ★ COBOL | 1959 | CODASYL / Hopper | business, imperative | Records, decimal arithmetic, readable; still runs banks |
| MAD | 1959 | U. Michigan | procedural | Fast compiler for the IBM 704 |
| JOVIAL | 1959 | Jules Schwartz | procedural | Embedded/military; ALGOL dialect |
| Language | Year | Author / origin | Paradigm | Note |
|---|---|---|---|---|
| ★ ALGOL 60 | 1960 | Naur, Backus, et al. | procedural, structured | BNF, lexical scope, recursion; the “Latin” of languages |
| APL | 1962 | Kenneth Iverson | array | One-symbol operators, whole-array thinking |
| SNOBOL | 1962 | Griswold et al. | string processing | Pattern matching as control flow |
| CPL | 1963 | Strachey, Cambridge | procedural | Parent of BCPL → B → C |
| ★ Simula | 1962/67 | Dahl & Nygaard | object-oriented | Classes, objects, inheritance, coroutines — OOP is born |
| ★ BASIC | 1964 | Kemeny & Kurtz | imperative | Teaching language; brought programming to microcomputers |
| PL/I | 1964 | IBM | multi-paradigm | “Everything from FORTRAN and COBOL”; too big |
| ★ Smalltalk | 1972 (1980 public) | Kay, Ingalls, Goldberg (Xerox PARC) | pure OO, live | Everything is an object, message passing, live image, IDE |
| ALGOL 68 | 1968 | van Wijngaarden et al. | procedural | Orthogonal design; famously hard to implement |
| ALGOL W | 1966 | Wirth & Hoare | procedural | Records, references; Wirth’s step toward Pascal |
| BCPL | 1967 | Martin Richards | procedural | Typeless; { } braces; bootstrap language of C |
| LOGO | 1967 | Papert, Feurzeig | educational, Lisp dialect | Turtle graphics; learning by doing |
| MUMPS (M) | 1966 | Mass. General Hospital | database, imperative | Integrated persistent key-value store; still runs hospitals |
| RPG | 1959/1969 | IBM | report generation | Fixed-column business reports on IBM midrange |
| ★ Forth | 1970 | Chuck Moore | stack-based, concatenative | Tiny, extensible, interactive; runs on bare metal |
| B | 1969 | Ken Thompson | procedural | BCPL stripped down for the PDP-7 |
| Language | Year | Author / origin | Paradigm | Note |
|---|---|---|---|---|
| ★ Pascal | 1970 | Niklaus Wirth | procedural, structured | Strong typing, ranges, sets, records; teaching + Turbo Pascal/Delphi industry |
| ★ C | 1972 | Dennis Ritchie | procedural, systems | Portable assembly; Unix; the ABI of everything |
| ★ Prolog | 1972 | Colmerauer, Roussel | logic | Unification, backtracking, declarative relations |
| ★ ML | 1973 | Robin Milner | functional | Hindley–Milner type inference, algebraic types, pattern matching |
| Scheme | 1975 | Sussman & Steele | functional, Lisp | Minimal Lisp, lexical scope, continuations, hygienic macros |
| ★ SQL | 1974 | Chamberlin & Boyce (IBM) | declarative, relational | The one declarative language everyone uses |
| ★ Modula / Modula-2 | 1975/78 | Niklaus Wirth | procedural, modular | Modules with explicit interfaces; coroutines |
| CLU | 1975 | Barbara Liskov | procedural, abstract data types | Iterators, exceptions, ADTs, parametric types |
| Mesa | 1976 | Xerox PARC | modular | Interfaces/implementations split; influenced Modula, Java |
| awk | 1977 | Aho, Weinberger, Kernighan | text processing | Pattern-action, associative arrays |
| ★ Bourne shell / sh | 1977 | Stephen Bourne | scripting | Pipes and composition as programming |
| Icon | 1977 | Griswold | goal-directed | Generators, success/failure instead of booleans |
| MATLAB | 1978 (1984 commercial) | Cleve Moler | array, numeric | Matrices as the primitive; engineering lingua franca |
| ★ dBase II | 1979 | Wayne Ratliff (Ashton-Tate) | database, 4GL | Data tables as the program’s world; interactive dot prompt |
| REXX | 1979 | Mike Cowlishaw (IBM) | scripting | Readable scripting on mainframes/OS/2/Amiga |
| ★ Ada | 1980 | Jean Ichbiah (DoD) | procedural, concurrent, safety-critical | Packages, tasks, strong typing, generics; later contracts (SPARK) |
| Vulcan | 1978 | Wayne Ratliff | database | The JPL prototype that became dBase |
| Language | Year | Author / origin | Paradigm | Note |
|---|---|---|---|---|
| ★ C++ | 1983/85 | Bjarne Stroustrup | multi-paradigm, systems | Classes + C, RAII, templates, zero-overhead principle |
| Objective-C | 1984 | Cox & Love | OO (Smalltalk messaging on C) | Dynamic dispatch, categories; Apple’s language until Swift |
| ★ Common Lisp | 1984 | ANSI X3J13 | multi-paradigm Lisp | CLOS, condition system, the big unified Lisp |
| Standard ML | 1983/90 | Milner et al. | functional | Formal semantics, module system (functors) |
| ★ Clipper | 1985 | Nantucket | database, xBase compiler | Compiled dBase; code blocks, user-defined functions, DOS business apps |
| FoxBASE / FoxPro | 1984/89 | Fox Software | database, xBase | Fastest xBase; Rushmore indexing; later Visual FoxPro |
| dBase III / IV | 1984/88 | Ashton-Tate | database, 4GL | The xBase standard everyone cloned |
| Paradox PAL | 1985 | Borland | database | Query-by-example desktop DB |
| ★ Turbo Pascal | 1983 | Anders Hejlsberg (Borland) | procedural | One-pass compiler, IDE, units; made Pascal industrial |
| Miranda | 1985 | David Turner | lazy functional | Parent of Haskell |
| Eiffel | 1986 | Bertrand Meyer | OO, design by contract | require / ensure / invariant built in |
| ★ Erlang | 1986 | Armstrong, Virding, Williams (Ericsson) | functional, actor, concurrent | Lightweight processes, supervisors, hot code reload, “let it crash” |
| Self | 1987 | Ungar & Smith | prototype-based OO | Prototypes, JIT techniques that fed into V8/HotSpot |
| ★ Perl | 1987 | Larry Wall | scripting, text | Regex as a first-class citizen; CPAN; “there’s more than one way” |
| Oberon | 1987 | Wirth & Gutknecht | procedural, modular | Language + OS in one small system; type extension |
| Tcl | 1988 | John Ousterhout | scripting, embeddable | Everything is a string; Tk GUI |
| Mathematica / Wolfram | 1988 | Stephen Wolfram | symbolic, term rewriting | Notebooks, symbolic computation |
| HyperTalk | 1987 | Apple | English-like scripting | HyperCard; natural-language flavor |
| Clean | 1987 | Plasmeijer et al. | lazy functional | Uniqueness types (precursor of ownership) |
| Oz | 1991 | Smolka et al. | multi-paradigm, constraint | Dataflow variables, constraints (Mozart) |
| ABC | 1987 | CWI (Meertens, Pemberton) | teaching | Indentation blocks; direct parent of Python |
| Occam | 1983 | INMOS (May) | concurrent (CSP) | Transputer; channels and parallel blocks |
| ★ Bash | 1989 | Brian Fox (GNU) | scripting | The shell that runs the world’s glue |
| PostScript | 1982 | Adobe | stack-based | Printers run a Forth-like language |
| Verilog | 1984 | Gateway Design | hardware description | Describes circuits, not programs |
| VHDL | 1983/87 | DoD / IEEE | hardware description | Ada-flavored HDL |
| Lotus 1-2-3 macros / spreadsheets | 1983 | Lotus | reactive, dataflow | Spreadsheets are the most used functional reactive language |
| Language | Year | Author / origin | Paradigm | Note |
|---|---|---|---|---|
| ★ Haskell | 1990 | committee (Hudak, Peyton Jones, Wadler…) | pure lazy functional | Type classes, monads, purity; the research vehicle |
| ★ Python | 1991 | Guido van Rossum | multi-paradigm, dynamic | Readability, batteries included, REPL, indentation |
| Visual Basic | 1991 | Microsoft (Cooper) | event-driven, RAD | Drag-and-drop GUIs; most-used language of the 90s |
| ★ Lua | 1993 | Ierusalimschy et al. (PUC-Rio) | scripting, embeddable | Tables, coroutines, tiny C API; games |
| R | 1993 | Ihaka & Gentleman | statistical, array | Statistics and plotting; CRAN |
| ★ Ruby | 1995 | Yukihiro Matsumoto | OO, dynamic | Programmer happiness; blocks; Rails |
| ★ Java | 1995 | James Gosling (Sun) | OO, VM | Write once run anywhere, GC, huge ecosystem, enterprise |
| ★ JavaScript | 1995 | Brendan Eich (Netscape) | multi-paradigm, prototype OO | The web’s language; closures, event loop; accidental universality |
| PHP | 1995 | Rasmus Lerdorf | web scripting | Templating that grew into a language; runs most of the web |
| ★ Delphi (Object Pascal) | 1995 | Borland (Hejlsberg) | OO Pascal, RAD | Visual Pascal; fast native Windows apps |
| ★ OCaml | 1996 | Leroy et al. (INRIA) | functional + OO | Fast native ML; pragmatic purity; modules |
| ★ Harbour / xHarbour | 1999 | open source | xBase compiler | Free Clipper successor, still maintained |
| Visual FoxPro | 1995 | Microsoft | database, OO xBase | Data-centric OO; killed in 2007, still loved |
| Squeak | 1996 | Kay, Ingalls (Apple/Disney) | Smalltalk | Open Smalltalk; Etoys, Scratch ancestry |
| ActionScript | 1998 | Macromedia | ECMAScript | Flash |
| XSLT | 1999 | W3C | declarative, functional | Pure functional transforms over XML |
| AppleScript | 1993 | Apple | English-like scripting | Inter-application automation |
| Limbo | 1995 | Bell Labs (Pike, Dorward) | concurrent (CSP) | Inferno OS; direct ancestor of Go |
| Dylan | 1992 | Apple | dynamic OO, Lisp-derived | Infix Lisp with macros |
| Pike | 1994 | Hübinette | C-like interpreted | Roxen web server |
| Curl | 1998 | MIT | web content | Document + program in one |
| Alice ML | 2000 | Saarland | functional, distributed | Futures, pickling |
| ★ Cyclone | 2001 | Cornell / AT&T | safe C | Region-based memory — the direct seed of Rust lifetimes |
| D | 2001 | Walter Bright | multi-paradigm, systems | “C++ done right”: GC optional, CTFE, ranges, contracts |
| C# | 2000 | Hejlsberg (Microsoft) | OO, VM | Java refined: properties, LINQ, async/await, generics done right |
| Scratch | 2003 | MIT Media Lab | visual blocks | Programming for children; millions of users |
| Groovy | 2003 | James Strachan | dynamic JVM | Scripting for Java; Gradle |
| ★ Scala | 2004 | Martin Odersky | OO + functional, JVM | Unifies OO and FP; implicits; Spark |
| F# | 2005 | Don Syme (Microsoft) | functional, .NET | OCaml for .NET; units of measure; type providers |
| ★ Erlang/OTP → Elixir | 2011 | José Valim | functional, actor (BEAM) | Ruby-flavored syntax on Erlang’s VM; Phoenix |
| Io | 2002 | Steve Dekorte | prototype OO | Minimal message-passing language |
| Factor | 2003 | Slava Pestov | concatenative | Modern Forth with types and a large library |
| Boo | 2003 | Rodrigo B. de Oliveira (Brazil) | Python-like for .NET | Static typing with inference, macros |
| Nemerle | 2003 | Wrocław | .NET, macros | Hygienic macros on .NET |
| Fortress | 2006 | Sun (Guy Steele) | HPC | Math-notation source; cancelled |
| Chapel | 2009 | Cray | parallel HPC | Locales, domains, PGAS |
| X10 | 2004 | IBM | parallel (APGAS) | Places, async/finish |
| Processing | 2001 | Reas & Fry | creative coding (Java) | Sketches; p5.js descendant |
| ★ Clojure | 2007 | Rich Hickey | functional Lisp, JVM | Immutable persistent data structures, STM, simplicity |
| ★ Go | 2009 | Pike, Thompson, Griesemer (Google) | procedural, concurrent (CSP) | Goroutines, channels, gofmt, fast builds, static binaries |
| CoffeeScript | 2009 | Jeremy Ashkenas | compiles to JS | Pushed ES6 syntax (arrows, classes) |
| Vala | 2006 | Jürg Billeter (GNOME) | OO compiled to C | C# syntax, GObject, no VM |
| Haxe | 2005 | Nicolas Cannasse | multi-target | One source, many targets (JS, C++, JVM…) |
| ★ Nim | 2008 | Andreas Rumpf | multi-paradigm, compiled to C | Python syntax, AST macros, optional GC/ARC, UFCS |
| OpenCL C / CUDA C | 2007/2009 | Khronos / NVIDIA | GPU kernels | Data-parallel programming on GPUs |
| Agda | 2007 | Norell (Chalmers) | dependently typed | Proofs as programs |
| Coq / Gallina (now Rocq) | 1989 | INRIA | proof assistant | CompCert, verified software |
| Idris | 2007/2011 | Edwin Brady | dependently typed, practical | Type-driven development |
| ATS | 2004 | Hongwei Xi | dependently typed systems | Linear types + proofs at C speed |
| Ur/Web | 2008 | Adam Chlipala | functional web | Whole-stack web type safety |
| Opa | 2011 | MLstate | web | Full-stack in one language |
| Language | Year | Author / origin | Paradigm | Note |
|---|---|---|---|---|
| ★ Rust | 2010/2015 | Graydon Hoare → Mozilla | systems, ownership | Memory safety without GC, traits, fearless concurrency, Cargo |
| ★ Kotlin | 2011 | JetBrains | OO + functional, JVM/native | Null safety, extension functions, coroutines; Android |
| Dart | 2011 | Google (Bak, Lund) | OO, VM/AOT | Flutter; sound null safety |
| ★ TypeScript | 2012 | Hejlsberg (Microsoft) | gradual typing on JS | Structural types, inference, the most adopted gradual type system |
| ★ Julia | 2012 | Bezanson, Karpinski, Shah, Edelman | multiple dispatch, numeric | Dynamic feel, C speed, LLVM JIT; scientific computing |
| ★ Elm | 2012 | Evan Czaplicki | pure functional web | No runtime exceptions; friendly compiler errors; TEA architecture |
| Hack | 2014 | gradual PHP | Gradual types at scale | |
| ★ Swift | 2014 | Chris Lattner (Apple) | multi-paradigm, ARC | Optionals, protocols, value semantics, ARC; Apple platforms |
| Crystal | 2014 | Manas (Argentina) | Ruby syntax, compiled | Ruby feel, static types by global inference |
| ★ Zig | 2016 | Andrew Kelley | systems, no hidden control flow | comptime, explicit allocators, error unions, C interop/cross-compile |
| Pony | 2015 | Sylvan Clebsch | actor, capabilities | Reference capabilities prove data-race freedom |
| Reason / ReScript | 2016 | Facebook (Walke) | OCaml for JS | OCaml with JS syntax |
| PureScript | 2013 | Phil Freeman | pure functional → JS | Haskell for the browser; row types |
| ★ Elixir | 2011 | José Valim | functional, actor | See §5; the “modern Erlang” |
| Gleam | 2016/2024 | Louis Pilfold | typed functional on BEAM | Static types for Erlang’s VM |
| Red | 2011 | Nenad Rakocevic | Rebol-like, full-stack | From GUI to bare metal in one language |
| Wolfram Language | 2014 (named) | Wolfram | symbolic | Knowledge-based |
| Ballerina | 2017 | WSO2 | cloud/network | Network types, sequence diagrams from code |
| ★ Solidity | 2014 | Ethereum (Wood) | contract-oriented | Smart contracts; shows how costly language mistakes get |
| Move | 2019 | Facebook/Diem → Aptos/Sui | resource-oriented | Linear “resources” for assets |
| Vyper | 2017 | Ethereum | contract, Python-like | Security over expressiveness |
| Q# | 2017 | Microsoft | quantum | Qubits as a type |
| OpenQASM / Qiskit / Cirq | 2017 | IBM / Google | quantum circuits | Circuit-level quantum |
| Lean 4 | 2021 | Leonardo de Moura (Microsoft) | dependently typed + proof assistant | Mathlib; a real language and a prover; metaprogramming in itself |
| F* | 2011 | Microsoft Research / INRIA | dependently typed, effects | Verified crypto (HACL*) |
| Dafny | 2009 | Rustan Leino | verification-aware imperative | Specs + code, automated proofs (Z3) |
| Whiley | 2010 | David Pearce | verification | Extended static checking |
| Koka | 2012 | Daan Leijen (Microsoft) | effect types | Algebraic effects + Perceus reference counting |
| Eff / Frank / Effekt | 2012–2020 | research | algebraic effects | Effect handlers as the control-flow primitive |
| Unison | 2019 | Chiusano & Bjarnason | content-addressed functional | Code identified by hash; no builds, no dependency conflicts |
| Dark | 2019 | Ellen Chisa, Paul Biggar | deployless | Live editing of running backends |
| Hazel | 2017 | Omar et al. | live, hole-aware | Programs with holes always have meaning |
| Futhark | 2014 | DIKU (Henriksen) | data-parallel functional | GPU arrays |
| Halide | 2012 | MIT (Ragan-Kelley) | image-processing DSL | Separates algorithm from schedule |
| ★ Mojo | 2023 | Chris Lattner (Modular) | Python superset, MLIR | Python syntax + systems performance + hardware portability for AI |
| Carbon | 2022 | Google (Carruth) | C++ successor | Interop-first migration path from C++ |
| Val / Hylo | 2022 | Abrahams, Racordon | mutable value semantics | Safety without borrow checker complexity |
| Vale | 2020 | Evan Ovadia | generational references | Memory safety with a new mechanism |
| Austral | 2022 | Fernando Borretti | linear types, capabilities | Minimal, no hidden anything |
| Odin | 2016 | Ginger Bill | systems, C-like | Explicit allocators, SOA, “joy of programming” |
| Jai | 2014 (private) | Jonathan Blow | systems, compile-time | Compile-time execution, SOA, game dev |
| Hare | 2022 | Drew DeVault | systems, C-like | Small, no macros, qbe backend |
| C3 | 2019 | Christoffer Lernö | C evolution | C with modules, generics, contracts |
| V | 2019 | Alexander Medvednikov | Go-like | Fast compile, autofree (promises vs reality) |
| Inko | 2015 | Yorick Peterse | actor, ownership | Single ownership + actors without a GC |
| Grain | 2017 | Oscar Spencer | functional → WASM | WASM-first |
| AssemblyScript | 2017 | — | TypeScript → WASM | TS subset for WebAssembly |
| WebAssembly (WAT) | 2017 | W3C | stack-machine bytecode | The portable target of the 2020s |
| Roc | 2019 | Richard Feldman | pure functional, platforms | Elm for everything; platform/application split |
| Bosque | 2019 | Microsoft (Marron) | regularized programming | No loops, no mutation, no undefined behavior classes |
| Verse | 2023 | Epic (Peyton Jones, Sweeney) | functional logic | Choice, failure, transactions for games |
| Bend / HVM | 2024 | Higher Order Co (Taelin) | massively parallel functional | Interaction nets on GPU |
| Jax / Triton / TVM / Taichi | 2018–2021 | Google / OpenAI / Apache / MIT | tensor DSLs embedded in Python | How ML actually programs accelerators today |
| Language | Year | Domain | Note |
|---|---|---|---|
| ★ SQL (and dialects PL/SQL, T-SQL, PL/pgSQL) | 1974 | relational data | The universal declarative data language |
| Datalog | 1977 | deductive databases | Prolog subset; back in fashion (Datomic, Soufflé, CozoDB) |
| ★ Regex | 1951/1968 | text | Kleene → Thompson → Perl; a language inside every language |
| make | 1976 | builds | Dependency graph language |
| sed | 1974 | text | Stream editing |
| TeX / LaTeX | 1978 | typesetting | Macro language that typesets the world’s papers |
| Emacs Lisp | 1985 | editor scripting | A Lisp that is an operating environment |
| VimScript / Vim9 | 1991 | editor scripting | Replaced by Lua in Neovim |
| ★ GLSL / HLSL / MSL / WGSL / SPIR-V | 1992–2021 | shaders | Programs that run per-pixel on GPUs |
| Erlang’s Mnesia / Dialyzer | 1990s | DB / types | Success typing |
| Max/MSP, Pure Data | 1988 | visual dataflow (audio) | Patch cables as programs |
| LabVIEW (G) | 1986 | visual dataflow (instruments) | Engineering graphical programming |
| Simulink | 1984 | block diagrams | Model-based design |
| Modelica | 1997 | equation-based modeling | Acausal physical systems |
| Mathematica, Maple, Maxima, Sage | 1980s–2005 | computer algebra | Symbolic math |
| Stan, BUGS, PyMC, Pyro, Church, Anglican | 1989–2017 | probabilistic programming | Programs that define distributions; inference as a built-in |
| OpenSCAD | 2010 | 3D CAD | Functional geometry |
| G-code | 1963 | CNC machines | Still drives every 3D printer |
| PLC: Ladder, Structured Text, IEC 61131-3 | 1968/1993 | industrial control | Factories run on these |
| Ladder / Grafcet / SFC | 1970s | automation | State machines for machines |
| ABAP | 1983 | SAP | COBOL-ish enterprise 4GL |
| PL/SQL | 1988 | Oracle | Ada-flavored stored procedures |
| Informix 4GL, Progress ABL (OpenEdge), Natural (ADABAS), PowerBuilder PowerScript, Magic | 1980s | business 4GLs | The xBase cousins in corporate IT |
| Salesforce Apex, Google Apps Script | 2007 | cloud platform scripting | Vendor-locked but ubiquitous |
| GDScript | 2014 | Godot game engine | Python-like, engine-integrated |
| UnrealScript → Blueprints | 1998/2014 | games | Visual scripting at scale |
| Lingo (Director), Torque Script | 1990s | multimedia | |
| Inform 7 | 2006 | interactive fiction | Literate, rule-based natural English |
| Twine / Ink / Yarn | 2009–2016 | narrative scripting | |
| JSON / YAML / TOML / XML / Protobuf / CUE / Dhall / Jsonnet / Nickel / KCL / Pkl | 2001–2023 | configuration | The “configuration languages” that keep growing until they are programs |
| Terraform HCL, Bicep, Pulumi, CDK, Ansible YAML, Nix | 2003–2020 | infrastructure as code | Declarative infrastructure |
| ★ Nix | 2003 | package/system config | Pure lazy functional language for building whole operating systems reproducibly |
| Guix (Scheme) | 2012 | package/system config | Nix ideas in Scheme |
| Puppet / Chef (Ruby) / Salt | 2005–2011 | config management | |
| Dockerfile / Compose / Kubernetes YAML / Helm | 2013+ | deployment | Accidental languages |
| Gradle (Groovy/Kotlin), Bazel/Starlark, Buck, Meson, CMake | 2000–2015 | build systems | Starlark = deterministic Python subset |
| BPMN, DMN, Camunda FEEL | 2004+ | business process | Executable process diagrams |
| MDX / DAX / M (Power Query) | 1997–2010 | BI | Spreadsheet-adjacent query languages |
| Excel formulas + LAMBDA | 1985 / 2020 | spreadsheets | Turing-complete since LAMBDA; the most used language on Earth |
| Cypher, Gremlin, SPARQL, GraphQL | 2008–2015 | graph query | |
| XPath / XQuery | 1999 | XML query | |
| PromQL, LogQL, KQL, Splunk SPL, jq | 2012+ | observability/data query | |
| CSS (+ Sass/Less) | 1996 | style | A constraint/cascade language used as a programming language |
| HTML + HTMX, Svelte/Vue/JSX templates | 1993+ | UI | Templates evolve into languages |
| Markdown / reStructuredText / AsciiDoc / Org-mode | 2004 / 2002 / 2002 / 2003 | documents | |
| PlantUML, Mermaid, Graphviz DOT | 1991–2014 | diagrams as code | |
| Alloy, TLA+, PlusCal, Z, B-method, Event-B, Promela/SPIN | 1977–2003 | formal specification | Specifying systems before coding them |
| Isabelle/HOL, HOL4, ACL2, PVS, Mizar, Metamath | 1970s–1990s | theorem provers | |
| Lustre / SCADE, Esterel, SIGNAL | 1980s | synchronous reactive | Avionics; time as a first-class concept |
| Céu, Lingua Franca, Reactors | 2010s | reactive embedded | Deterministic concurrency |
| Arduino (Wiring, C++ subset), MicroPython, CircuitPython, TinyGo, Espruino | 2003–2015 | embedded scripting | |
| Brainfuck, Whitespace, INTERCAL, Malbolge, Piet, Shakespeare, LOLCODE, Befunge | 1972–2003 | esoteric | Teach us what not to do, and what minimal computation needs |
| Rockstar, ArnoldC, Chef, Velato | 2010s | esoteric / joke |
Lisp 1.5 (1962) · MacLisp (1966) · Interlisp (1967) · Scheme (1975) · Franz Lisp (1979) · Zetalisp (1980) · Common Lisp (1984) · EuLisp (1990) · ISLISP (1997) · Emacs Lisp (1985) · AutoLISP (1986) · Guile (1993) · Racket/PLT Scheme (1995) · newLISP (1991) · Arc (2008) · Clojure (2007) · ClojureScript (2011) · Hy (2013, Lisp on Python) · Fennel (2016, Lisp on Lua) · Janet (2017) · Carp (2016, Lisp without GC) · LFE (Lisp Flavored Erlang) · Shen · Picolisp · Chicken, Chez, Gambit, Gerbil, Chibi (Scheme implementations).
Vulcan (1978) · dBase II (1979) · dBase III (1984) · dBase III+ (1986) · dBase IV (1988) · Clipper Summer ‘87 · Clipper 5.x (1990–1997) · FoxBASE (1984) · FoxPro 1.0/2.x (1989–1993) · Visual FoxPro 3–9 (1995–2007) · Quicksilver · Force · dBXL · Arago · FlagShip (xBase on Unix) · Harbour (1999–) · xHarbour (2001) · CA-Visual Objects (1995) · Vulcan.NET · X# (XSharp, 2017, xBase on .NET) · Alaska Xbase++ (1997–) · Recital · Lianja · dBase Plus (dBASE LLC, still sold in 2026). Related 4GLs: Informix-4GL, Progress ABL, Natural, Magic/uniPaaS, PowerBuilder, Oracle Forms, Clarion, DataFlex, Omnis, 4D, FileMaker scripting, Paradox PAL/ObjectPAL, Access VBA.
ALGOL W (1966) · Pascal (1970) · UCSD Pascal (1978, p-code VM — the “JVM” of 1978) · Modula (1975) · Modula-2 (1978) · Modula-3 (1988, DEC/Olivetti: GC, exceptions, threads, modules — fed into Java, Python, Go) · Concurrent Pascal (1975, Brinch Hansen) · Turbo Pascal (1983) · Object Pascal (Apple, 1986) · Delphi (1995–) · Oberon (1987) · Oberon-2 (1991) · Component Pascal (1997) · Oberon-07 (2007) · Active Oberon · Zonnon · Free Pascal (1993–) / Lazarus (1999–) · GNU Pascal · PascalABC.NET · Smart Pascal · Oxygene (RemObjects, Pascal on .NET/JVM/Cocoa).
BCPL (1967) · B (1969) · C (K&R 1978, ANSI C89, C99, C11, C17, C23) · Concurrent C · Objective-C (1984) · C++ (1985; C++98/03/11/14/17/20/23/26) · C– (1997, compiler IR) · Cyclone (2001) · Handel-C (hardware) · Cilk (1994, parallel C) · OpenMP C · UPC (Unified Parallel C) · Split-C · C* · CUDA C/C++ (2007) · OpenCL C (2009) · Checked C (Microsoft, 2016) · Ch · Alef (Plan 9) · Limbo (Inferno) · Go (2009) · D (2001) · Vala (2006) · Genie · C2 · C3 · Zig · Hare · Odin · Jai · Carbon · Cppfront (Herb Sutter’s C++ syntax 2) · Circle (Sean Baxter’s C++ with borrow checking).
ISWIM (1966, Landin — “the next 700 programming languages”) · ML (1973) · Hope (1980) · Standard ML (1983/1990/1997) · Caml (1985) · Lazy ML · Miranda (1985) · Haskell (1990, 98, 2010) · Caml Light · OCaml (1996) · Clean (1987) · Mercury (1995, logic + functional, typed) · Curry (1995, functional logic) · F# (2005) · Scala (2004) · Idris (2007/Idris 2 2020) · Agda · Coq/Rocq · Lean · Elm (2012) · PureScript (2013) · Reason/ReScript (2016) · Gleam (2016) · Roc (2019) · Koka · Unison · Grain · Flix (effects + Datalog) · Links (web) · Hazel · Dhall (config) · 1ML · MLton, MLkit, Poly/ML, SML/NJ (SML implementations) · GHC, Hugs, UHC (Haskell implementations).
Concurrent Pascal (1975) · CSP (Hoare, 1978 — the theory) · Occam (1983) · Ada tasks (1980) · Erlang (1986) · Linda (1986, tuple spaces) · Oz (1991) · Alef, Newsqueak, Limbo (Pike, 1980s–1995) · Pict (1995, π-calculus) · JoCaml / Join Java (join calculus) · Cilk (1994) · X10 (2004) · Chapel (2009) · Go (2009) · Akka (Scala actors, 2009) · Orleans (virtual actors) · Elixir (2011) · Pony (2015) · Rust async / Tokio (2019) · Kotlin coroutines (2018) · Swift structured concurrency (2021) · Java virtual threads (Loom, 2023) · Lingua Franca · Verse · Bend/HVM (2024).
JOSS (1963) · BASIC (1964) · APL (1962) · Logo (1967) · SNOBOL4 (1967) · MUMPS (1966) · Smalltalk (1972) · sh (1977) · awk (1977) · REXX (1979) · Perl (1987) · Tcl (1988) · Python (1991) · Visual Basic (1991) · Lua (1993) · R (1993) · Ruby (1995) · JavaScript (1995) · PHP (1995) · Bash (1989) · Zsh (1990) · fish (2005) · PowerShell (2006) · Nushell (2019) · Groovy (2003) · Io (2002) · Boo (2003) · Falcon · Squirrel (2003) · AngelScript · ChaiScript · Wren (2014) · Janet (2017) · Raku/Perl 6 (2015) · Julia (2012) · Elixir (2011) · Hy, Coconut (Python supersets) · MoonScript, Teal, Luau (Roblox, typed Lua) · CoffeeScript (2009) · LiveScript · TypeScript (2012) · Flow · Dart (2011) · Nim (2008) · Crystal (2014) · Mojo (2023).
IPL (1956) · LISP (1958) · Prolog (1972) · Planner (1969) · Conniver · OPS5 (1977, production rules) · CLIPS (1985, NASA expert systems) · Jess · Drools (DRL) · KL-ONE / description logics → OWL (2004) · SOAR · ACT-R · Mercury · Datalog revival · Church (2008), Anglican, Venture, WebPPL, Stan (2012), Pyro (2017), PyMC, Turing.jl, Gen.jl (probabilistic programming) · Lush (LeCun, 1987/2002, Lisp for neural nets) · Torch7 (Lua, 2011) · Theano (Python, 2007) · TensorFlow graph mode (2015) · PyTorch (2016, eager) · Jax (2018) · Swift for TensorFlow (2018–2021, differentiable programming built into the language — cancelled, but the ideas live) · Julia Flux/Zygote (source-to-source autodiff) · Dex (Google, typed array language) · Futhark · Halide · TVM/Relay/TensorIR · MLIR (compiler infrastructure, 2019) · Triton (OpenAI, 2021) · Mojo (2023) · Bend (2024) · ONNX (model interchange, 2017) · Tensor Comprehensions · Taichi · Myia · DiffTaichi · Enzyme (LLVM autodiff) · Tangent · Probabilistic Soft Logic · Markov Logic Networks (Alchemy) · ProbLog · LMQL, Guidance, DSPy, SGLang, BAML (2023–2025: “prompt programming” languages that treat an LLM call as a typed function) · Nengo (neuromorphic/spiking) · Lava (Intel Loihi) · PyNN, Brian2, NEST (spiking neural simulation) · Chisel/SpinalHDL (hardware generators used for AI accelerators).
Assembly (every early OS) · BCPL (early Unix tools) · C (Unix, Linux, BSD, Windows NT kernel) · C++ (Windows userland, Fuchsia parts, BeOS/Haiku, Genode) · Mesa (Xerox Alto/Pilot OS) · Cedar · Lisp (Lisp machines: Genera, Interlisp-D) · Smalltalk (the Smalltalk-80 image is an OS) · Oberon (Oberon System — language + OS co-designed) · Modula-2 (Lilith) · Modula-3 (SPIN OS) · Ada (military/avionics kernels, seL4-adjacent) · Forth (Open Firmware, boot ROMs) · Erlang (telecom switches as OS-like systems) · Limbo (Inferno) · Alef (Plan 9 early) · Sing# / Spec# (Singularity OS, Microsoft, 2003 — managed OS) · C# (Cosmos, Midori) · Java (JavaOS, JNode) · Oberon-07 (Project Oberon 2013) · Rust (Redox OS, Theseus, Tock, Hubris; Linux kernel modules since 6.1; Windows kernel parts; Android, Fuchsia) · Zig (experimental kernels) · Nim (Nimkernel) · D (PowerNex, XOmB) · Go (Biscuit, gVisor userspace kernel, TamaGo bare-metal Go) · Haskell (House OS, seL4 prototype) · ATS · Dafny/Rocq-verified components (seL4 is C verified in Isabelle/HOL; CertiKOS in Rocq) · Lisp again: Mezzano (2015, Common Lisp OS) · Verve (verified) · Unison/Nix as “OS as a program” ideas.
Three patterns jump out, and they shape Lume:
01-survey.md goes language by language: what each got right, what it got wrong, and what Lume takes.