Python
Multi-paradigm, imperative. First appeared 1991; dynamic scripting; scripting, data analysis, machine learning.
Record¶
| First appeared | 1991 |
|---|---|
| Family | Dynamic scripting |
| Paradigm emphasis | Multi-paradigm, imperative |
| Typing | Dynamic, strong |
| Memory | Refcount with cycle collector |
| Execution | Interpreted |
| Primary domain | Scripting, data analysis, machine learning |
| Designers | Guido van Rossum |
| Reference | https://docs.python.org/3/reference/ |
| Last verified | not yet checked against its source by a human |
Dates are first public release or publication, not the start of internal development. Colour on the typing and memory tags encodes kind, never rank.
Influence¶
Within the Dynamic scripting¶
Late binding and rapid iteration, usually paired with a large package ecosystem and an interpreter or JIT.
| Language | First appeared | Typing | Memory | Execution |
|---|---|---|---|---|
| BASIC | 1964 | Dynamic, weak | Interpreter-managed | Interpreted |
| Smalltalk-80 | 1980 | Dynamic, strong | Tracing GC | Bytecode VM |
| Perl | 1987 | Dynamic, weak | Reference counting | Interpreted |
| Self | 1987 | Dynamic, strong | Generational tracing GC | JIT |
| Lua | 1993 | Dynamic, weak | Incremental tracing GC | Bytecode VM |
| JavaScript | 1995 | Dynamic, weak | Tracing GC | JIT |
| PHP | 1995 | Dynamic, weak | Refcount with cycle collector | Bytecode VM |
| Ruby | 1995 | Dynamic, strong | Tracing GC | Bytecode VM |
| TypeScript | 2012 | Static, erased at runtime | Tracing GC (host) | Transpiled to JavaScript |
9 other languages in this family, ordered by first appearance. Python itself is omitted. Source: languages.json.