Content deleted Content added
Kenny Moens (talk | contribs) m Added Pico |
|||
(532 intermediate revisions by more than 100 users not shown) | |||
Line 1:
{{Short description|none}}
{{For|programming languages categorized by generational numbers|programming language generations}}
{{more citations needed|date=December 2020}}
<!-- List still looks inaccurate! -->
{{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==
* [[ALGOL]] (also under Fortran)
**
** [[ALGOL 58]] (IAL, International Algorithmic Language)
*** [[MAD (programming language)|MAD and GOM]] (Michigan Algorithm Decoder and Good Old MAD)
**
***
*** [[Simula]] (see also [[#Simula based|Simula based]])
***
****
***** [[
****** [[
****** [[
****** [[
****** [[Swift (programming language)|Swift]] (also under Ruby, Objective-C, and Haskell)
****** [[
****** [[
** [[ALGOL 68]]
**
*** [[
**** [[
***** [[
***** [[PL/SQL]]
**** [[
***** [[Object Pascal]] ([[Delphi (software)|Delphi]])
****** [[
****** [[Borland Kylix|Kylix]] (same as Delphi, but for [[Linux]])
**** [[Euclid (programming language)|Euclid]]
***** [[Concurrent Euclid]]
***** [[
****** [[Turing+]] (Turing Plus)
****** [[
**** [[
***** [[
****** [[
****** [[
******* [[
******** [[
******* [[
******* [[Oberon-2]]
******** [[Component Pascal]]
******** [[Active Oberon]]
********* [[Zonnon]]
******* [[
****** [[Lua (programming language)|Lua]] (also under Scheme and SNOBOL)
******* [[
**** SUE
***** [[
** [[Combined Programming Language|CPL]]
*** [[BCPL]]
**** [[
***** [[
==APL based==
*
** [[
** [[
** [[
** [[NESL]]
** [[Perl Data Language|PDL]] (also under Perl)
==BASIC based==
* [[BASIC]] (also under Fortran II)
** [[AmigaBASIC]]
**
** [[BASIC Stamp]]
** [[
** [[BASIC09]]
** [[BBC Basic]]
** [[Blitz BASIC]]
*** [[
*** [[Blitz BASIC|BlitzMax]]
*** [[BlitzPlus]]
** [[Business Basic]]
** [[Caché Basic]]
** [[Chinese BASIC]]
** [[COMAL]]
** [[Commodore BASIC]]
** [[DarkBASIC]]
*** [[DarkBASIC Professional]]
** [[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]]
|