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
- 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
APL based
editBASIC 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
editC 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
- QuakeC
- Ring (also under BASIC, Ruby, Python, C#, Lua) [1]
- tcsh (also under sh)
C# based
editCOBOL based
editCOMIT based
editDCL based
edit- DCL
- Windows PowerShell (also under C#, ksh, and Perl)
ed based
editEiffel based
editForth based
edit- Forth
- InterPress
- Joy
- Rebol (also under Lisp)
- RPL (also under Lisp)
Fortran based
editFP based
editHyperTalk based
edit- HyperTalk
- ActionScript (also under JavaScript)
- AppleScript
- SenseTalk
- SuperTalk
- Transcript
Java based
editJavaScript based
edit- JavaScript (also under Scheme, Self)
- ActionScript (also under HyperTalk)
- Asm.js
- CoffeeScript
- ECMAScript
- JavaScript OSA
- JScript
- TypeScript
JOSS based
editJOSS 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
editPL/I based
editProlog based
editSASL based
editSETL based
editsh based
editSimula 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
editOthers
editReferences
edit- ^ a b c d e f g h i j 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
editWikimedia 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