Dart
Object-oriented, imperative, functional. First appeared 2011; c family; application ui on mobile, web, and desktop.
Record¶
| First appeared | 2011 |
|---|---|
| Family | C family |
| Paradigm emphasis | Object-oriented, imperative, functional |
| Typing | Static, strong, sound null safety |
| Memory | Generational tracing GC |
| Execution | JIT for development, AOT compiled for release |
| Primary domain | Application UI on mobile, web, and desktop |
| Designers | Lars Bak, Kasper Lund, Google |
| Reference | https://dart.dev/resources/language/spec |
| 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 C family¶
Curly-brace syntax and an imperative core, descending from ALGOL through C. The tradition most later languages either extend or explicitly react against.
| Language | First appeared | Typing | Memory | Execution |
|---|---|---|---|---|
| COBOL | 1959 | Static, weak | Static allocation | AOT compiled |
| ALGOL 60 | 1960 | Static | Stack-based | AOT compiled |
| Simula 67 | 1967 | Static | Tracing GC | AOT compiled |
| Pascal | 1970 | Static, strong | Manual | AOT compiled |
| C | 1972 | Static, weak | Manual | AOT compiled |
| Objective-C | 1984 | Static core with dynamic dispatch | Manual then ARC | AOT compiled |
| C++ | 1985 | Static, partly weak | Manual with RAII | AOT compiled |
| Go | 2009 | Static, strong | Concurrent tracing GC | AOT compiled |
8 other languages in this family, ordered by first appearance. Dart itself is omitted. Source: languages.json.