This article needs additional citations for verification. (December 2020) |
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 edit
- 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
- 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
- Pascal
- CPL
- Julia (also under Lisp, Python, Ruby)
APL based edit
BASIC based edit
- 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
- 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 edit
C based edit
- C (also under BCPL)
- Lua
- Alef
- C++
- 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)
- Harbour
- LPC
- Objective-C (also under Smalltalk)
- Swift (also under Ruby, Python, and Haskell)
- PCASTL (also under Lisp)
- Perl
- Python
- QuakeC
- Ring (also under BASIC, Ruby, Python, C#, Lua) [1]
- tcsh (also under sh)
C# based edit
COBOL based edit
COMIT based edit
DCL based edit
- DCL
- Windows PowerShell (also under C#, ksh, and Perl)
ed based edit
Eiffel based edit
Forth based edit
- Forth
- InterPress
- Joy
- Rebol (also under Lisp)
- RPL (also under Lisp)
Fortran based edit
FP based edit
HyperTalk based edit
- HyperTalk
- ActionScript (also under JavaScript)
- AppleScript
- SenseTalk
- SuperTalk
- Transcript
Java based edit
JavaScript based edit
- JavaScript (also under Scheme, Self)
- ActionScript (also under HyperTalk)
- Asm.js
- CoffeeScript
- ECMAScript
- JavaScript OSA
- JScript
- TypeScript
JOSS based edit
JOSS also inspired features for several versions of BASIC, including Tymshare's SUPER BASIC and DEC's BASIC-PLUS.
Lisp based edit
- 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
- RPL (also under Forth)
- S
- Scheme
ML based edit
PL/I based edit
Prolog based edit
SASL based edit
SETL based edit
sh based edit
Simula based edit
- Simula (also under ALGOL 60)
- C++ (also under C)
- Smalltalk
- Objective-C (hybrid of C and Smalltalk)
- 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
- BETA
Tcl based edit
Others edit
References edit
- ^ 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 edit
Wikimedia Commons has media related to Tree diagrams of the history of programming languages.