<!-- List still looks inaccurate! -->

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

  • 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)
  • SETL
  • ABC
  • Python
  • Julia (also under Lisp, Ruby, ALGOL)
  • Nim (also under Oberon)
  • Swift (also under Ruby, Objective-C, and Haskell)
  • Boo
  • Cobra (syntax and features)
  • ALGOL 68
  • ALGOL W
  • Pascal
  • Ada
  • SPARK
  • PL/SQL
  • Turbo Pascal
  • Object Pascal (Delphi)
  • Free Pascal (FPC)
  • Kylix (same as Delphi, but for Linux)
  • Euclid
  • Concurrent Euclid
  • Turing
  • Turing+ (Turing Plus)
  • Object-Oriented Turing
  • Mesa
  • Modula-2
  • Modula-3
  • Oberon (Oberon-1)
  • Go (also under C)
  • V (Vlang)
  • Nim (also under Python)
  • Oberon-2
  • Component Pascal
  • Active Oberon
  • Zonnon
  • Oberon-07
  • Lua (also under Scheme and SNOBOL)
  • SUE
  • Plus
  • CPL
  • BCPL
  • B
  • C (see also C based)

APL based

  • APL
  • A+
  • J (also under FL)
  • K (also under LISP)
  • NESL
  • PDL (also under Perl)

BASIC based

  • BASIC (also under Fortran II)
  • AmigaBASIC
  • Applesoft BASIC
  • AMOS BASIC
  • BASIC Stamp
  • Basic-256
  • BASIC09
  • BBC Basic
  • Blitz BASIC
  • Blitz3D
  • BlitzMax
  • BlitzPlus
  • Business Basic
  • Caché Basic
  • Chinese BASIC
  • Color BASIC
  • COMAL
  • Commodore BASIC
  • DarkBASIC
  • DarkBASIC Professional
  • Dartmouth BASIC
  • HP Time-Shared BASIC
  • Integer BASIC or Apple BASIC
  • Tiny BASIC
  • Atari BASIC
  • Euphoria
  • GLBasic
  • GRASS
  • Altair BASIC
  • Microsoft BASIC
  • GW-BASIC
  • QuickBASIC
  • QBasic
  • Basic4GL
  • FreeBASIC
  • Liberty BASIC
  • Run BASIC
  • Visual Basic
  • VBScript
  • Visual Basic for Applications (VBA)
  • LotusScript
  • Visual Basic .NET
  • Small Basic
  • B4X
  • Basic for Qt
  • OpenOffice Basic
  • HBasic
  • Gambas
  • WinWrap Basic
  • WordBasic
  • QB64
  • PureBasic
  • REALbasic (Xojo)
  • TI-BASIC
  • True BASIC
  • Turbo Basic
  • PowerBASIC
  • wxBasic
  • SdlBasic
  • RCBasic
  • XBasic
  • YaBasic

Batch languages

  • MS-DOS Batch files
  • Winbatch
  • CLIST
  • IBM Control Language (CL)
  • IBM Job Control Language (JCL)

