Generational list of programming languages
Programming language lists |
---|
|
|
This is a "genealogy" of programming languages. Languages are categorized under the ancestor language with the strongest influence. Those ancestor languages are listed in alphabetic order. Any such categorization has a large arbitrary element, since programming languages often incorporate major ideas from multiple sources.
ALGOL based
- ALGOL (also under Fortran)
- Atlas Autocode
- ALGOL 58 (IAL, International Algorithmic Language)
- MAD and GOM (Michigan Algorithm Decoder and Good Old MAD)
- ALGOL 60
- MAD/I
- Simula (see also Simula based)
- ALGOL 68
- ALGOL W
- Pascal
- Ada
- SPARK
- PL/SQL
- Turbo Pascal
- Object Pascal (Delphi)
- Free Pascal (FPC)
- Kylix (same as Delphi, but for Linux)
- Object Pascal (Delphi)
- Euclid
- Concurrent Euclid
- Turing
- Turing+ (Turing Plus)
- Object-Oriented Turing
- Mesa
- SUE
- Plus
- Ada
- Pascal
- CPL
- Julia (also under Lisp, Python, Ruby)
APL based
BASIC based
- BASIC (also under Fortran II)
- AmigaBASIC
- AMOS BASIC
- BASIC Stamp
- Basic-256
- BASIC09
- BBC Basic
- Blitz BASIC
- Business Basic
- Caché Basic
- Chinese BASIC
- COMAL
- Commodore BASIC
- DarkBASIC
- Euphoria
- GLBasic
- GRASS
- GW-BASIC
- QuickBASIC
- QBasic
- Basic4GL
- FreeBASIC
- Liberty BASIC
- Run BASIC
- Visual Basic
- VBScript
- Visual Basic for Applications (VBA)
- Visual Basic .NET
- B4X
- Basic for Qt
- OpenOffice Basic
- HBasic
- Gambas
- WinWrap Basic
- WordBasic
- QB64
- QBasic
- QuickBASIC
- PureBasic
- REALbasic (Xojo)
- Ring (also under C, Ruby, Python, C#, Lua)[1]
- thinBasic
- TI-BASIC
- True BASIC
- Turbo Basic
- wxBasic
- SdlBasic
- RCBasic
- SdlBasic
- XBasic
- YaBasic
Batch languages
C based
- C (also under BCPL)
- Lua
- Alef
- C++
- Rust (also under Cyclone, Haskell, and OCaml)
- D
- C#
- Windows PowerShell (also under DCL, ksh, and Perl)
- Ring (also under BASIC, Ruby, Python, Lua)[1]
- Cobra (class/object model and other features)
- Java (see also Java based)
- C--
- Cyclone
- Rust (also under C++, Haskell, and OCaml)
- ColdFusion
- Go (also under Oberon)
- V (Vlang)
- Harbour
- Limbo
- LPC
- Pike
- Objective-C (also under Smalltalk)
- Swift (also under Ruby, Python, and Haskell)
- PCASTL (also under Lisp)
- Perl
- Windows PowerShell (also under C#, DCL, and ksh)
- S2
- PHP
- Ruby (also under Smalltalk)
- Julia (also under Lisp, Python, ALGOL)
- Ring (also under C, BASIC, Python, C#, Lua)[1]
- Swift (also under Objective-C, Python, and Haskell)
- Crystal
- Elixir[citation needed] (also under Erlang)
- PDL (also under APL)
- Raku
- Python
- Julia (also under Lisp, Ruby, ALGOL)
- Nim (also under Oberon)
- Ring (also under C, BASIC, Ruby, C#, Lua)[1]
- Swift (also under Ruby, Objective-C, and Haskell)
- QuakeC
- Ring (also under BASIC, Ruby, Python, C#, Lua) [1]
- tcsh (also under sh)
C# based
- C#
- Chapel
- Clojure
- Crystal
- D
- J#
- Dart
- F#
- Hack
- Java
- Kotlin
- Nemerle
- Oxygene
- Ring[1]
- Rust
- Swift
- Vala
- TypeScript
COBOL based
COMIT based
DCL based
- DCL
- Windows PowerShell (also under C#, ksh, and Perl)
ed based
Eiffel based
Forth based
- Forth
- InterPress
- Joy
- Factor
- Rebol (also under Lisp)
- RPL (also under Lisp)
Fortran based
- Fortran
- Fortran II
- BASIC (see also BASIC based)
- SAKO
- Fortran IV
- Fortran 66
- Fortran 77
- Fortran 90
- Fortran 95
- F
- Fortran 2003
- Fortran 2008
- Fortran 2018
- ALGOL (see also ALGOL based)
- Fortran II
FP based
- FP (Function Programming)
- FL (Function Level)
- J (also under APL)
- FPr (also under Lisp and object-oriented programming)
- FL (Function Level)
HyperTalk based
- HyperTalk
- ActionScript (also under JavaScript)
- AppleScript
- SenseTalk
- SuperTalk
- Transcript
Java based
- Java (also under C)
JavaScript based
- JavaScript (also under Scheme, Self)
- ActionScript (also under HyperTalk)
- Asm.js
- CoffeeScript
- ECMAScript
- JavaScript OSA
- JScript
- TypeScript
JOSS based
JOSS also inspired features for several versions of BASIC, including Tymshare's SUPER BASIC and DEC's BASIC-PLUS.
Lisp based
- Lisp
- Arc
- AutoLISP
- Clojure
- Common Lisp
- uLisp (A subset of Common Lisp for microcontrollers)
- Emacs Lisp
- ISLISP
- Interlisp
- Julia (has Lisp-like macros, but ALGOL-like syntax) (also under Python, Ruby, ALGOL)
- K (also under APL)
- LFE
- Logo
- MacLisp
- Nu programming language
- PicoLisp
- REBOL
- Red (programming language)
- RPL (also under Forth)
- S
- R
- PCASTL (also under ALGOL)
- R
- Scheme
ML based
- ML
- Standard ML (SML)
- Caml
- OCaml
- F#
- Reason
- Rust (also under C++, Cyclone, and Haskell)
- OCaml
PL/I based
Prolog based
SASL based
- SASL
- Kent Recursive Calculator
- Miranda
- Haskell
- Agda
- Elm
- Idris
- Rust (also under C++, Cyclone, and OCaml)
- Swift (also under Ruby, Python, and Objective-C)
- PureScript
- Nix
- Haskell
SETL based
- SETL
- ABC
- Python (also under C)
- Swift (also under Ruby, Objective-C, and Haskell)
- Boo
- Cobra (syntax and features)
- Nim (also under Oberon)
- Python (also under C)
- ABC
sh based
Simula based
- Simula (also under ALGOL 60)
- C++ (also under C)
- Smalltalk
- Objective-C (hybrid of C and Smalltalk)
- Swift (also under Ruby, Python, and Haskell)
- Cobra (support both dynamic and static types)
- Ruby (also under Perl)
- Swift (also under Objective-C, Python, and Haskell)
- Elixir[citation needed] (also under Erlang)
- Self
- JavaScript (also under Scheme) (see also JavaScript based)
- NewtonScript
- Io
- Objective-C (hybrid of C and Smalltalk)
- BETA
Tcl based
Others
- Assembly
- BLISS
- CORAL
- Curl
- GPSS
- LabVIEW
- Microsoft Power Fx
- occam
- POP-2, POP-11
- REFAL
- RPG (Report Program Generator)
- Seed7
- SQL (Structured Query Language)
- TACL (Tandem Advanced Command Language)
- TUTOR
References
- ^ a b c d e f g h i Ring Team (23 October 2021). "The Ring programming language and other languages". ring-lang.net.
- ^ Valim, José. "Elixir: The Documentary" (Video). Honeypot. Honeypot. Retrieved 11 December 2020.
Erickson, they created Erlang. This technology that they created, right, in the eighties, to solve all these problems. It's going to be perfect to solve those issues that we're having right now with concurrency, those issues that we're having with the web in general, right? I think that was the moment when I had the idea of creating a programming language. Like, look I have this absolutely beautiful piece of software which is the Erlang virtual machine. I want to use it more but it's missing some stuff and I want to try adding this missing stuff.
External links
Wikimedia Commons has media related to Tree diagrams of the history of programming languages.
- Diagram & history of programming languages Archived 2008-05-13 at the Wayback Machine