A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | AG | AH | AI | AJ | AK | AL | AM | AN | AO | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | UPDATE JUNE 2019: EDITING LOCKED DUE TO VANDALISM. You can till comment though. | |||||||||||||||||||||||||||||||||||||||||
2 | Instructions: Preferrably link the text itself (Ctr + K), or insert a note with a link to the source if you add or change any answer (and, if you want, your name and email) | |||||||||||||||||||||||||||||||||||||||||
3 | Feel free to add additional "wishlist" features and compiled languages that you think fits here | |||||||||||||||||||||||||||||||||||||||||
4 | Content license: CC0 (by contributing, you agree to the license terms) | |||||||||||||||||||||||||||||||||||||||||
5 | Language (A-Z) | Has reached 1.0 | Compiled | Statically typed | Non-GPL OS license | Multi-core | Multi-threading | Light-weight threads | M:N multiplexing | Provides Garbage Collector | Can run w/o Garbage Collector | 1st class functions | Nested functions | Anonymous Functions | REPL | Generics | Delegation | Static DSLs | Class Inheritance | Package/Module support | Pattern Matching | Linux support | Mac OS support | Windows support | Android support | iOS support | Web support | Serverside support | WASM support | De-facto std dependency mgr | Goto | Dynamic data type | Simple type deduction | HM Style Type Inference | Algebraic data types | Hygienic Macros | Continuations | native 128b, 256b… data types | Mixins | "Hello World" executable size [KB] | RAII | |
6 | Ada | Yes | Yes | Yes | For GNU version | Yes | Yes | Yes (tasks) | Yes | Yes | Yes | Not yet | Yes | Ada2005+ | No | Yes | Yes | Yes | Under GNAT | Yes | Yes | Yes | Doable | Lacking port in GCC - doable | Yes | Yes | Yes | Yes | Yes | Maybe? | between 32 and 1500 | |||||||||||
7 | Astro | No | Yes | Yes | Yes | No | No | No | No | (Yes) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | Yes | No | Yes | No | No | ||||
8 | C | Yes | Yes | Yes | Yes | Yes | Yes | libmill.org | No | http://www.hboehm.info/gc/ | Yes | Function Pointers | via gcc extension | No | (Can be done with macros) | Third Party (PCRE) | Yes | Yes | Yes | Yes | Via Emscripten | No | Yes | No | No | No | No | No | Yes | 8.4 | ||||||||||||
9 | C++ | Yes | Yes | Yes | Yes | Yes | Yes | boost.fibers | No | Yes | Yes | c++11 | C++11 (Lambdas) | Yes | 3rd party | Yes | Yes | No | Yes (C++11) | Yes | xcode | ... | No | Yes | Yes | No | No | No | No (128b extensions, 3rd party GMP) | 8.4 | Yes | |||||||||||
10 | Crystal | Yes | Yes | Yes | Yes | ??? | ??? | Yes | ??? | Yes | No | Yes | No | Yes | No yet | Yes | Yes | Yes | Yes | Yes | In progress | Experimental | Yes (shard) | No | 173 | |||||||||||||||||
11 | D | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes? | Yes | Yes | 3rd party... | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Experimental | Yes(dub) | Yes | Yes | Yes | Yes | 876 | Yes | ||||||||||||
12 | FreePascal | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 30 | |||||||||||||||||||
13 | Go | Yes | Yes | Yes | Yes | Yes | (Yes) | Yes | Yes | Yes | No | Yes | Yes | Yes | 3rd party... | No | No | Yes | Yes | Yes | Yes | Yes | experimental | No | Yes | Yes | No | No | No | No | 934 | |||||||||||
14 | Haskell | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Typeclass Inheritance | Yes | Yes | Yes | Yes | Yes | Yes | Yes (cabal) | Yes | Yes | Yes | |||||||||||||||
15 | Idris | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | ||||||||||||||||||||||||||||||
16 | Kotlin | Yes | Yes | Yes | Yes | Yes | Yes (JVM only) | Yes | ? | Yes (JVM & JS only) | Yes (Native only) | Yes | Yes | Yes | Yes (JVM only) | Yes | Yes | Yes | Yes | Yes | No | Yes (JVM, JS and Native) | Yes (JVM, JS and Native) | Yes (JVM, JS and Native) | Yes | Experimental | Yes | Yes | Experimental | No (most Kotlin projects use Gradle) | No | Yes (JS only) | Yes | Yes | No | No | Yes | No | No | Linux - 284 | ||
17 | Luna | Yes | Yes | Yes | Yes | Yes | ||||||||||||||||||||||||||||||||||||
18 | Nim | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Via emscripten | Yes (nimble) | No | Yes | No | Yes | Yes | Yes | No | Yes | 85 | ||||
19 | OCaml | Yes | Yes | Yes | Yes | No | (Yes) | ? | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (OPAM) ? | Yes | Yes | Yes | ||||||||||||||||||||||
20 | ParaSail | Yes | Yes | Yes | Yes | Yes | Yes | ? | No | Yes | ||||||||||||||||||||||||||||||||
21 | Pony | No | Yes | Yes | Yes | Yes | Yes | actors | Yes | Yes (per actor) | No | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | Yes (stable) | No | Yes | No | Yes | In Progress | No | 128 | 326 | |||||||||
22 | Rust | Yes | Yes | Yes | llvm | Yes | Yes | fibers | No | No | Yes | Yes | Yes | Yes | Experimental 3rd party | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (cargo) | No | Yes | Yes | Yes | Yes | Experimental (128b) | between 9.2 and 3'600 | ||||||||||
23 | Swift | Yes | Yes | Yes | llvm | Yes | Yes | No | No | No | Yes | Yes | Yes | Via LLDB | Yes | Yes | Yes | Yes | Yes | In progress | In Progress | Yes | Yes (swift) | Yes | ||||||||||||||||||
24 | V | No | Yes | Yes | Yes | Yes | Yes | Coming | Coming? | No | Yes | Yes | Yes | Yes | Yes | Yes | < 65 | |||||||||||||||||||||||||
25 | Vala | No | Yes | Yes | Yes | Yes | Yes | No? | No | No | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||||||||||
26 | Zig | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | Yes | Yes | Yes | Yes | No | Yes | No | Yes | No | No | Yes | 13 | ||||||||||||||||||
27 | ||||||||||||||||||||||||||||||||||||||||||
28 | Contributed languages that don't satisfy the basic requirement, like being statically compiled | |||||||||||||||||||||||||||||||||||||||||
29 | Stackless Python | Yes | No | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes (pip) | Yes | Yes | No | interpreted | |||||||||||||||||||||
30 | Scheme | Yes | Yes | No | Sometimes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | No | between 8 and 15000 | ||||||||||||||||||||
31 | Scala | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
32 | ||||||||||||||||||||||||||||||||||||||||||
33 | Contributors (add your name here if you want!): | |||||||||||||||||||||||||||||||||||||||||
34 | Go: no thread-locals, cannot set thread affinity, no thread control whatsoever | |||||||||||||||||||||||||||||||||||||||||
35 | Thanks! I added it as a note on the Go cell // Samuel | |||||||||||||||||||||||||||||||||||||||||
36 | -------- Kotlin -------- - Has three developer platforms: * JVM: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/ * JS: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/index.html * Native: https://kotlinlang.org/docs/reference/native-overview.html - Multi-platform support will arrive in Kotlin 1.2: https://kotlinlang.org/docs/reference/multiplatform.html | j | ||||||||||||||||||||||||||||||||||||||||
37 | Python: Does stackless also have a GIL? Then threading would only be interesting for I/O bound stuff. | |||||||||||||||||||||||||||||||||||||||||
38 | ||||||||||||||||||||||||||||||||||||||||||
39 | ||||||||||||||||||||||||||||||||||||||||||
40 | ||||||||||||||||||||||||||||||||||||||||||
41 | ||||||||||||||||||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||||||||||||||||||
100 |