Generational list of programming languages: Difference between revisions

Content deleted Content added
No edit summary
Tags: Reverted section blanking Mobile edit Mobile web edit
 
(85 intermediate revisions by 44 users not shown)
Line 1:
{{Short description|none}}
{{For|programming languages categorized by generational numbers|programming language generations}}
{{more citations needed|date=December 2020}}
 
<!-- listList 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 alphabeticalalphabetic order. Any such categorization has a large arbitrary element, since programming languages often incorporate major ideas from multiple sources.
 
==ALGOL based==
Line 13 ⟶ 14:
** [[ALGOL 60]]
*** [[MAD (programming language)|MAD/I]]
*** [[Simula]] (see also [[Generational list of programming languages#Simula based|Simula based languages]])
*** [[SETL]]
**** [[ABC (programming language)|ABC]]
***** [[Python (programming language)|Python]]
****** [[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)
** [[ALGOL 68]]
** [[ALGOL W]]
Line 21 ⟶ 31:
***** [[PL/SQL]]
**** [[Turbo Pascal]]
***** [[Object Pascal]] ([[ObjectDelphi Pascal(software)|Delphi]])
****** [[Free Pascal]] (FPC)
****** [[KylixBorland (software)Kylix|Kylix]] (same as Delphi, but for [[Linux]])
**** [[Euclid (programming language)|Euclid]]
***** [[Concurrent Euclid]]
***** [[Turing (programming language)|Turing]]
****** [[Turing+|]] (Turing Plus]])
****** [[Turing (programming language)#Object-Oriented Turing|Object -Oriented Turing]]
**** [[Mesa (programming language)|Mesa]]
***** [[Modula-2]]
Line 34 ⟶ 44:
****** [[Oberon (programming language)|Oberon]] (Oberon-1)
******* [[Go (programming language)|Go]] (also under C)
******** [[V (programming language)|V (Vlang)]]
******* [[Nim (programming language)|Nim]] (also under Python)
******* [[Oberon-2 (programming language)|Oberon-2]]
******** [[Component Pascal]]
******** [[Active Oberon]]
Line 41 ⟶ 52:
******* [[Oberon (programming language)#Oberon-07|Oberon-07]]
****** [[Lua (programming language)|Lua]] (also under Scheme and SNOBOL)
******* [[Ring (programming language)|Ring]] (also under C, BASIC, Ruby, Python, C#)<ref name="RingAndOtherLanguages"></ref>
**** SUE
***** [[Plus (programming language)|Plus]]
Line 46 ⟶ 58:
*** [[BCPL]]
**** [[B (programming language)|B]]
***** [[C (programming language)|C]] (see also [[Generational list of programming languages#C based|C based languages]])
** [[Julia (programming language)|Julia]] (also under Lisp, Python, Ruby)
 
==APL based==
Line 62 ⟶ 73:
** [[AMOS (programming language)|AMOS BASIC]]
** [[BASIC Stamp]]
** [[Basic-256]]
** [[BASIC09]]
** [[Basic4GL]]
** [[BBC Basic]]
** [[Blitz BASIC]]
Line 76 ⟶ 87:
** [[DarkBASIC]]
*** [[DarkBASIC Professional]]
** [[Dartmouth BASIC]]
*** [[HP Time-Shared BASIC]]
**** [[Integer BASIC]] or Apple BASIC
*** [[Tiny BASIC]]
**** [[Atari BASIC]]
** [[Euphoria (programming language)|Euphoria]]
** [[GW-BASIC]]
*** [[QuickBASIC]]
**** [[QBasic]]
***** [[FreeBASIC]]
***** [[Liberty BASIC]]
****** [[Run BASIC]]
**** [[Visual Basic]]
***** [[VBScript]]
***** [[Visual Basic for Applications]] (VBA)
****** [[LotusScript]]
***** [[Visual Basic .NET]]
****** [[Microsoft Small Basic|Small Basic]]
***** [[OpenOffice Basic]]
***** [[Gambas]]
***** [[WinWrap Basic]]
***** [[WordBasic]]
**** [[QB64]]
** [[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]]
** [[Turbo Basic]]
*** [[PowerBASIC]]
** [[REALbasic|REALbasic (Xojo)]]
** [[Ring (programming language)|Ring]] (also under C, Ruby, Python, C#, Lua)<ref name="RingAndOtherLanguages"></ref>
** [[thinBasic]]
** [[TI-BASIC]]
** [[True BASIC]]
** [[Yabasic|YaBasicTurbo Basic]]
*** [[PowerBASIC]]
** [[wxBasic]]
*** [[SdlBasic]]
**** RCBasic
** [[XBasic]]
** [[Yabasic|YaBasic]]
 
==Batch languages==
Line 109 ⟶ 135:
** [[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++]]
Line 119 ⟶ 147:
** [[C Sharp (programming language)|C#]]
*** [[Windows PowerShell]] (also under DCL, ksh, and Perl)
*** [[CobraRing (programming language)|CobraRing]] <small>(class/objectalso modelunder andBASIC, otherRuby, featuresPython, Lua)<ref name="RingAndOtherLanguages"></smallref>
** [[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 [[Generational list of programming languages#Java based|Java based languages]])
** [[C--]]
** [[Cyclone (programming language)|Cyclone]]
Line 127 ⟶ 156:
** [[ColdFusion]]
** [[Go (programming language)|Go]] (also under Oberon)
*** [[V (programming language)|V (Vlang)]]
** [[Harbour (software)|Harbour]]
*** [[Limbo (programming language)|Limbo]]
Line 140 ⟶ 170:
*** [[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]]
** [[Python (programming language)|Python]]
*** [[Julia (programming language)|Julia]] (also under Lisp, Ruby, ALGOL)
*** [[Nim (programming language)|Nim]] (also under Oberon)
*** [[Swift (programming language)|Swift]] (also under Ruby, Objective-C, and Haskell)
** [[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==
Line 163 ⟶ 212:
**** [[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==
Line 176 ⟶ 226:
==Eiffel based==
* [[Eiffel (programming language)|Eiffel]]
** [[Cobra (programming language)|Cobra]] <small>(design by contract)</small>
** [[Sather]]
** [[Ubercode]]
Line 192 ⟶ 242:
* [[Fortran]]
** [[Fortran#FORTRAN II|Fortran II]]
*** [[BASIC]] (see also [[Generational list of programming languages#BASIC based|BASIC based languages]])
*** [[SAKO_(programming_language)|SAKO]]
** [[Fortran#FORTRAN IV|Fortran IV]]
*** [[WATFIV|WATFOR]]
*** [[WATFIV]]
** [[Fortran#FORTRAN 66|Fortran 66]]
*** [[FORMAC (programming language)|FORMAC]]
*** [[Ratfor]]
** [[Fortran#FORTRAN 77|Fortran 77]]
Line 209 ⟶ 260:
** [[Fortran#Fortran 2018|Fortran 2018]]
<!-- ** [[Fortran#Fortran 2020|Fortran 202x]] e.g. Intel Fortran 2020 Beta-->
** [[ALGOL]] (see also [[Generational list of programming languages#ALGOL based|ALGOL based languages]])
 
==FP based==
Line 221 ⟶ 272:
** [[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==
Line 231 ⟶ 298:
** [[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==
Line 251 ⟶ 319:
** [[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)
Line 257 ⟶ 328:
** [[Logo (programming language)|Logo]]
*** [[Turtle graphics]]
** [[MacLisp]]
** [[Nu (programming language)|Nu programming language]]
** [[PicoLisp]]
Line 272 ⟶ 344:
*** [[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==
Line 287 ⟶ 362:
** [[PL/C]]
** [[REXX]]
*** [[Object Rexx]] (also under Smalltalk)
** [[SP/k]]
** [[XPL]]
Line 296 ⟶ 372:
** [[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 |publisher=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]]
 
Line 303 ⟶ 379:
** [[Kent Recursive Calculator]]
** [[Miranda (programming language)|Miranda]]
*** [[Haskell (programming language)|Haskell]]
**** [[Agda (programming language)|Agda]]
**** [[Elm (programming language)|Elm]]
Line 310 ⟶ 386:
**** [[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 CALGOL)
**** [[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]] <small>(syntax and features)</small>
 
==sh based==
Line 324 ⟶ 404:
** [[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==
Line 332 ⟶ 415:
** [[C++]] (also under C)
** [[Smalltalk]]
*** [[Objective-C]] <small>(hybrid of C and Smalltalk)</small>
**** [[Swift (programming language)|Swift]] (also under Ruby, Python, and Haskell)
**** [[Cobra (programming language)|Cobra]] <small>(support both dynamic and static types)</small>
*** [[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 [[Generational list of programming languages#JavaScript based|JavaScript based languages]])
**** [[NewtonScript]]
***** [[Io (programming language)|Io]]
*** [[Object REXX|Object Rexx]] (also under REXX)
** [[BETA (programming language)|BETA]]
 
Line 351 ⟶ 435:
==Others==
* [[Assembly language|Assembly]]
* [[BLISS (programming language)|BLISS]]
* [[Coral 66|CORAL]]
* [[Curl (programming language)|Curl]]
* [[GPSS]]
* [[IDL (programming language)|IDL]]
* [[LabVIEW]]
** [[NXT-G]]
* [[Microsoft Power Fx]]
* [[occam (programming language)|occam]]
* [[POP-2]], [[POP-11]]
Line 362 ⟶ 448:
* [[IBM RPG|RPG (Report Program Generator)]]
* [[Seed7]]
* [[SqlSQL|SQL (Structured Query Language)]]
* [[TACL (programming language)|TACL (Tandem Advanced Command Language)]]
* [[TUTOR (programming language)|TUTOR]]
* [[Joule]]
** [[E (programming language)|E]]
*** [[Pony (programming language)|Pony]]
 
==References==
Line 370 ⟶ 459:
 
==External links==
{{commons category|DiagramsTree diagrams of relationshipsthe betweenhistory of programming languages}}
* [httphttps://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}}