C based

  • C (also under BCPL)
  • Lua
  • Alef
  • C++
  • Rust (also under Cyclone, Haskell, and OCaml)
  • D
  • C#
  • Windows PowerShell (also under DCL, ksh, and Perl)
  • 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 (see also Java based)
  • C--
  • Cyclone
  • Rust (also under C++, Haskell, and OCaml)
  • ColdFusion
  • Go (also under Oberon)
  • V (Vlang)
  • Harbour
  • Limbo
  • LPC
  • Pike
  • Objective-C (also under Smalltalk)
  • Swift (also under Ruby, Python, and Haskell)
  • PCASTL (also under Lisp)
  • Perl
  • Windows PowerShell (also under C#, DCL, and ksh)
  • S2
  • PHP
  • Ruby (also under Smalltalk)
  • Julia (also under Lisp, Python, ALGOL)<!--Ruby listed as influence, I think because of Blocks (only?)-->
  • Swift (also under Objective-C, Python, and Haskell)
  • Crystal
  • Elixir (also under Erlang)
  • PDL (also under APL)
  • Raku
  • QuakeC
  • tcsh (also under sh)

C# based

  • C#
  • Chapel
  • Clojure
  • Crystal
  • D
  • J#
  • Dart
  • F#
  • Hack
  • Java
  • Kotlin
  • Nemerle
  • Oxygene
  • Rust
  • Swift
  • Vala
  • TypeScript

COBOL based

  • COBOL
  • ABAP
  • DIBOL
  • WATBOL

COMIT based

  • COMIT
  • SNOBOL
  • Icon
  • Unicon
  • Lua (also under Modula and Scheme)

DCL based

  • DCL
  • Windows PowerShell (also under C#, ksh, and Perl)

ed based

  • ed (programming language)
  • sed
  • AWK
  • Perl (also under C)

Eiffel based

  • Eiffel
  • Cobra (design by contract)
  • Sather
  • Ubercode

Forth based

  • Forth
  • InterPress
  • PostScript
  • Joy
  • Factor
  • Rebol (also under Lisp)
  • RPL (also under Lisp)

Fortran based

  • Fortran
  • Fortran II
  • BASIC (see also BASIC based)
  • SAKO
  • Fortran IV
  • WATFOR
  • WATFIV
  • Fortran 66
  • FORMAC
  • Ratfor
  • Fortran 77
  • WATFOR-77
  • Ratfiv
  • Fortran 90
  • Fortran 95
  • F
  • Fortran 2003
  • Fortran 2008
  • Fortran 2018

<!-- ** Fortran 202x e.g. Intel Fortran 2020 Beta-->

  • ALGOL (see also ALGOL based)

FP based

  • FP (Function Programming)
  • FL (Function Level)
  • J (also under APL)
  • FPr (also under Lisp and object-oriented programming)

HyperTalk based

  • HyperTalk
  • ActionScript (also under JavaScript)
  • AppleScript
  • LiveCode (Formerly Transcript)
  • SenseTalk
  • SuperTalk

Java based

  • Java (also under C)
  • Ateji PX
  • C#
  • Ceylon
  • Fantom
  • Groovy
  • OptimJ
  • Processing
  • Scala
  • Join Java
  • J#
  • Kotlin
  • 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
  • TELCOMP
  • FOCAL
  • MUMPS
  • Caché ObjectScript

JOSS also inspired features for several versions of BASIC, including Tymshare's SUPER BASIC and DEC's BASIC-PLUS.

Lisp based

  • 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
  • Turtle graphics
  • MacLisp
  • Nu programming language
  • PicoLisp
  • REBOL
  • Red (programming language)
  • RPL (also under Forth)
  • S
  • R
  • PCASTL (also under ALGOL)
  • Scheme
  • GNU Guile
  • Racket
  • Hop
  • Pico
  • T
  • Lua (also under Modula and SNOBOL)
  • JavaScript (also based on Self)
  • ECMAScript (also based on Self)

ML based

  • ML
  • Standard ML (SML)
  • Caml
  • OCaml
  • F#
  • Reason
  • 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
  • Erlang
  • Cuneiform
  • Elixir (also under Ruby)
  • Logtalk

SASL based

  • SASL
  • Kent Recursive Calculator
  • Miranda
  • Haskell
  • Agda
  • Elm
  • Idris
  • Rust (also under C++, Cyclone, and OCaml)
  • Swift (also under Ruby, Python, and Objective-C)
  • PureScript
  • Nix

SETL based

  • SETL
  • ABC
  • Python (also under ALGOL)
  • Julia (also under Lisp, Ruby, ALGOL)
  • Nim (also under Oberon)
  • Swift (also under Ruby, Objective-C, and Haskell)
  • Boo
  • Cobra (syntax and features)

sh based

  • Sh
  • bash
  • csh (also under C)
  • tcsh
  • Hamilton C shell
  • fish
  • zsh
  • 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 (also under Ruby, Python, and Haskell)
  • Cobra (support both dynamic and static types)
  • Ruby (also under Perl)
  • Swift (also under Objective-C, Python, and Haskell)
  • Elixir (also under Erlang)
  • Self
  • JavaScript (also under Scheme) (see also JavaScript based)
  • NewtonScript
  • Io
  • Object REXX (also under Rexx)
  • BETA

Tcl based

  • Tcl
  • Expect
  • Tea

Others

  • Assembly
  • BLISS
  • CORAL
  • Curl
  • GPSS
  • IDL
  • LabVIEW
  • NXT-G
  • Microsoft Power Fx
  • occam
  • POP-2, POP-11
  • REFAL
  • RPG (Report Program Generator)
  • Seed7
  • SQL (Structured Query Language)
  • TACL (Tandem Advanced Command Language)
  • TUTOR
  • Joule
  • E
  • Pony

References

  • Diagram & history of programming languages