Programming Language Timeline

1948
1940s 1950s 1960s 1970s 1980s 1990s 2000s 2010s 2020s
AS
1949
Assembly
low-levelimperative
AS
SP
1953
Speedcoding
imperative
SP
FL
1955
FLOW-MATIC
imperative
FL
Fortran
1957
Fortran
imperativeprocedural
Fortran
CO
1957
COMTRAN
imperative
CO
Lisp
1958
Lisp
functionalmulti-paradigm
Lisp
ALGOL
1958
ALGOL
imperativeprocedural
ALGOL
COBOL
1959
COBOL
imperativeprocedural
COBOL
Simula
1962
Simula
object-orientedimperative
Simula
SN
1962
SNOBOL
imperativescripting
SN
PL
1964
PL/I
imperativeprocedural
PL
BA
1964
BASIC
imperativeprocedural
BA
APL
1966
APL
arrayfunctional
APL
BC
1967
BCPL
imperativeprocedural
BC
LO
1967
Logo
functionalimperative
LO
AL
1968
ALGOL 68
imperative
AL
B
1969
B
imperativeprocedural
B
PL
1969
Planner
logicprocedural
PL
PA
1970
Pascal
imperativeprocedural
PA
FO
1970
Forth
imperativeproceduralconcurrent
FO
Smalltalk
1972
Smalltalk
object-oriented
Smalltalk
C
1972
C
imperativeprocedural
C
Prolog
1972
Prolog
logicdeclarative
Prolog
ML
1973
ML
functionalimperative
ML
Scheme
1975
Scheme
functionalmulti-paradigm
Scheme
CL
1975
CLU
imperativeobject-oriented
CL
S
1976
S
statisticalfunctional
S
ME
1976
Mesa
imperativemodularconcurrent
ME
IC
1977
Icon
imperativefunctional
IC
AWK
1977
AWK
data-drivenscripting
AWK
MO
1978
Modula-2
imperativemodular
MO
Bourne Shell
1979
Bourne Shell
scripting
Bourne Shell
Ada
1980
Ada
imperativeobject-oriented
Ada
HO
1980
Hope
functional
HO
C++
1983
C++
object-orientedimperativegeneric
C++
ST
1983
Standard ML
functionalimperative
ST
OC
1983
occam
concurrentimperative
OC
Objective-C
1984
Objective-C
object-orientedimperative
Objective-C
CO
1984
Common Lisp
functionalmulti-paradigm
CO
LA
1984
Lazy ML
functional
LA
MATLAB
1984
MATLAB
imperativearray
MATLAB
CH
1985
Chez Scheme
tool
CH
MI
1985
Miranda
functional
MI
Erlang
1986
Erlang
functionalconcurrent
Erlang
BEAM VM
1986
BEAM VM
tool
BEAM VM
Eiffel
1986
Eiffel
object-oriented
Eiffel
Perl
1987
Perl
imperativemulti-paradigm
Perl
GCC
1987
GCC
tool
GCC
Oberon
1987
Oberon
imperativeobject-oriented
Oberon
AB
1987
ABC
imperativeprocedural
AB
Self
1987
Self
object-orientedprototype-based
Self
CL
1987
Clean
functional
CL
NE
1988
Newsqueak
concurrentimperative
NE
Modula-3
1988
Modula-3
imperativeobject-orientedconcurrent
Modula-3
TC
1988
Tcl
scriptingimperative
TC
Bash
1989
Bash
scriptingimperative
Bash
Coq
1989
Coq
proof-assistantfunctionaldependent-typed
Coq
Haskell
1990
Haskell
functional
Haskell
J
1990
J
arrayfunctional
J
Python
1991
Python
imperativeobject-orientedfunctional
Python
Oberon-2
1991
Oberon-2
imperativeobject-oriented
Oberon-2
GHC
1992
GHC
tool
GHC
AL
1992
Alef
concurrentimperative
AL
DY
1992
Dylan
object-orientedfunctional
DY
R
1993
R
functionalimperative
R
Lua
1993
Lua
imperativemulti-paradigm
Lua
GNU Guile
1993
GNU Guile
functionalscripting
GNU Guile
Free Pascal
1993
Free Pascal
imperativeobject-oriented
Free Pascal
Racket
1994
Racket
functionalmulti-paradigm
Racket
Java
1995
Java
object-orientedimperative
Java
JavaScript
1995
JavaScript
imperativeobject-orientedfunctional
JavaScript
Ruby
1995
Ruby
object-orientedimperativefunctional
Ruby
PHP
1995
PHP
imperativeobject-oriented
PHP
LI
1995
Limbo
concurrentimperative
LI
Delphi
1995
Delphi
imperativeobject-oriented
Delphi
ME
1995
Mercury
logicfunctional
ME
OCaml
1996
OCaml
functionalimperativeobject-oriented
OCaml
SpiderMonkey
1996
SpiderMonkey
tool
SpiderMonkey
Fortran 95
1997
Fortran 95
imperativearray
Fortran 95
ActionScript
1998
ActionScript
object-orientedprototype-basedscripting
ActionScript
HotSpot JVM
1999
HotSpot JVM
tool
HotSpot JVM
C#
2000
C#
object-orientedimperativefunctional
C#
D
2001
D
imperativeobject-orientedfunctional
D
JavaScriptCore
2001
JavaScriptCore
tool
JavaScriptCore
Visual Basic .NET
2002
Visual Basic .NET
object-orientedimperative
Visual Basic .NET
.NET Runtime
2002
.NET Runtime
tool
.NET Runtime
CY
2002
Cyclone
imperativefunctional
CY
Io
2002
Io
prototype-basedobject-orientedconcurrent
Io
Scala
2003
Scala
object-orientedfunctional
Scala
Groovy
2003
Groovy
object-orientedfunctional
Groovy
LLVM
2003
LLVM
tool
LLVM
FA
2003
Factor
concurrentfunctionalobject-oriented
FA
Nix
2003
Nix
functionaldeclarative
Nix
F#
2005
F#
functionalobject-orientedimperative
F#
LuaJIT
2005
LuaJIT
scriptingimperative
LuaJIT
Haxe
2005
Haxe
multi-paradigmobject-orientedfunctional
Haxe
Vala
2006
Vala
object-orientedimperative
Vala
PowerShell
2006
PowerShell
scriptingimperativeobject-oriented
PowerShell
Clojure
2007
Clojure
functionalmulti-paradigm
Clojure
Clang
2007
Clang
tool
Clang
AG
2007
Agda
functionalproof-assistant
AG
Cython
2007
Cython
imperative
Cython
Nim
2008
Nim
imperativefunctionalobject-oriented
Nim
V8
2008
V8
tool
V8
Pharo
2008
Pharo
object-oriented
Pharo
ATS
2008
ATS
functionalimperativedependent-typed
ATS
Go
2009
Go
imperativeconcurrent
Go
CoffeeScript
2009
CoffeeScript
imperativeobject-orientedfunctional
CoffeeScript
FE
2009
FemtoLisp
tool
FE
CH
2009
Chapel
concurrentimperativeobject-oriented
CH
Rust
2010
Rust
systemsimperativefunctional
Rust
Dart
2011
Dart
object-orientedimperative
Dart
ID
2011
Idris
functionaldependent-typed
ID
HHVM
2011
HHVM
tool
HHVM
TypeScript
2012
TypeScript
object-orientedfunctionalimperative
TypeScript
Elixir
2012
Elixir
functionalconcurrent
Elixir
Elm
2012
Elm
functional
Elm
Julia
2012
Julia
imperativefunctionalscientific
Julia
MY
2012
mypy
static-analysis
MY
PureScript
2013
PureScript
functional
PureScript
Lean
2013
Lean
functionalproof-assistantdependent-typed
Lean
WR
2013
Wren
object-orientedscriptingconcurrent
WR
MO
2013
MoarVM
tool
MO
Swift
2014
Swift
object-orientedfunctionalimperative
Swift
Crystal
2014
Crystal
object-orientedimperative
Crystal
Roslyn
2014
Roslyn
tool
Roslyn
Hack
2014
Hack
multi-paradigmobject-orientedfunctional
Hack
Solidity
2014
Solidity
object-orientedimperative
Solidity
Babel
2014
Babel
tool
Babel
Raku
2015
Raku
multi-paradigmfunctionalobject-oriented
Raku
PO
2015
Pony
object-orientedconcurrentfunctional
PO
Kotlin
2016
Kotlin
object-orientedfunctional
Kotlin
ReasonML
2016
ReasonML
functionalobject-oriented
ReasonML
Zig
2016
Zig
imperativesystems
Zig
MR
2016
mrustc
tool
MR
Angular
2016
Angular
declarativeobject-oriented
Angular
OD
2016
Odin
imperativeproceduralsystems
OD
Q#
2017
Q#
functionalimperative
Q#
V
2019
V
imperativesystems
V
Gleam
2019
Gleam
functional
Gleam
RO
2019
Roc
functional
RO
Move
2019
Move
imperativeprocedural
Move
GraalVM
2019
GraalVM
tool
GraalVM
QU
2019
QuickJS
tool
QU
SW
2019
SWC
tool
SW
ReScript
2020
ReScript
functional
ReScript
UN
2020
Unison
functional
UN
ES
2020
esbuild
tool
ES
Carbon
2022
Carbon
imperativesystems
Carbon
HA
2022
Hare
systemsimperativeprocedural
HA
MO
2023
Mojo
imperativesystemsscientific
MO
View full profile →