User:Draychev/programming languages
Appearance
name | created | paradigm | influenced-by | typing | GC | tail call | function definition |
---|---|---|---|---|---|---|---|
C | 1972 | imperative (procedural), structured | `int main ( int argc , char *argv[]) {}` | ||||
C++ | 1983 | procedural, functional, object-oriented, generic | |||||
Java | 1995 | object-oriented (class-based), structured, imperative, generic, reflective, concurrent | |||||
Scala | 2004 | functional, object-oriented, imperative, concurrent | |||||
Clojure | 2007 | functional | |||||
Ruby | 1995 | object-oriented, imperative, functional, reflective | |||||
Javascript | 1995 | scripting, object-oriented (prototype-based), imperative, functional | |||||
Python | 1991 | object-oriented, imperative, functional, procedural, reflective | `def main(*args, **kwargs):` | ||||
Go | 2009 | compiled, concurrent, imperative, structured | |||||
Rust | 2010 | compiled, concurrent, functional, imperative, structured | |||||
Erlang | 1986 | concurrent, functional | |||||
Haskell | 1990 | functional, lazy/non-strict, modular | |||||
Racket | 1994 | functional, procedural, modular, object-oriented, logic, reflective, meta | Scheme, Eiffel | Dynamic, strong, static | [lambda](https://docs.racket-lang.org/guide/lambda.html), [define](https://docs.racket-lang.org/guide/define.html) | ||
Perl | 1987 | functional, imperative, object-oriented (class-based), reflective, procedural, event-driven, generic | functional, imperative, object-oriented (class-based), reflective, procedural, event-driven, generic | ||||
Swift | 2014 | (Protocol-oriented programming, object-oriented, functional, imperative, block structured) | (Protocol-oriented programming, object-oriented, functional, imperative, block structured) | ||||
Objective-C | 1983 | Reflective, class-based object-oriented | Reflective, class-based object-oriented | ||||
Pascal | 1970 | Imperative Structured | Imperative Structured | ||||
Wolfram | 1988 | term-rewriting, functional, procedural, array | term-rewriting, functional, procedural, array |