Used for new projects today.
Python, Java, TypeScript.
Still alive and maintained, but used by a small community or for specific jobs.
Haskell in finance and research, Erlang in telecom.
Still running inside older systems that companies keep maintaining, but rarely chosen for anything new.
COBOL in banks.
Nothing in production runs on it anymore; it matters for history.
ALGOL 60, whose syntax lives on in most modern languages.
Announced or in early development, not ready for production code yet.
Carbon.
≈ launched in the same year as another language here; which came first is not documented, so their order is not a claim.
| # | Launched | Language | Derived from | Still in use | Link |
|---|---|---|---|---|---|
| 1 | 1947 | Assembly | ground-up | Yes | Wikipedia ↗ |
| 2 | 1948 | Plankalkül | ground-up | Dead | Wikipedia ↗ |
| 3 | 1949 | ENIAC Short Code | ground-up | Dead | Wikipedia ↗ |
| ≈ 4 | 1952 | Autocode | ground-up | Dead | Wikipedia ↗ |
| ≈ 5 | May 1952 | A-0 | ground-up | Dead | Wikipedia ↗ |
| 6 | 1953 | Speedcoding | ground-up | Dead | Wikipedia ↗ |
| 7 | Apr 1957 | FORTRAN | Speedcoding | Yes (HPC) | fortran-lang.org ↗ |
| 8 | 1958 | ALGOL 58 | FORTRAN-influenced | Dead | Wikipedia ↗ |
| ≈ 9 | 1959 | RPG | ground-up | Legacy (IBM i) | Wikipedia ↗ |
| ≈ 10 | May 1959 | LISP | ground-up (lambda calculus) | Niche | Wikipedia ↗ |
| ≈ 11 | 1960 | COBOL | FLOW-MATIC + COMTRAN | Legacy (banking) | Wikipedia ↗ |
| ≈ 12 | May 1960 | ALGOL 60 | ALGOL 58 | Dead | Wikipedia ↗ |
| 13 | 1962 | APL | ground-up | Niche | aplwiki.com ↗ |
| 14 | 1963 | CPL | ALGOL 60 | Dead | Wikipedia ↗ |
| 15 | Apr 1964 | PL/I | FORTRAN + COBOL + ALGOL | Legacy | ibm.com ↗ |
| 16 | May 1, 1964 | BASIC | FORTRAN + ALGOL | Legacy | Wikipedia ↗ |
| ≈ 17 | 1967 | Logo | LISP | Niche | el.media.mit.edu ↗ |
| ≈ 18 | May 1967 | Simula 67 | ALGOL 60 | Dead | simula67.info ↗ |
| ≈ 19 | Jul 1967 | BCPL | CPL | Dead | Wikipedia ↗ |
| 20 | Feb 1968 | ALGOL 68 | ALGOL 60 | Dead | algol68-lang.org ↗ |
| 21 | 1969 | B | BCPL | Dead | Wikipedia ↗ |
| ≈ 22 | 1970 | Forth | ground-up | Niche | forth-standard.org ↗ |
| ≈ 23 | 1970 | Pascal | ALGOL 60/W | Niche (Delphi) | Wikipedia ↗ |
| ≈ 24 | 1972 | Prolog | ground-up (logic) | Niche | prolog-lang.org ↗ |
| ≈ 25 | Jun 12, 1972 | C | B | Yes | c-language.org ↗ |
| ≈ 26 | Oct 1972 | Smalltalk | Simula + LISP | Niche | Wikipedia ↗ |
| 27 | 1973 | ML | LISP + type theory | Niche | Wikipedia ↗ |
| 28 | Dec 1975 | Scheme | LISP | Niche | scheme.org ↗ |
| 29 | 1977 | awk | C + sed/grep | Yes | Wikipedia ↗ |
| ≈ 30 | 1978 | dBase | ground-up | Legacy | dbase.com ↗ |
| ≈ 31 | Aug 1978 | TeX | ground-up | Niche (LaTeX) | tug.org ↗ |
| ≈ 32 | 1979 | Modula-2 | Pascal | Dead | modula2.org ↗ |
| ≈ 33 | Jan 1979 | Bourne shell | Thompson shell + ALGOL 68 | Yes | Wikipedia ↗ |
| ≈ 34 | Jun 1979 | SQL | ground-up (relational algebra) | Yes | Wikipedia ↗ |
| ≈ 35 | 1983 | ABAP | COBOL | Yes (SAP) | community.sap.com ↗ |
| ≈ 36 | Apr 11, 1983 | Ada | Pascal + ALGOL 68 | Niche (defense) | adaic.org ↗ |
| ≈ 37 | 1984 | Objective-C | C + Smalltalk | Legacy | developer.apple.com ↗ |
| ≈ 38 | 1984 | Verilog | C syntax | Yes (chip design) | ieeexplore.ieee.org ↗ |
| ≈ 39 | Dec 1984 | MATLAB | ground-up (Fortran libs) | Yes | mathworks.com ↗ |
| 40 | Feb 1985 | C++ | C + Simula | Yes | isocpp.org ↗ |
| 41 | Aug 1985 | VHDL | Ada | Yes (chip design) | opensource.ieee.org ↗ |
| ≈ 42 | 1986 | Erlang | Prolog | Niche | erlang.org ↗ |
| ≈ 43 | Dec 1986 | Eiffel | Simula/Ada | Niche | eiffel.org ↗ |
| 44 | Dec 18, 1987 | Perl | C + sed + awk + shell | Legacy | perl.org ↗ |
| ≈ 45 | 1989 | Tcl | shell + LISP | Niche | Wikipedia ↗ |
| ≈ 46 | Jun 8, 1989 | Bash | Bourne + ksh + csh | Yes | gnu.org ↗ |
| 47 | Apr 1, 1990 | Haskell | Miranda + ML | Niche | haskell.org ↗ |
| 48 | Feb 20, 1991 | Python | ABC + C | Yes | python.org ↗ |
| 49 | May 1991 | Visual Basic | BASIC | Legacy | learn.microsoft.com ↗ |
| 50 | Aug 6, 1991 | HTML | SGML | Yes | html.spec.whatwg.org ↗ |
| 51 | Aug 1993 | R | S + Scheme | Yes | r-project.org ↗ |
| 52 | Jul 8, 1994 | Lua | SOL/DEL + Modula | Yes | lua.org ↗ |
| 53 | May 23, 1995 | Java | C++ + Smalltalk/Obj-C | Yes | oracle.com ↗ |
| 54 | Jun 8, 1995 | PHP | Perl/C | Yes | php.net ↗ |
| 55 | Sep 18, 1995 | JavaScript | Scheme + Self + Java syntax | Yes | ecma-international.org ↗ |
| 56 | Dec 21, 1995 | Ruby | Perl + Smalltalk + LISP | Yes | ruby-lang.org ↗ |
| 57 | May 9, 1996 | OCaml | Caml/ML | Niche | ocaml.org ↗ |
| 58 | Aug 13, 1996 | CSS | ground-up | Yes | w3.org ↗ |
| 59 | Feb 10, 1998 | XML | SGML | Yes | Wikipedia ↗ |
| 60 | Jul 2000 | C# | C++ + Java | Yes | learn.microsoft.com ↗ |
| 61 | Aug 24, 2000 | ActionScript | JavaScript/ECMAScript | Dead (Flash EOL 2020) | Wikipedia ↗ |
| ≈ 62 | 2001 | JSON | JavaScript object syntax | Yes | json.org ↗ |
| ≈ 63 | May 11, 2001 | YAML | XML + Python + Perl | Yes | yaml.org ↗ |
| 64 | Jun 4, 2002 | F# | OCaml | Niche | fsharp.org ↗ |
| 65 | Jun 11, 2003 | GLSL | C | Yes (shaders) | opengl.org ↗ |
| 66 | Aug 29, 2003 | Groovy | Java + Python/Ruby | Niche | groovy-lang.org ↗ |
| 67 | Jan 20, 2004 | Scala | Java + ML/Haskell | Niche | scala-lang.org ↗ |
| 68 | Mar 2004 | Markdown | plain-text conventions | Yes | daringfireball.net ↗ |
| 69 | Jun 17, 2005 | PowerShell | C# + Unix shells | Yes | microsoft.com ↗ |
| 70 | Feb 15, 2007 | CUDA C | C/C++ extension | Yes (GPU/AI) | developer.nvidia.com ↗ |
| 71 | Oct 2007 | Clojure | LISP on JVM | Niche | clojure.org ↗ |
| 72 | Nov 10, 2009 | Go | C + CSP | Yes | go.dev ↗ |
| 73 | Dec 24, 2009 | CoffeeScript | JS + Ruby/Python syntax | Legacy | coffeescript.org ↗ |
| 74 | Mar 12, 2011 | Elixir | Ruby syntax on Erlang VM | Niche | elixir-lang.org ↗ |
| 75 | Jul 2011 | Kotlin | Java + Scala | Yes (Android) | kotlinlang.org ↗ |
| 76 | Oct 10, 2011 | Dart | Java/JS/Smalltalk | Yes (Flutter) | dart.dev ↗ |
| 77 | Jan 20, 2012 | Rust | C++ target + ML/Cyclone | Yes | rust-lang.org ↗ |
| 78 | Feb 14, 2012 | Julia | MATLAB/Python/LISP/R | Niche | julialang.org ↗ |
| 79 | Mar 30, 2012 | Elm | Haskell → JS | Niche | elm-lang.org ↗ |
| 80 | Oct 1, 2012 | TypeScript | JavaScript superset | Yes | typescriptlang.org ↗ |
| 81 | Jun 2, 2014 | Swift | replaces Obj-C; Rust/Haskell/Ruby/Python | Yes | swift.org ↗ |
| 82 | Aug 2014 | Solidity | JS/C++/Python | Yes (Ethereum) | soliditylang.org ↗ |
| 83 | Sep 14, 2015 | GraphQL | ground-up | Yes | graphql.org ↗ |
| 84 | Feb 8, 2016 | Zig | C/Rust/Go | Niche | ziglang.org ↗ |
| 85 | Mar 7, 2017 | WebAssembly | ground-up bytecode | Yes | webassembly.org ↗ |
| 86 | Apr 15, 2019 | Gleam | Rust/Elm syntax on Erlang VM | Niche | gleam.run ↗ |
| 87 | Jul 19, 2022 | Carbon | C++ successor | Experimental | github.com ↗ |
| 88 | May 2, 2023 | Mojo | Python superset (MLIR) | Niche | mojolang.org ↗ |
Tally: 38 Yes, 26 Niche, 9 Legacy, 14 Dead, 1 Experimental.
Questions and answers
What was the first programming language?
By launch date, the first here is Assembly (1947). The first high-level language to be designed was Plankalkül: Konrad Zuse worked it out in 1942–45 and first published it in 1948. He never ran it on his own machines; the first compiler for it was built in 1975.
What's the oldest programming language still in use?
Assembly (1947) — the oldest entry still marked In use. The oldest high-level language still in use is FORTRAN (Apr 1957).
How many of these languages are still used today?
38 of 88 are in use for new work, 26 are niche, 9 survive in older systems, 14 are dead and 1 is experimental.
Which languages are dead?
Plankalkül, ENIAC Short Code, Autocode, A-0, Speedcoding, ALGOL 58, ALGOL 60, CPL, Simula 67, BCPL, ALGOL 68, B, Modula-2, ActionScript.
What is the difference between Legacy and Niche?
A legacy language still runs inside older systems but is rarely chosen for anything new (COBOL in banks). A niche language is alive and still chosen today, just by a smaller community or for specific jobs (Haskell, Erlang).
Sources and method
Status and lineage come from our research list. Each language links to its official website, taken from its Wikipedia record; where a language has no official site, the link goes to Wikipedia. Every link is checked to load each time this page is built. Years were checked against each language's Wikipedia record, and three entries were corrected where the record disagreed (Assembly, ActionScript, CoffeeScript). Launch dates are the first release people could use — or the first publication, for a language that only existed on paper — each checked against a cited source. Where sources disagree on the month or day, only the part they agree on is shown.
Why this is on dupelint
Every language here was built from the ones before it — the Derived from column is the family tree. The same building blocks, and the same copy-paste habits, carry through all of them. dupelint proves duplicate code in Python today; C++ and TypeScript / JavaScript are next on the roadmap.