Generational list of programming languages
Adapted from Wikipedia · Discoverer experience
Programming languages are the tools that help people tell computers what to do. Just like families have generations, programming languages also have "generations" based on how they developed over time. This list shows how different languages are connected, much like a family tree.
Each language on this list is grouped under the one that most influenced it. These connections help us understand how ideas and features spread from one language to another. Even though it's hard to say exactly which language influenced another the most, this list gives us a clear way to see the history of programming.
Learning about these connections can help us appreciate how modern programming languages came to be. It shows us the creativity and problem-solving that went into building the tools we use today to create games, apps, and many other programs.
ALGOL based
Many modern programming languages grew from ALGOL. ALGOL itself started under the influence of Fortran. Some languages that came from ALGOL include Atlas Autocode, ALGOL 58, and ALGOL 60.
From ALGOL 60, languages like Simula, SETL, and Pascal developed. Pascal led to many others such as Ada, Turbo Pascal, and Mesa. These, in turn, influenced languages like Python, Go, Lua, and C.
APL based
APL is a special way of talking and giving instructions to computers. Many other ways to talk to computers grew from APL, like A+, J, K, NESL, and PDL. These help people create new programs and solve problems in their own ways.
BASIC based
BASIC is a family of programming languages that started from a simple idea to make computers easier to use. Many different versions of BASIC have been created over the years, each designed for different types of computers or special purposes. Some well-known versions include Applesoft BASIC for Apple computers, Commodore BASIC for Commodore machines, and Microsoft BASIC which later evolved into many modern languages like Visual Basic .NET and VBScript. These languages helped people write programs in a way that was more understandable and easier to learn.
Batch languages
Batch languages are a group of programming tools that help computers follow step-by-step instructions. One example is MS-DOS Batch files, which includes a tool called Winbatch. Other batch languages are CLIST, IBM Control Language (CL), and IBM Job Control Language (JCL). These languages were used to manage and organize tasks on older computer systems.
C based
C is a programming language that influenced many others. Some languages that came from C include Lua, Alef, C++, and C#.
From C++, we have Rust and D. Windows PowerShell came from both C# and other languages. Other languages influenced by C are Cobra, Java, C--, Cyclone, ColdFusion, Go, Harbour, LPC, Objective-C, PCASTL, Perl, QuakeC, and tcsh. Languages like V (Vlang), Limbo, Pike, Swift, S2, PHP, Ruby, Julia, Crystal, Elixir[citation needed], PDL, and Raku also have connections to C or its family members.
C# based
C# is a programming language that has inspired many others. Some languages influenced by C# include Chapel, Clojure, Crystal, J#, Dart, F#, Hack, Java, Kotlin, Nemerle, Oxygene, Rust, Swift, Vala, and TypeScript. These languages share ideas and features that help programmers create software more easily.
COBOL based
COBOL is an old programming language that helped shape others. Some languages that came from COBOL include ABAP, DIBOL, and WATBOL. These languages were built using ideas from COBOL to make new tools for computers.
COMIT based
The COMIT programming language helped create other languages. One of these is SNOBOL, which then influenced Icon. Icon, in turn, led to the development of Unicon. SNOBOL also contributed to the creation of Lua, which was also influenced by Modula and Scheme.
DCL based
DCL is a type of programming language that helps control and manage computer systems. One example of a language that comes from DCL is Windows PowerShell, which is also related to other languages like C#, ksh, and Perl.
ed based
The ed programming language had some important children. These include sed and AWK. AWK, in turn, influenced the creation of Perl, which is also related to the C language. These languages helped shape how computers can understand and process information.
Main article: ed (programming language)
Eiffel based
The Eiffel programming language helped create other languages too. Some of these are Cobra, Sather, and Ubercode. Each of these new languages brought its own special ideas, like design by contract in Cobra.
Forth based
Forth is a programming language that helped create several other languages. Some of these include InterPress, which led to PostScript. Joy inspired Factor, and Rebol and RPL also grew from Forth's ideas.
Fortran based
Fortran is an old and important programming language that helped create many others. Some of the languages that grew from Fortran include BASIC, SAKO, WATFOR, WATFIV, FORMAC, Ratfor, WATFOR-77, Ratfiv, F, and ALGOL. Each of these languages has its own special uses and features, building on the ideas started by Fortran.
The different versions of Fortran, like Fortran II, Fortran IV, Fortran 66, Fortran 77, Fortran 90, Fortran 95, Fortran 2003, Fortran 2008, and Fortran 2018, each added new capabilities and improvements over time.
FP based
The FP based group of programming languages starts with FP (Function Programming). From there, it includes FL (Function Level), which also connects to J (also under APL). Another branch is FPr, which links to Lisp and object-oriented programming. These languages show how ideas in programming grow from one to another.
HyperTalk based
HyperTalk is a programming language that influenced several others. Some languages that came from HyperTalk include ActionScript (also related to JavaScript), AppleScript, LiveCode (once called Transcript), SenseTalk, and SuperTalk. These languages share ideas and features because they all started from HyperTalk.
Java based
Java is a very popular programming language that many others are built from. Some languages influenced by Java include Ateji PX, C#, Ceylon, Fantom, Groovy, OptimJ, Processing, Scala, Join Java, J#, Kotlin, and X10. These languages take ideas from Java to create their own unique ways of writing code.
JavaScript based
JavaScript is a popular language used for making websites interactive. It influenced many other languages like ActionScript, which led to Haxe, and TypeScript, which led to AssemblyScript. Other languages inspired by JavaScript include Asm.js, CoffeeScript, ECMAScript, JavaScript OSA, and JScript.
JOSS based
JOSS inspired several other programming languages. Some of these include CAL, TELCOMP, FOCAL, and MUMPS. MUMPS also led to the development of Caché ObjectScript. Additionally, JOSS influenced versions of BASIC, such as Tymshare's SUPER BASIC and DEC's BASIC-PLUS.
Lisp based
Programming languages like Arc, AutoLISP, and Clojure are part of a group that started with Lisp. These languages share ideas and ways of doing things that began with Lisp. For example, Common Lisp has a smaller version called uLisp for tiny computers, and Emacs Lisp is used in a special text editor. Other languages such as Logo use ideas from Lisp to help teach drawing on computers, and Scheme has many smaller versions like Racket and GNU Guile.
ML based
This section talks about programming languages that started from ML.
One main language is Standard ML, often called SML. From there, a language called Caml developed, which then led to OCaml. From OCaml, several other languages grew, including F#, Reason, and Rust. Rust also connects back to other languages like C++, Cyclone, and Haskell.
PL/I based
PL/I was a programming language that inspired several others. Some languages that grew from PL/I include PL/M, PL/C, Rexx, SP/k, and XPL. Rexx itself led to the development of Object REXX, which also connects to Smalltalk.
Prolog based
Some programming languages come from a language called Prolog. These include CLP(R) and CLP(FD), Mercury, and Erlang. From Erlang, we get languages like Cuneiform and Elixir, which is also related to Ruby. There is also a language called Logtalk that comes from Prolog.
SASL based
Some programming languages come from a language called SASL. One of these is called Miranda, and it helped create another language named Haskell. Haskell then influenced several other languages, including Agda, Elm, Idris, Rust, Swift, and PureScript. Rust and Swift also came from other languages like C++, Cyclone, OCaml, Ruby, Python, and Objective-C. Another language, Nix, also came from Miranda.
SETL based
The SETL programming language inspired several other languages. One of these is ABC, which later influenced Python. Python, in turn, has inspired languages like Julia, Nim, Swift, Boo, and Cobra. Each of these languages has its own unique features but shares ideas from Python and its ancestors.
sh based
The sh based group of programming languages includes several important tools used to control computers. Some of these are bash, which is widely used on many computers, fish, zsh, and ksh. Other related tools include csh, which also connects to the C language, and has versions like tcsh and Hamilton C shell. From ksh, we also have Windows PowerShell, used on Windows computers, and Qshell.
Simula based
Programming languages sometimes grow from older ones. Simula is an older language that helped create many newer ones. For example, C++ was partly inspired by Simula. Smalltalk, another language from this family, led to many others like Ruby and JavaScript. Ruby itself influenced languages such as Elixir and Swift, which also have connections to other languages like Python and Haskell. This shows how ideas from one language can spread and evolve into many different kinds of programming tools.
Main article: Simula
Tcl based
The programming language Tcl helped create other languages like Expect and Tea. These languages are part of Tcl's family, meaning they were built using ideas and rules from Tcl. Tcl itself is known for being flexible and easy to use in different types of programs.
Others
Here are some more programming languages that don't fit into the main family groups. They each have their own special uses and histories.
Related articles
This article is a child-friendly adaptation of the Wikipedia article on Generational list of programming languages, available under CC BY-SA 4.0.
Safekipedia