Generational list of programming languages: Difference between revisions

Content deleted Content added
Ww (talk | contribs)
mNo edit summary
 
(534 intermediate revisions by more than 100 users not shown)
Line 1:
{{Short description|none}}
#[[Alphabetical list of programming languages]]
{{For|programming languages categorized by generational numbers|programming language generations}}
#[[Categorical list of programming languages]]
{{more citations needed|date=December 2020}}
#[[Programming language timeline|Chronological list of programming languages]]
 
<!-- List still looks inaccurate! -->
See: [[Programming language]]
{{Programming language lists}}
----
This is a "genealogy" of [[programming language]]s. 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==
*[[Ada programming language|Ada]]
* [[ALGOL]] (also under Fortran)
*[[Atlas Autocode programming language|Atlas Autocode]]
** [[Atlas Autocode]]
**[[Algol programming language|Algol]]
** [[ALGOL 58]] (IAL, International Algorithmic Language)
***[[Algol60]]
*** [[MAD (programming language)|MAD and GOM]] (Michigan Algorithm Decoder and Good Old MAD)
***[[Algol68]]
*** [[AlgolWALGOL 60]]
*** [[MAD (programming language)|MAD/I]]
***[[Pascal]]
*** [[Simula]] (see also [[#Simula based|Simula based]])
****[[Delphi programming language|Delphi]]
**** [[EuclidSETL]]
***** [[ConcurrentABC (programming Euclidlanguage)|ABC]]
***** [[TuringPython (programming language)|TuringPython]]
****** [[TuringJulia (programming language)|Concurrent TuringJulia]] (also under Lisp, Ruby, ALGOL)
****** [[TuringNim (programming language)|Turing PlusNim]] (also under Oberon)
****** [[TuringRing (programming language)|Object Oriented TuringRing]] (also under C, BASIC, Ruby, C#, Lua)<ref name="RingAndOtherLanguages"></ref>
****** [[Swift (programming language)|Swift]] (also under Ruby, Objective-C, and Haskell)
****[[Modula-2]]
****** [[Modula-3Boo (programming language)|Boo]]
****** [[OberonCobra (programming language)|Cobra]] (syntax and features)
** [[ALGOL 68]]
******[[Oberon 2 programming language]]
******* [[ComponentALGOL PascalW]]
*** [[APLPascal (programming language)|APLPascal]]
**** [[JAda (programming language)|JAda]]
***** [[AssemblySPARK (programming language)|AssemblySPARK]]
***** [[PL/SQL]]
*[[BASIC programming language|BASIC]]
**** [[CacheTurbo BASICPascal]]
***** [[Object Pascal]] ([[Delphi (software)|Delphi]])
**[[BASIC09]]
****** [[COMALFree Pascal]] (FPC)
****** [[Borland Kylix|Kylix]] (same as Delphi, but for [[Linux]])
**[[Quickbasic]]
**** [[Euclid (programming language)|Euclid]]
**[[TrueBASIC]]
***** [[Concurrent Euclid]]
**[[VBScript_programming_language|VBScript]]
***** [[Visual BasicTuring (programming language)|Visual BasicTuring]]
****** [[Turing+]] (Turing Plus)
*[[CPL programming language]]
****** [[BCPLTuring (programming language)#Object-Oriented Turing|BCPLObject-Oriented Turing]]
**** [[BMesa (programming language)|BMesa]]
***** [[C programming language|CModula-2]]
****** [[D programming languageModula-3]]
****** [[CoyoteOberon (programming language)|Oberon]] (Oberon-1)
******* [[PikeGo (programming language)|Go]] (also under C)
******** [[C Plus PlusV (programming language)|C++V (Vlang)]]
******* [[C SharpNim (programming language)|C#Nim]] (also under Python)
******* [[Oberon-2]]
****[[Cold Fusion programming language|CFM]]
******** [[Component Pascal]]
****[[Objective C programming language|Objective C]]
******** [[Active Oberon]]
****[[QuakeC programming language|QuakeC]]
********* [[Zonnon]]
*[[COBOL programming language|COBOL]]
******* [[DIBOLOberon (programming language)#Oberon-07|DIBOLOberon-07]]
****** [[Lua (programming language)|Lua]] (also under Scheme and SNOBOL)
**[http://csgwww.uwaterloo.ca/sdtp/watbol.html WATBOL]
******* [[CORAL66Ring (programming language)|CORALRing]] (also under C, BASIC, Ruby, Python, C#)<ref name="RingAndOtherLanguages"></ref>
**** SUE
*[[Forth programming language|FORTH]]
***** [[FORTRANPlus (programming language)|FORTRANPlus]]
** [[Combined Programming Language|CPL]]
**[[FORTRAN II programming language|FORTRAN II]]
*** [[BCPL]]
**[[FORTRAN 66 programming language|FORTRAN 66]]
**** [[FORTRAN 77B (programming language)|FORTRAN 77B]]
***** [[FORTRAN IVC (programming language)|C]] (see also [[#C based|FORTRANC IVbased]])
 
**[[RATFOR programming language|RATFOR]]
==APL based==
**[http://csgwww.uwaterloo.ca/sdtp/watfor.html WATFOR]
** [[WATFIVAPL (programming language)|WATFIVAPL]]
** [[ECMAScriptA+ (programming language)|ECMAScriptA+]] (JavaScript; originally, LiveScript)
** [[JavaJ (programming language)|JavaJ]] (also under FL)
** [[JoyK (programming language)|JoyK]] (also under LISP)
** [[NESL]]
*[[Lisp programming language|Lisp]]
** [[Perl Data Language|PDL]] (also under Perl)
**[[AutoLISP programming language|AutoLISP]]
 
**[[Common Lisp programming language|Common Lisp]]
==BASIC based==
**[[Emacs Lisp programming language|Emacs Lisp]]
* [[BASIC]] (also under Fortran II)
**[[Logo programming language|Logo]]
** [[AmigaBASIC]]
**[[Scheme programming language|Scheme]]
*** [[GuileAMOS (programming language)|GuileAMOS BASIC]]
** [[MLBASIC Stamp]]
** [[Basic-256]]
**[[Ocaml|Ocaml]] (Objective CAML)
** [[BASIC09]]
**[[SML programming language|SML]]
** [[BBC Basic]]
*[[MUMPS programming language|MUMPS]]
** [[CachéBlitz ObjectScriptBASIC]]
*** [[Blitz BASIC|Blitz3D]]
*[[OCCAM programming language|OCCAM]]
*** [[Blitz BASIC|BlitzMax]]
*[[PL/1 programming language|PL/1]]
*** [[BlitzPlus]]
**[[PL/M programming language|PL/M]]
** [[Business Basic]]
***[[PL/M-86 programming language|PL/M-86]]
** [[Caché Basic]]
**[[PL/c programming language|PL/c]]
** [[Chinese BASIC]]
**[[SP/k programming language|SP/k]]
** [[COMAL]]
*[[Progress programming language|Progress]]
** [[Commodore BASIC]]
*[[PROLOG programming language|PROLOG]]
** [[PROLOG IIDarkBASIC]], III, IV
*** [[DarkBASIC Professional]]
**[[CLP(R)]], CLP(FD)
** [[Dartmouth BASIC]]
*** [[HP Time-Shared BASIC]]
**** [[Integer BASIC]] or Apple BASIC
*** [[Tiny BASIC]]
**** [[Atari BASIC]]
** [[Euphoria (programming language)|Euphoria]]
** [[GLBasic]]
** [[GRASS (programming language)|GRASS]]
** [[Altair BASIC]]
*** [[Microsoft BASIC]]
**** [[GW-BASIC]]
***** [[QuickBASIC]]
****** [[QBasic]]
******* [[Basic4GL]]
******* [[FreeBASIC]]
******* [[Liberty BASIC]]
******** [[Run BASIC]]
****** [[Visual Basic (classic)|Visual Basic]]
******* [[VBScript]]
******* [[Visual Basic for Applications]] (VBA)
******** [[LotusScript]]
******* [[Visual Basic .NET]]
******** [[Microsoft Small Basic|Small Basic]]
******* B4X
******* [[Basic for Qt]]
******* [[OpenOffice Basic]]
******* HBasic
******* [[Gambas]]
******* WinWrap Basic
******* [[WordBasic]]
****** [[QB64]]
** [[PureBasic]]
** [[REALbasic|REALbasic (Xojo)]]
** [[Ring (programming language)|Ring]] (also under C, Ruby, Python, C#, Lua)<ref name="RingAndOtherLanguages"></ref>
** [[TI-BASIC]]
** [[True BASIC]]
** [[Turbo Basic]]
*** [[PowerBASIC]]
** [[wxBasic]]
*** [[SdlBasic]]
**** RCBasic
** [[XBasic]]
** [[Yabasic|YaBasic]]
 
==Batch languages==
* [[Batch file|MS-DOS Batch files]]
** [[Winbatch]]
* [[CLIST]]
* [[Control Language|IBM Control Language (CL)]]
* [[Job Control Language|IBM Job Control Language (JCL)]]
 
==C based==
* [[C (programming language)|C]] (also under BCPL)
** [[Lua (programming language)|Lua]]
** [[Alef (programming language)|Alef]]
** [[C++]]
*** [[Rust (programming language)|Rust]] (also under Cyclone, Haskell, and OCaml)
*** [[D (programming language)|D]]
** [[C Sharp (programming language)|C#]]
*** [[Windows PowerShell]] (also under DCL, ksh, and Perl)
*** [[Ring (programming language)|Ring]] (also under BASIC, Ruby, Python, Lua)<ref name="RingAndOtherLanguages"></ref>
** [[Cobra (programming language)|Cobra]] (class/object model and other features)
<!-- NOTE TO EDITORS OF THIS PAGE: Java is properly derived from C++ and Smalltalk. Therefore, it does not belong in its own category. If you do not feel that way, then at least keep it under C, since Java uses C syntax. -->
** [[Java (programming language)|Java]] (see also [[#Java based|Java based]])
** [[C--]]
** [[Cyclone (programming language)|Cyclone]]
*** [[Rust (programming language)|Rust]] (also under C++, Haskell, and OCaml)
** [[ColdFusion]]
** [[Go (programming language)|Go]] (also under Oberon)
*** [[V (programming language)|V (Vlang)]]
** [[Harbour (software)|Harbour]]
*** [[Limbo (programming language)|Limbo]]
** [[LPC (programming language)|LPC]]
*** [[Pike (programming language)|Pike]]
** [[Objective-C]] (also under Smalltalk)
*** [[Swift (programming language)|Swift]] (also under Ruby, Python, and Haskell)
** [[PCASTL]] (also under Lisp)
** [[Perl]]
*** [[Windows PowerShell]] (also under C#, DCL, and ksh)
*** [[S2 (programming language)|S2]]
*** [[PHP]]
*** [[Ruby (programming language)|Ruby]] (also under Smalltalk)
**** [[Julia (programming language)|Julia]] (also under Lisp, Python, ALGOL)<!--Ruby listed as influence, I think because of Blocks (only?)-->
**** [[Ring (programming language)|Ring]] (also under C, BASIC, Python, C#, Lua)<ref name="RingAndOtherLanguages"></ref>
**** [[Swift (programming language)|Swift]] (also under Objective-C, Python, and Haskell)
**** [[Crystal (programming language)|Crystal]]
****[[Elixir (programming language)|Elixir]]{{Citation needed|date=October 2019}} (also under Erlang)
*** [[Perl Data Language|PDL]] (also under APL)
*** [[Raku (programming language)|Raku]]
** [[QuakeC]]
** [[Ring (programming language)|Ring]] (also under BASIC, Ruby, Python, C#, Lua) <ref name="RingAndOtherLanguages">{{cite web |url=http://ring-lang.github.io/doc1.16/introduction.html#ring-and-other-languages |title=The Ring programming language and other languages |author=Ring Team |date=23 October 2021 |work=ring-lang.net }}</ref>
** [[tcsh]] (also under sh)
 
==C# based==
* [[C Sharp (programming language)|C#]]
** [[Chapel (programming language)|Chapel]]
** [[Clojure]]
** [[Crystal (programming language)|Crystal]]
** [[D (programming language)|D]]
** [[Visual J Sharp|J#]]
** [[Dart (programming language)|Dart]]
** [[F Sharp (programming language)|F#]]
** [[Hack (programming language)|Hack]]
** [[Java (programming language)|Java]]
** [[Kotlin (programming language)|Kotlin]]
** [[Nemerle]]
** [[Oxygene (programming language)|Oxygene]]
** [[Ring (programming language)|Ring]]<ref name="RingAndOtherLanguages"></ref>
** [[Rust (programming language)|Rust]]
** [[Swift (programming language)|Swift]]
** [[Vala (programming language)|Vala]]
** [[TypeScript]]
 
==COBOL based==
* [[COBOL]]
** [[ABAP]]
** [[DIBOL]]
** [[WATBOL]]
 
==COMIT based==
* [[COMIT]]
** [[SNOBOL]]
*** [[Icon (programming language)|Icon]]
**** [[Unicon (programming language)|Unicon]]
*** [[Lua (programming language)|Lua]] (also under Modula and Scheme)
**** [[Ring (programming language)|Ring]] (also under C, BASIC, Ruby, Python, C#)<ref name="RingAndOtherLanguages"></ref>
 
==DCL based==
* [[DIGITAL Command Language|DCL]]
** [[Windows PowerShell]] (also under C#, ksh, and Perl)
 
==ed based==
* [[ed (UNIX)|ed (programming language)]]
** [[sed]]
** [[AWK]]
*** [[Perl]] (also under C)
 
==Eiffel based==
* [[Eiffel (programming language)|Eiffel]]
** [[Cobra (programming language)|Cobra]] (design by contract)
** [[Sather]]
** [[Ubercode]]
 
==Forth based==
* [[Forth (programming language)|Forth]]
** [[InterPress]]
*** [[PostScript]]
** [[Joy (programming language)|Joy]]
*** [[Factor (programming language)|Factor]]
** [[Rebol]] (also under Lisp)
** [[RPL (programming language)|RPL]] (also under Lisp)
 
==Fortran based==
* [[Fortran]]
** [[Fortran#FORTRAN II|Fortran II]]
*** [[BASIC]] (see also [[#BASIC based|BASIC based]])
*** [[SAKO_(programming_language)|SAKO]]
** [[Fortran#FORTRAN IV|Fortran IV]]
*** [[WATFIV|WATFOR]]
*** [[WATFIV]]
** [[Fortran#FORTRAN 66|Fortran 66]]
*** [[FORMAC]]
*** [[Ratfor]]
** [[Fortran#FORTRAN 77|Fortran 77]]
*** [[WATFIV#WATFOR-77|WATFOR-77]]
*** [[Ratfiv]]
** [[Fortran#Fortran 90|Fortran 90]]
** [[Fortran#Fortran 95|Fortran 95]]
*** [[F (programming language)|F]]
** [[Fortran#Fortran 2003|Fortran 2003]]
** [[Fortran#Fortran 2008|Fortran 2008]]
** [[Fortran#Fortran 2018|Fortran 2018]]
<!-- ** [[Fortran#Fortran 2020|Fortran 202x]] e.g. Intel Fortran 2020 Beta-->
** [[ALGOL]] (see also [[#ALGOL based|ALGOL based]])
 
==FP based==
* [[FP (programming language)|FP (Function Programming)]]
** [[FL (programming language)|FL (Function Level)]]
*** [[J (programming language)|J (also under APL)]]
** [[FPr (programming language)|FPr]] (also under [[Lisp (programming language)|Lisp]] and [[object-oriented programming]])
 
==HyperTalk based==
* [[HyperTalk]]
** [[ActionScript]] (also under JavaScript)
** [[AppleScript]]
** [[LiveCode]]
** [[SenseTalk]]
** [[SuperTalk]]
** [[Transcript (programming language)|Transcript]]
 
==Java based==
* [[Java (programming language)|Java]] (also under C)
** [[Ateji PX]]
** [[C Sharp (programming language)|C#]]
** [[Ceylon (programming language)|Ceylon]]
** [[Fantom (programming language)|Fantom]]
** [[Groovy (programming language)|Apache Groovy]]
** [[OptimJ]]
** [[Processing (programming language)|Processing]]
** [[Scala (programming language)|Scala]]
** [[Join Java]]
** [[J Sharp|J#]]
** [[Kotlin (programming language)|Kotlin]]
** [[X10 (programming language)|X10]]
 
==JavaScript based==
* [[JavaScript]] (also under Scheme, Self) <!-- named Mocha during development, released as LiveScript for Netscape 2.0b2, renamed to JavaScript for Netscape 2.0b3 -->
** [[ActionScript]] (also under HyperTalk)
*** [[Haxe]]
** [[Asm.js]]
** [[CoffeeScript]]
** [[ECMAScript]]<!-- industry standardization of JavaScript -->
** [[JavaScript OSA]]
** [[JScript]]<!-- Microsoft's reverse-engineered copy of Netscape JavaScript, renamed for copyright purposes -->
** [[TypeScript]]
*** [[AssemblyScript]]
 
==JOSS based==
* [[JOSS]]
** [[CAL (programming language)|CAL]]
** [[TELCOMP]]
** [[FOCAL (programming language)|FOCAL]]
** [[MUMPS]]
*** [[Caché ObjectScript]]
JOSS also inspired features for several versions of BASIC, including [[Tymshare]]'s [[SUPER BASIC]] and [[Digital Equipment Corportation|DEC]]'s [[BASIC-PLUS]].
 
==Lisp based==
* [[Lisp (programming language)|Lisp]]
** [[Arc (programming language)|Arc]]
** [[AutoLISP]]
** [[Clojure]]
** [[Common Lisp]]
*** [[uLisp (programming language)|uLisp]] (A subset of Common Lisp for microcontrollers)
** [[Emacs Lisp]]
** [[ISLISP]]
** [[Interlisp]]
** [[Julia (programming language)|Julia]] (has Lisp-like macros, but ALGOL-like syntax) (also under Python, Ruby, ALGOL)
** [[K (programming language)|K]] (also under APL)
** [[LFE (programming language)|LFE]]
** [[Logo (programming language)|Logo]]
*** [[Turtle graphics]]
** [[MacLisp]]
** [[Nu (programming language)|Nu programming language]]
** [[PicoLisp]]
** [[REBOL]]
*** [[Red (programming language)]]
** [[RPL (programming language)|RPL]] (also under Forth)
** [[S (programming language)|S]]
*** [[R (programming language)|R]]
**** [[PCASTL]] (also under ALGOL)
** [[Scheme (programming language)|Scheme]]
*** [[GNU Guile]]
*** [[Racket (programming language)|Racket]]
*** [[Hop (software)|Hop]]
*** [[Pico (programming language)|Pico]]
*** [[T (programming language)|T]]
*** [[Lua (programming language)|Lua]] (also under Modula and SNOBOL)
**** [[Ring (programming language)|Ring]] (also under C, BASIC, Ruby, Python, C#)<ref name="RingAndOtherLanguages"></ref>
***JavaScript (also based on Self)
***ECMAScript (also based on Self)
 
==ML based==
* [[ML (programming language)|ML]]
** [[Standard ML]] (SML)
** [[Caml]]
*** [[OCaml]]
**** [[F Sharp (programming language)|F#]]
**** [[Reason (programming language)|Reason]]
**** [[Rust (programming language)|Rust]] (also under C++, Cyclone, and Haskell)
 
==PL/I based==
* [[PL/I]]
** [[PL/M]]
** [[PL/C]]
** [[REXX]]
*** [[Object Rexx]] (also under Smalltalk)
** [[SP/k]]
** [[XPL]]
 
==Prolog based==
* [[Prolog]]
** [[CLP(R)]], CLP(FD)
** [[Mercury (programming language)|Mercury]]
** [[Erlang (programming language)|Erlang]]
*** [[Cuneiform (programming language)|Cuneiform]]
*** [[Elixir (programming language)|Elixir]]<ref>{{cite web |last1=Valim |first1=José |title=Elixir: The Documentary |url=https://cult.honeypot.io/originals/elixir-the-documentary |website=Honeypot |access-date=11 December 2020 |language=English |format=Video |quote=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.}}</ref> (also under Ruby)
** [[Logtalk]]
 
==SASL based==
* [[SASL (programming language)|SASL]]
** [[Kent Recursive Calculator]]
** [[Miranda (programming language)|Miranda]]
*** [[Haskell]]
**** [[Agda (programming language)|Agda]]
**** [[Elm (programming language)|Elm]]
**** [[Idris (programming language)|Idris]]
**** [[Rust (programming language)|Rust]] (also under C++, Cyclone, and OCaml)
**** [[Swift (programming language)|Swift]] (also under Ruby, Python, and Objective-C)
**** [[PureScript]]
***[[Nix_(package_manager)|Nix]]
 
==SETL based==
* [[SETL]]
** [[ABC (programming language)|ABC]]
*** [[Python (programming language)|Python]] (also under ALGOL)
**** [[Julia (programming language)|Julia]] (also under Lisp, Ruby, ALGOL)
**** [[Nim (programming language)|Nim]] (also under Oberon)
**** [[Ring (programming language)|Ring]] (also under C, BASIC, Ruby, C#, Lua)<ref name="RingAndOtherLanguages"></ref>
**** [[Swift (programming language)|Swift]] (also under Ruby, Objective-C, and Haskell)
**** [[Boo (programming language)|Boo]]
**** [[Cobra (programming language)|Cobra]] (syntax and features)
 
==sh based==
* [[Bourne shell|Sh]]
** [[Bash (Unix shell)|bash]]
** [[C shell|csh]] (also under C)
*** [[tcsh]]
*** [[Hamilton C shell]]
** [[fish shell|fish]]
** [[z shell|zsh]]
** [[KornShell|ksh]]
*** [[Windows PowerShell]] (also under C#, DCL, and Perl)
*** [[Qshell]]
 
==Simula based==
* [[Simula]] (also under ALGOL 60)
** [[C++]] (also under C)
** [[Smalltalk]]
*** [[Objective-C]] (hybrid of C and Smalltalk)
**** [[Swift (programming language)|Swift]] (also under Ruby, Python, and Haskell)
**** [[Cobra (programming language)|Cobra]] (support both dynamic and static types)
*** [[Ruby (programming language)|Ruby]] (also under Perl)
**** [[Swift (programming language)|Swift]] (also under Objective-C, Python, and Haskell)
****[[Elixir (programming language)|Elixir]]{{Citation needed|date=October 2019}} (also under Erlang)
*** [[Self (programming language)|Self]]
**** [[JavaScript]] (also under Scheme) (see also [[#JavaScript based|JavaScript based]])
**** [[NewtonScript]]
***** [[Io (programming language)|Io]]
*** [[Object REXX|Object Rexx]] (also under REXX)
** [[BETA (programming language)|BETA]]
 
==Tcl based==
* [[Tcl]]
** [[Expect]]
** [[Tea (programming language)|Tea]]
 
==Others==
* [[Assembly language|Assembly]]
* [[BLISS]]
* [[CORAL]]
* [[Curl (programming language)|Curl]]
* [[GPSS]]
* [[IDL (programming language)|IDL]]
* [[LabVIEW]]
** [[NXT-G]]
* [[Microsoft Power Fx]]
* [[occam (programming language)|occam]]
* [[POP-2]], [[POP-11]]
* [[REFAL]]
* [[IBM RPG|RPG (Report Program Generator)]]
* [[Seed7]]
* [[SQL|SQL (Structured Query Language)]]
* [[TACL (programming language)|TACL (Tandem Advanced Command Language)]]
* [[TUTOR]]
* [[Joule]]
** [[E (programming language)|E]]
*** [[Pony (programming language)|Pony]]
 
==References==
{{Reflist}}
 
==External links==
{{commons category|Tree diagrams of the history of programming languages}}
* [https://merd.sourceforge.net/pixel/language-study/diagram.html Diagram & history of programming languages] {{Webarchive|url=https://web.archive.org/web/20080513101124/http://merd.sourceforge.net/pixel/language-study/diagram.html |date=2008-05-13 }}
 
{{Programming languages}}
 
{{DEFAULTSORT:Generational List Of Programming Languages}}
[[Category:Lists of programming languages]]