Generational list of programming languages

Programming language
lists
  • v
  • t
  • e

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
    • 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
        • SUE
          • Plus
    • CPL
    • Julia (also under Lisp, Python, Ruby)

APL based

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

BASIC based

Batch languages

C based

  • C (also under BCPL)
    • Lua
    • Alef
    • C++
      • Rust (also under Cyclone, Haskell, and OCaml)
      • D
    • C#
    • 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)
      • 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)
        • Ring (also under C, BASIC, Python, C#, Lua)[1]
        • Swift (also under Objective-C, Python, and Haskell)
        • Crystal
        • Elixir[citation needed] (also under Erlang)
      • PDL (also under APL)
      • Raku
    • Python
      • Julia (also under Lisp, Ruby, ALGOL)
      • Nim (also under Oberon)
      • Ring (also under C, BASIC, Ruby, C#, Lua)[1]
      • Swift (also under Ruby, Objective-C, and Haskell)
    • QuakeC
    • Ring (also under BASIC, Ruby, Python, C#, Lua) [1]
    • tcsh (also under sh)

C# based

COBOL based

COMIT based

  • COMIT
    • SNOBOL
      • Icon
        • Unicon
      • Lua (also under Modula and Scheme)
        • Ring (also under C, BASIC, Ruby, Python, C#)[1]

DCL based

ed based

  • ed (programming language)

Eiffel based

Forth based

Fortran based

FP based

HyperTalk based

Java based

JavaScript based

JOSS based

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
    • MacLisp
    • Nu programming language
    • PicoLisp
    • REBOL
      • Red (programming language)
    • RPL (also under Forth)
    • S
    • Scheme
      • GNU Guile
      • Racket
      • Hop
      • Pico
      • T
      • Lua (also under Modula and SNOBOL)
        • Ring (also under C, BASIC, Ruby, Python, C#)[1]
      • JavaScript (also based on Self)
      • ECMAScript (also based on Self)

ML based

PL/I based

Prolog based

  • Prolog
    • CLP(R), CLP(FD)
    • Mercury
    • Erlang
      • Cuneiform
      • Elixir[2] (also under Ruby)
    • Logtalk

SASL based

SETL based

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

sh based

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[citation needed] (also under Erlang)
      • Self
    • BETA

Tcl based

Others

References

  1. ^ a b c d e f g h i Ring Team (23 October 2021). "The Ring programming language and other languages". ring-lang.net.
  2. ^ 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

Wikimedia Commons has media related to Tree diagrams of the history of programming languages.
  • Diagram & history of programming languages
  • v
  • t
  • e