learning resources
lists
- Wikipedia: List of programming languages by type
- Wikipedia: Timeline of programming languages
- Wikipedia: Programming language generations
paradigms
- Wikipedia: Functional programming
algorithms
- The Algorithms: the-algorithms.com - "GitHub's largest open-source algorithm library"
tools
- Compiler Explorer: godbolt.org
notes
- Esoteric programming language
- Esolang, the esoteric programming languages wiki
- Community portal
- IRC: #esolangs on Libera.Chat
- Discord
- Community portal
- Wikipedia
- LoUIE -- Chris Pressey's List of Unfinished Interesting Esolangs
- TIO - Try It Online
- Esolang, the esoteric programming languages wiki
- theory and design
- Programming language design (proglangdesign.net)
- Reddit: /r/ProgrammingLanguages
- irc: #proglangdesign on libera.chat
- Discord
- Programming language design (proglangdesign.net)
comics
presentations
- Tony Hoare: Null References: The Billion Dollar Mistake (QCon -- Aug 25, 2009)
recommendations
- five recommendations by ESR: Python, C/C++, Perl, and LISP
important aspects from different people
- sum types, mutation control, stdlib with result/option, a comfortable way to print errors
further rankings
- GitHub Octoverse trends
- 2021: JavaScript, Python, Java, TypeScript. C#, PHP, C++, Shell, C, Ruby
- languish (GitHub) by Tom (tjpalmer)
- "a web page for exploring programming language trends"
comparisons
- Odin vs. Zig
- Reddit - r/odinlang - Odin vs Zig for a hobby project (cross-platform game client + game server) by Potential_Passage_96
- Reddit - r/Zig - Odin vs Zig for a hobby project (cross-platform game client + game server) by Potential_Passage_96
comparison
| ADT | Algebraic data type | → Wikipedia (English) |
| compiled | Compiled language | → Wikipedia (English) |
| context | Context management / Defer | → Python Programming Wikibook |
| expl. err. | Explicit errors | → Wikipedia (English): Exception handling |
| HBH | How To Become A Hacker | → essay by Eric S. Raymond |
| HOF | Higher-order function | → Wikipedia (English) |
| ImO | Immutable object | → Wikipedia (English) |
| LoC | languages of choice | → entry in The Jargon File |
| P.M. | Pattern matching | → Wikipedia (English) |
| S.T. | Statically typed | → Wikipedia (English) - Category |
- Explicit errors
- Wikipedia: Result type
- Wikipedia: Option type
general
| score | name | year | features | refs | (me) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S.T. | ADT | compiled | context | expl. err. | HOF | ImO | P.M. | LoC | HBH | ||||||
| General | |||||||||||||||
| 735 | Haskell | 1990 (35) | yes (100) | yes (100) | yes (100) | Maybe (100) | yes (100) | yes (100) | yes (100) | -- | -- | (tried) | |||
| 710 | Rust | 2015 (10) | yes (100) | yes (100) | yes (100) | Result (100) | yes (100) | yes (100) | yes (100) | -- | -- | (some) | |||
| 669 | OCaml | 1996 (29) | yes (100) | yes (100) | yes (100) | exceptions | Result (40) | yes (100) | yes (100) | yes (100) | -- | -- | (some) | |||
| 629 | Gleam | 2016 (9) | yes (100) | yes (100) | BEAM VM (30) | Result (100) | yes (100) | compile-time (90) | yes (100) | -- | -- | (maybe) | |||
| 606 | Go | 2009 (16) | yes (100) | interface (20) | yes (100) | defer (100) | nil return (50) | yes (100) | compile-time (90) | -- | -- | 2nd (30) | (some) | ||
| 577 | Python | 1991 (34) | -- | yes (100) | Python BC (1) | context manager (100) | exceptions (1) | yes (100) | part (1) | yes (100) | yes (100) | 1st (40) | (much) | ||
| 566 | C++ | 1985 (40) | yes (100) | yes (100) | yes (100) | exceptions (1) | yes (100) | yes (100) | old (10) | 3.a (15) | |||||
| 481 | Scala | 2004 (21) | yes (100) | yes (100) | Java VM (20) | exceptions | Option (40) | yes (100) | yes (100) | -- | -- | |||||
| 435 | C# | 2000 (25) | yes (100) | CLI/.NET (10) | yes (100) | yes (100) | yes (100) | -- | -- | ||||||
| 430 | F# | 2005 (20) | yes (100) | yes (100) | CLI/.NET (10) | yes (100) | yes (100) | -- | -- | ||||||
| 424 | D | 2001 (24) | yes (100) | yes (100) | yes (100) | yes (100) | -- | -- | |||||||
| 418 | Cython | 2006 (19) | yes (100) | yes (100) | via C (99) | yes (100) | -- | -- | -- | ||||||
| 417 | Nim | 2008 (17) | yes (100) | yes (100) | via C (99) | defer (100) | exceptions (1) | -- | -- | (some) | |||||
| 414 | Dart | 2011 (14) | yes (100) | yes (100) | yes (100) | yes (100) | -- | -- | (Flutter) | ||||||
| 401 | Common Lisp | 1984 (41) | -- | library (80) | yes (100) | yes (100) | (yes) (50) | (2nd) (30) | |||||||
| 397 | Java | 1995 (30) | yes (100) | sealed interface + record (20) | Java VM (20) | exceptions (1) | yes (100) | part (1) | yes (100) | 2.a (25) | (prev.) | ||||
| 374 | C | 1972 (53) | yes (100) | struct (1) | yes (100) | -- | (return) (0) | -- | macro (0) | yes (100) | 3rd (20) | (some) | |||
| 349 | Perl | 1987 (38) | -- | yes (100) | -- | yes (100) | part (1) | yes (100) | 4th (10) | ||||||
| 335 | Kotlin | 2011 (14) | yes (100) | yes (100) | Java VM (20) | exceptions (1) | yes (100) | -- | -- | ||||||
| 301 | Crystal | 2014 (11) | yes (100) | by LLVM (90) | union (100) | -- | -- | ||||||||
| 278 | Fortran | 1957 (68) | yes (100) | yes (100) | old (10) | -- | |||||||||
| 242 | Standard ML | 1983 (42) | yes (100) | yes (100) | -- | -- | |||||||||
| 238 | Clojure | 2007 (18) | -- | Java VM (20) | yes (100) | yes (100) | -- | -- | (maybe) | ||||||
| 220 | Haxe | 2005 (20) | yes (100) | yes (100) | -- | -- | |||||||||
| 213 | TypeScript | 2012 (13) | yes (100) | yes (100) | (to JavaScript) (0) | -- | -- | ||||||||
| 180 | JavaScript | 1995 (30) | -- | -- | yes (100) | new (50) | -- | -- | (web) | ||||||
| 169 | Erlang | 1986 (39) | BEAM VM (30) | yes (100) | -- | -- | (maybe) | ||||||||
| 155 | Forth | 1970 (55) | -- | yes (100) | -- | -- | |||||||||
| 145 | Pascal / Delphi | 1970 (55) | yes (100) | (loss) (-10) | -- | ||||||||||
| 143 | Elixir | 2012 (13) | BEAM VM (30) | yes (100) | -- | -- | (tried) | ||||||||
| 139 | Eiffel | 1986 (39) | yes (100) | -- | -- | ||||||||||
| 132 | Lua | 1993 (32) | -- | -- | yes (100) | -- | -- | (some) | |||||||
| 131 | Racket | 1995 (30) | yes (100) | part (1) | -- | -- | (tried) | ||||||||
| 130 | Ruby | 1995 (30) | -- | yes (100) | -- | -- | (Sonic Pi) | ||||||||
| 130 | PHP | 1995 (30) | -- | yes (100) | -- | -- | (some) | ||||||||
| 124 | Visual Basic (.NET) | 2001 (24) | yes (100) | -- | -- | ||||||||||
| 83 | Julia | 2012 (13) | -- | optional (70) | -- | -- | |||||||||
| 46 | MIT/GNU Scheme | 1979 (46) | -- | -- | -- | ||||||||||
| 42 | Groovy | 2003 (22) | Java VM (20) | -- | -- | ||||||||||
| 42 | GW-BASIC | 1983 (42) | -- | -- | (tried) | ||||||||||
| 40 | Chez Scheme | 1985 (40) | -- | -- | -- | (plan) | |||||||||
| 39 | Oberon | 1987 (38) | hybrid (1) | -- | -- | ||||||||||
| 37 | Tcl | 1988 (37) | -- | -- | -- | -- | |||||||||
| 35 | Ada | 1980 (45) | (loss) (-10) | -- | |||||||||||
| 32 | Guile | 1993 (32) | -- | -- | |||||||||||
| 16 | CoffeeScript | 2009 (16) | -- | (to JavaScript) (0) | -- | -- | |||||||||
| 13 | Hy | 2013 (12) | -- | Python BC (1) | -- | -- | (tried) | ||||||||
| 10 | Raku | 2015 (10) | -- | -- | -- | ||||||||||
| 0 | Fennel | (to Lua) (0) | -- | -- | (maybe) | ||||||||||
| General - before 1.0 | |||||||||||||||
| 706 | V | 2019 (6) | yes (100) | yes (100) | yes (100) | defer (100) | Result (100) | yes (100) | yes (100) | -- | -- | (waiting) | |||
| 499 | Odin | 2016 (9) | yes (100) | yes (100) | defer (100) | value (90) | -- | yes (100) | -- | -- | (some) | ||||
| 399 | Zig | 2016 (9) | yes (100) | yes (100) | defer (100) | value (90) | -- | -- | (some) | ||||||
| 300 | Hare | yes (100) | yes (100) | defer (100) | -- | -- | (waiting) | ||||||||
| 218 | Vala | 2006 (19) | yes (100) | via C (99) | -- | -- | |||||||||
| 199 | Nimskull | yes (100) | via C (99) | -- | -- | (waiting) | |||||||||
| 196 | Beef | 2019 (6) | yes (100) | by LLVM (90) | -- | -- | |||||||||
| 123 | AssemblyScript | 2017 (8) | yes (100) | WASM (15) | -- | -- | |||||||||
| 111 | Jai | 2014 (11) | yes (100) | -- | -- | (waiting) | |||||||||
| 100 | C3 | yes (100) | -- | -- | |||||||||||
| 100 | Onyx | yes (100) | -- | -- | |||||||||||
| Stagnated (no recent release) | |||||||||||||||
| 14 | MoonScript | 2011 (14) | (to Lua) (0) | -- | -- | ||||||||||
| Translation layer | |||||||||||||||
| 188 | assembly | 1947 (78) | yes (100) | -- | old (10) | -- | (tried) | ||||||||
| 8 | WebAssembly | 2017 (8) | -- | -- | |||||||||||
| System | |||||||||||||||
| 54 | shell scripts | 1971 (54) | -- | -- | (some) | ||||||||||
| 48 | AWK | 1977 (48) | -- | -- | |||||||||||
| 19 | PowerShell | 2006 (19) | -- | -- | -- | (read) | |||||||||
| Database | |||||||||||||||
| 151 | SQL | 1974 (51) | yes (100) | -- | -- | (some) | |||||||||
| 48 | Datalog | 1977 (48) | -- | -- | |||||||||||
| 0 | Transact-SQL | -- | -- | ||||||||||||
| 0 | PL/SQL | -- | -- | ||||||||||||
| Domain-specific | |||||||||||||||
| 313 | Elm | 2012 (13) | yes (100) | (to JavaScript) (0) | Result (100) | yes (100) | -- | -- | |||||||
| 184 | Prolog | 1972 (53) | untyped (1) | yes (100) | small (30) | -- | (tried) | ||||||||
| 132 | R | 1993 (32) | -- | -- | yes (100) | -- | -- | ||||||||
| 59 | APL | 1966 (59) | -- | -- | |||||||||||
| 53 | SAS | 1972 (53) | -- | -- | |||||||||||
| 49 | GAMS | 1976 (49) | -- | -- | |||||||||||
| 46 | MATLAB | 1979 (46) | -- | -- | -- | ||||||||||
| 35 | J | 1990 (35) | -- | -- | -- | ||||||||||
| 23 | Faust | 2002 (23) | -- | -- | |||||||||||
| 0 | Tidal | -- | -- | ||||||||||||
| Teaching | |||||||||||||||
| 58 | Logo | 1967 (58) | -- | -- | -- | ||||||||||
| 55 | Flow | 1970 (55) | -- | -- | |||||||||||
| 22 | Scratch | 2003 (22) | -- | -- | (tried) | ||||||||||
| Experimental | |||||||||||||||
| 200 | Carbon | yes (100) | yes (100) | -- | -- | ||||||||||
| 100 | Carp | yes (100) | -- | -- | |||||||||||
| 100 | Sage | yes (100) | -- | -- | |||||||||||
| 17 | Arc | 2008 (17) | -- | -- | -- | (read) | |||||||||
| Esoteric | |||||||||||||||
| 33 | Brainfuck | 1993 (32) | typeless (1) | -- | -- | -- | (read) | ||||||||
| 7 | Rockstar | 2018 (7) | -- | -- | |||||||||||
other
Rankings
| sum | name | year | IEEE/S | IEEE/J | IEEE/T | PYPL | RedMonk | SO-ADS/MP | SO-ADS/AD | SO-ADS/TP | TIOBE | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Aug 2023 | Aug 2023 | Aug 2023 | Feb 2024 | Jan 2023 | May 2023 | May 2023 | May 2023 | Jan 2024 | |||||||
| General | |||||||||||||||
| 38 | Python | 1991 | 1 (1.0) | 2 (0.8913) | 1 (1.0) | 1 (28.11%) | 2 | 3 (49.28%) | 2 | 25 | 1 (13.97%) | ||||
| 63 | JavaScript | 1995 | 5 (0.4638) | 4 (0.5514) | 3 (0.5540) | 3 (8.57%) | 1 | 1 (63.61%) | 1 | 39 | 6 (2.77%) | ||||
| 73 | Java | 1995 | 2 (0.5880) | 3 (0.7899) | 2 (0.7358) | 2 (15.52%) | 3 | 7 (30.55%) | 10 | 40 | 4 (7.87%) | ||||
| 80 | C++ | 1985 | 3 (0.5380) | 5 (0.4551) | 4 (0.4599) | 4 (6.92% - w/C) | 7 | 9 (22.42%) | 11 | 34 | 3 (9.96%) | ||||
| 81 | C# | 2000 | 6 (0.3973) | 6 (0.3076) | 6 (0.4187) | 5 (6.73%) | 5 | 8 (27.62%) | 7 | 33 | 5 (7.16%) | ||||
| 95 | C | 1972 | 4 (0.4641) | 7 (0.3048) | 7 (0.3497) | 4 (6.92% - w/C++) | 10 | 10 (19.34%) | 13 | 38 | 2 (11.44%) | ||||
| 98 | Go | 2009 | 8 (0.2157) | 12 (0.0819) | 9 (0.1921) | 12 (2.04%) | 14 | 13 (13.24%) | 9 | 10 | 11 (1.38%) | ||||
| 117 | TypeScript | 2012 | 9 (0.1794) | 11 (0.1661) | 10 (0.1882) | 8 (2.78%) | 7 | 5 (38.87%) | 3 | 29 | 35 (0.39%) | ||||
| 134 | Ruby | 1995 | 14 (0.0680) | 20 (0.0555) | 18 (0.0507) | 17 (0.98%) | 9 | 16 (6.23%) | 18 | 4 | 18 (0.80%) | ||||
| 134 | PHP | 1995 | 13 (0.1186) | 16 (0.0728) | 12 (0.1144) | 7 (4.57%) | 4 | 11 (18.58%) | 14 | 50 | 7 (1.79%) | ||||
| 148 | Rust | 2015 | 18 (0.0576) | 30 (0.0162) | 17 (0.0510) | 11 (2.23%) | 19 | 14 (13.05%) | 6 | 14 | 19 (0.79%) | ||||
| 159 | Kotlin | 2011 | 19 (0.0523) | 21 (0.0486) | 19 (0.0498) | 13 (1.75%) | 17 | 15 (9.06%) | 12 | 26 | 17 (0.85%) | ||||
| 194 | Scala | 2004 | 21 (0.0449) | 19 (0.0585) | 22 (0.0390) | 21 (0.59%) | 14 | 27 (2.77%) | 25 | 8 | 37 (0.34%) | ||||
| 211 | Perl | 1987 | 23 (0.0373) | 15 (0.0747) | 23 (0.0357) | 25 (0.33%) | 21 (n/a) | 28 (2.46%) | 37 | 9 | 30 (0.52%) | ||||
| 215 | Visual Basic (.NET) | 2001 | 24 (0.0326) | 14 (0.0757) | 20 (0.0427) | 24 (0.51%) | 21 (n/a) | 22 (4.07%) | 34 | 48 | 8 (1.60%) | ||||
| 221 | Dart | 2011 | 17 (0.0594) | 36 (0.0099) | 16 (0.0628) | 16 (0.98%) | 19 | 18 (6.02%) | 16 | 51 | 32 (0.43%) | ||||
| 243 | F# | 2005 | 44 (0.007) | 25 (0.0234) | 33 (0.0110) | 30 (n/a) | 21 (n/a) | 38 (0.97%) | 27 | 3 | 22 (0.77%) | ||||
| 253 | Lua | 1993 | 26 (0.0225) | 46 (0.0011) | 46 (0.0063) | 20 (0.85%) | 21 (n/a) | 17 (6.09%) | 19 | 22 | 36 (0.37%) | ||||
| 254 | Groovy | 2003 | 29 (0.0151) | 24 (0.0286) | 27 (0.0169) | 26 (0.33%) | 21 (n/a) | 25 (3.4%) | 35 | 16 | 51 (n/a) | ||||
| 264 | Elixir | 2012 | 33 (0.0116) | 40 (0.0049) | 34 (0.0109) | 30 (n/a) | 21 (n/a) | 29 (2.32%) | 20 | 6 | 51 (n/a) | ||||
| 275 | Clojure | 2007 | 31 (0.0122) | 45 (0.0011) | 28 (0.0147) | 30 (n/a) | 21 (n/a) | 35 (1.26%) | 29 | 5 | 51 (n/a) | ||||
| 277 | Fortran | 1957 | 27 (0.0186) | 37 (0.0082) | 35 (0.0102) | 30 (n/a) | 21 (n/a) | 39 (0.95%) | 45 | 31 | 12 (1.09%) | ||||
| 283 | Ada | 1980 | 36 (0.0107) | 29 (0.0173) | 30 (0.0122) | 15 (1.08%) | 21 (n/a) | 42 (0.77%) | 42 | 42 | 26 (0.62%) | ||||
| 288 | Julia | 2012 | 30 (0.0146) | 42 (0.0034) | 42 (0.0073) | 23 (0.56%) | 21 (n/a) | 36 (1.15%) | 26 | 35 | 33 (0.40%) | ||||
| 293 | Erlang | 1986 | 38 (0.0099) | 49 (0.0003) | 32 (0.0114) | 30 (n/a) | 21 (n/a) | 37 (0.99%) | 33 | 2 | 51 (n/a) | ||||
| 298 | Pascal / Delphi | 1970 | 45 (0.0068) | 44 (0.0023) | 47 (0.0047) | 29 (0.19%) | 21 (n/a) | 26 (3.23%) (Delphi) | 28 (Delphi) | 45 (Delphi) | 13 (1.09%) | ||||
| 301 | Haskell | 1990 | 43 (0.007) | 51 (0.0003) | 43 (0.0065) | 27 (0.26%) | 21 (n/a) | 31 (2.09%) | 23 | 18 | 44 (0.28%) | ||||
| 310 | Common Lisp | 1984 | 49 (0.0048) (LISP) | 50 (0.0003) (LISP) | 48 (0.0036) (LISP) | 30 (n/a) | 21 (n/a) | 33 (1.53%) (LISP) | 30 (LISP) | 7 (LISP) | 42 (0.28%) (LISP) | ||||
| 340 | OCaml | 1996 | 46 (0.0068) | 55 | 45 (0.0063) | 30 (n/a) | 21 (n/a) | 43 (0.7%) | 38 | 11 | 51 (n/a) | ||||
| 378 | D | 2001 | 42 (0.007) | 58 | 50 (0.0022) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 21 (0.77%) | ||||
| 380 | Tcl | 1988 | 47 (0.0063) | 31 (0.0152) | 44 (0.0063) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 391 | Nim | 2008 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 48 (0.38%) | 41 | 23 | 51 (n/a) | ||||
| 395 | Raku | 2015 | 58 | 52 | 58 | 30 (n/a) | 21 (n/a) | 51 (0.18%) | 50 | 24 | 51 (n/a) | ||||
| 397 | Crystal | 2014 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 47 (0.44%) | 43 | 28 | 51 (n/a) | ||||
| 415 | Forth | 1970 | 55 (0.0005) | 47 (0.0009) | 55 (0.0004) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 416 | CoffeeScript | 2009 | 53 (0.0012) | 54 | 51 (0.0014) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 420 | MIT/GNU Scheme | 1979 | 52 (0.0013) (Scheme) | 56 (Scheme) | 54 (0.0006) (Scheme) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 420 | Eiffel | 1986 | 56 | 53 | 57 (0.0001) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 47 (0.24%) | ||||
| 420 | Racket | 1995 | 52 (0.0013) (Scheme) | 56 (Scheme) | 54 (0.0006) (Scheme) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 420 | Chez Scheme | 1985 | 52 (0.0013) (Scheme) | 56 (Scheme) | 54 (0.0006) (Scheme) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 433 | Standard ML | 1983 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 49 (0.23%) (ML) | ||||
| 435 | Hy | 2013 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Gleam | 2016 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Cython | 2006 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Oberon | 1987 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Haxe | 2005 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Guile | 1993 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Fennel | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| 435 | GW-BASIC | 1983 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| General - before 1.0 | |||||||||||||||
| 343 | Zig | 2016 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 41 (0.83%) | 22 | 1 | 51 (n/a) | ||||
| 435 | Nimskull | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| 435 | AssemblyScript | 2017 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | C3 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| 435 | Vala | 2006 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | V | 2019 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Onyx | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| 435 | Jai | 2014 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Hare | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| 435 | Beef | 2019 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Odin | 2016 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| Stagnated (no recent release) | |||||||||||||||
| 435 | MoonScript | 2011 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| Translation layer | |||||||||||||||
| 216 | assembly | 1947 | 22 (0.0383) | 34 (0.0117) | 24 (0.0295) | 30 (n/a) | 21 (n/a) | 19 (5.43%) | 21 | 30 | 15 (0.92%) | ||||
| 345 | WebAssembly | 2017 | 39 (0.0095) | 22 (0.0437) | 26 (0.0173) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| System | |||||||||||||||
| 156 | shell scripts | 1971 | 12 (0.1286) | 9 (0.2547) | 11 (0.1420) | 30 (n/a) | 12 | 6 (32.37%) | 8 | 17 | 51 (n/a) | ||||
| 311 | PowerShell | 2006 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 18 (0.94%) | 18 | 12 (13.59%) | 15 | 20 | 51 (n/a) | ||||
| 430 | AWK | 1977 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 46 (0.27%) | ||||
| Database | |||||||||||||||
| 119 | SQL | 1974 | 7 (0.3397) | 1 (1.0) | 5 (0.4427) | 30 (n/a) | 21 (n/a) | 4 (48.66%) | 5 | 37 | 9 (1.46%) | ||||
| 423 | Transact-SQL | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 39 (0.30%) | |||||
| 429 | PL/SQL | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 45 (0.27%) | |||||
| 435 | Datalog | 1977 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| Domain-specific | |||||||||||||||
| 163 | R | 1993 | 11 (0.1316) | 17 (0.0685) | 13 (0.1080) | 6 (4.75%) | 12 | 21 (4.23%) | 24 | 36 | 23 (0.74%) | ||||
| 211 | MATLAB | 1979 | 20 (0.0502) | 13 (0.0819) | 21 (0.0420) | 14 (1.64%) | 21 (n/a) | 23 (3.81%) | 36 | 49 | 14 (0.97%) | ||||
| 231 | SAS | 1972 | 15 (0.0640) | 10 (0.1737) | 15 (0.0651) | 30 (n/a) | 21 (n/a) | 46 (0.49%) | 49 | 21 | 24 (0.70%) | ||||
| 367 | Prolog | 1972 | 51 (0.0026) | 57 | 52 (0.0013) | 30 (n/a) | 21 (n/a) | 40 (0.89%) | 44 | 44 | 28 (0.56%) | ||||
| 375 | J | 1990 | 48 (0.0058) | 28 (0.0200) | 41 (0.0084) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 402 | APL | 1966 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 49 (0.26%) | 47 | 27 | 51 (n/a) | ||||
| 419 | Elm | 2012 | 57 | 48 (0.0003) | 56 (0.0002) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 422 | GAMS | 1976 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 38 (0.33%) | ||||
| 435 | Faust | 2002 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Tidal | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| Hardware | |||||||||||||||
| 342 | SystemVerilog | 2002 | 28 (0.0176) (Verilog) | 27 (0.0204) (Verilog) | 29 (0.0147) (Verilog) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 366 | VHDL | 1983 | 35 (0.0107) | 33 (0.0118) | 40 (0.0089) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 367 | Arduino | 2003 | 32 (0.0117) | 41 (0.0049) | 36 (0.0100) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 371 | Cuda | 2007 | 40 (0.0094) | 35 (0.0112) | 38 (0.0098) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 408 | Ladder Logic | 54 (0.0012) | 43 (0.0023) | 53 (0.0009) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| 435 | GLSL | 2004 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| Teaching | |||||||||||||||
| 393 | Flow | 1970 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 50 (0.24%) | 51 | 13 | 51 (n/a) | ||||
| 394 | Scratch | 2003 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 10 (1.44%) | ||||
| 424 | Logo | 1967 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 40 (0.30%) | ||||
| Markup / styling | |||||||||||||||
| 162 | HTML | 1993 | 10 (0.1390) | 8 (0.2978) | 8 (0.2020) | 30 (n/a) | 6 (CSS) | 2 (52.97% - w/CSS) | 4 (w/CSS) | 43 (w/CSS) | 51 (n/a) | ||||
| 162 | CSS | 1996 | 10 (0.1390) (HTML) | 8 (0.2978) (HTML) | 8 (0.2020) (HTML) | 30 (n/a) | 6 | 2 (52.97% - w/HTML) | 4 (w/HTML) | 43 (w/HTML) | 51 (n/a) | ||||
| 427 | CFML | 1995 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 43 (0.28%) | ||||
| 435 | PostScript | 1982 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | LaTeX | 1984 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| Application-specific | |||||||||||||||
| 136 | Swift | 2014 | 16 (0.0629) | 18 (0.0638) | 14 (0.0707) | 9 (2.75%) | 11 | 20 (4.65%) | 17 | 15 | 16 (0.89%) | ||||
| 364 | LabView "G" | 1986 | 41 (0.0091) | 26 (0.0233) | 39 (0.0089) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 371 | Mathematica | 1988 | 37 (0.0102) | 39 (0.0063) | 37 (0.0098) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 377 | Abap | 1983 | 50 (0.0037) | 38 (0.0072) | 49 (0.0029) | 22 (0.57%) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 41 (0.29%) | ||||
| 379 | VBA | 1993 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 19 (0.88%) | 21 (n/a) | 24 (3.55%) | 40 | 47 | 51 (n/a) | ||||
| 385 | Solidity | 2014 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 34 (1.33%) | 31 | 41 | 51 (n/a) | ||||
| 388 | Apex | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 44 (0.66%) | 46 | 19 | 51 (n/a) | |||||
| 389 | GDScript | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 32 (1.71%) | 32 | 46 | 51 (n/a) | |||||
| 418 | X++ | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 34 (0.39%) | |||||
| 434 | ActionScript | 1998 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 50 (0.23%) | ||||
| 435 | Emacs Lisp | 1985 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| Experimental | |||||||||||||||
| 435 | Carp | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| 435 | Carbon | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| 435 | Arc | 2008 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Sage | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | |||||
| Esoteric | |||||||||||||||
| 435 | Brainfuck | 1993 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 435 | Rockstar | 2018 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| Parent of a language family | |||||||||||||||
| 310 | LISP | 1960 | 49 (0.0048) | 50 (0.0003) | 48 (0.0036) | 30 (n/a) | 21 (n/a) | 33 (1.53%) | 30 | 7 | 42 (0.28%) | ||||
| 420 | Scheme | 1975 | 52 (0.0013) | 56 | 54 (0.0006) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 432 | Smalltalk | 1972 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 48 (0.23%) | ||||
| 433 | ML | 1973 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 49 (0.23%) | ||||
| Legacy | |||||||||||||||
| 211 | Objective-C | 1984 | 25 (0.0271) | 23 (0.0410) | 25 (0.0286) | 10 (2.37%) | 16 | 30 (2.31%) | 39 | 12 | 31 (0.46%) | ||||
| 291 | COBOL | 1959 | 34 (0.0109) | 32 (0.0149) | 31 (0.0120) | 28 (0.22%) | 21 (n/a) | 45 (0.66%) | 48 | 32 | 20 (0.78%) | ||||
| 409 | Visual FoxPro | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 25 (0.67%) | |||||
| Deprecated | |||||||||||||||
| 342 | Verilog | 1984 | 28 (0.0176) | 27 (0.0204) | 29 (0.0147) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 51 (n/a) | ||||
| 411 | Visual Basic (classic) | 1991 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 27 (0.60%) | ||||
| 413 | VBScript | 1996 | 59 (n/a) | 59 (n/a) | 59 (n/a) | 30 (n/a) | 21 (n/a) | 52 (n/a) | 52 (n/a) | 52 (n/a) | 29 (0.55%) | ||||
links
blog posts
- Turso Blog - Why I am not yet ready to switch to Zig from Rust (2024-06-19) by Pekka Enberg