Generational list of programming languages
Adapted from Wikipedia · Adventurer experience
Programming languages are 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.
Early Generations
The earliest programming languages were created in the 1940s and 1950s. These languages were very simple and close to the way computers think. They helped lay the foundation for all later languages.
First-Generation Languages
The first programming languages were called machine languages. These were very basic and needed to be written in numbers and letters that the computer could understand directly. It was hard to write programs this way, but it was the starting point for everything that came after.
Second-Generation Languages
In the 1950s, programmers created assembly languages. These were a bit easier to use than machine languages because they used short words or letters to represent commands. This made it simpler to write and understand programs.
Third-Generation Languages
The 1960s brought us third-generation languages. These were much easier to use than the earlier ones. They used words that looked more like normal English, making it easier for people to write and read programs.
Notable Third-Generation Languages
- FORTRAN (FORTRAN) was created for scientific calculations.
- COBOL (COBOL) was made for business use.
These languages became very popular and were used for many different kinds of work.
Fourth-Generation Languages
The 1970s and 1980s saw the rise of fourth-generation languages. These languages were even easier to use and could do more things. They often came with tools that helped programmers write code faster.
Notable Fourth-Generation Languages
- BASIC (BASIC) was designed to be easy to learn and use.
- Pascal (Pascal) was created for teaching programming.
- C (C) became a very popular language for system programming.
Fifth-Generation Languages
In the 1990s and 2000s, fifth-generation languages appeared. These languages focused on making programming faster and more powerful. They often included new features to help programmers write better code.
Notable Fifth-Generation Languages
- C++ (C++) added features to C that made it better for large programs.
- Java (Java) was designed to work on many different kinds of computers.
- Python (Python) became popular for its simplicity and flexibility.
Sixth-Generation Languages
Today, we are seeing sixth-generation languages. These languages keep getting better and easier to use. They help programmers build new and exciting things, from games to web sites.
Notable Sixth-Generation Languages
- JavaScript (JavaScript) is widely used for web programming.
- Ruby (Ruby) is known for its ease of use and flexibility.
- Go (Go) was created by Google and is used for many different types of programming.
Future Generations
Programming languages will keep evolving. As new challenges arise, programmers will create new languages to solve them. The future of programming is full of possibilities, and each new generation of languages will bring us closer to building even more amazing things with computers.
ALGOL based
Many modern programming languages grew from ALGOL. ALGOL started from Fortran. Some languages that came from ALGOL are 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 influenced languages like Python, Go, Lua, and C.
APL based
APL is a special way to talk to computers. Many other ways to talk to computers came from APL. These include A+, J, K, NESL, and PDL. They help people make new programs and solve problems.
BASIC based
BASIC is a group of programming languages. It started with a simple idea: to make computers easier to use. Many versions of BASIC were made for different computers or special uses. Some well-known versions are Applesoft BASIC for Apple computers, Commodore BASIC for Commodore machines, and Microsoft BASIC. Microsoft BASIC later grew into languages like Visual Basic .NET and VBScript. These languages helped people write programs in a way that was clearer and simpler to learn.
Batch languages
Batch languages are a group of tools that help computers follow steps one after another. 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 help organize tasks on older computers.
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 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 that help programmers create software more easily.
COBOL based
COBOL is an old programming language that influenced many others. Some languages that came from COBOL include ABAP, DIBOL, and WATBOL. These languages used ideas from COBOL to create new tools for computers.
COMIT based
The COMIT programming language helped create other languages. One of these is SNOBOL, which then influenced Icon. Icon 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. It 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 helped create Perl, which is related to the C language. These languages changed how computers understand and work with information.
Main article: ed (programming language)
Eiffel based
The Eiffel programming language helped create other languages. Some of these are Cobra, Sather, and Ubercode. Each of these new languages brought its own special ideas.
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. It helped create many other languages. Some of these languages are BASIC, SAKO, WATFOR, WATFIV, FORMAC, Ratfor, WATFOR-77, Ratfiv, F, and ALGOL. Each of these languages has its own special uses and features. They all build on 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, added new capabilities and improvements over time.
FP based
The FP based group of programming languages starts with FP (Function Programming). It also includes FL (Function Level), which connects to J (also under APL). Another branch is FPr, which links to Lisp and object-oriented programming. These languages show how programming ideas grow from one to another.
HyperTalk based
HyperTalk is a programming language that inspired others. Languages that came from HyperTalk include ActionScript (also related to JavaScript), AppleScript, LiveCode (once called Transcript), SenseTalk, and SuperTalk. These languages share ideas because they all began with HyperTalk.
Java based
Java is a very popular programming language. Many other languages are built from it. Some languages influenced by Java include Ateji PX, C#, Ceylon, Fantom, Groovy, OptimJ, Processing, Scala, Join Java, J#, Kotlin, and X10. These languages use ideas from Java to make their own special ways of writing code.
JavaScript based
JavaScript is a popular language used to make websites interactive. It influenced many other languages. These include ActionScript, which led to Haxe. TypeScript led to AssemblyScript. Other languages inspired by JavaScript are Asm.js, CoffeeScript, ECMAScript, JavaScript OSA, and JScript.
JOSS based
JOSS inspired many other programming languages. These include CAL, TELCOMP, FOCAL, and MUMPS. MUMPS also helped create Caché ObjectScript. JOSS also influenced versions of BASIC, like Tymshare's SUPER BASIC and DEC's BASIC-PLUS.
Lisp based
Programming languages like Arc, AutoLISP, and Clojure come from Lisp. They share ideas from Lisp. Common Lisp has a small version called uLisp for tiny computers. Emacs Lisp is used in a special text editor. Logo uses Lisp ideas to help teach drawing on computers. Scheme has 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.
PL/I based
PL/I was a programming language that inspired others. Some languages that came from PL/I are PL/M, PL/C, Rexx, SP/k, and XPL. Rexx helped create Object REXX, which is also linked to Smalltalk.
Prolog based
Some programming languages start from a language called Prolog. These include CLP(R), CLP(FD), Mercury, and Erlang. From Erlang, we get languages like Cuneiform and Elixir. Elixir is also related to Ruby. There is 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. Miranda helped create another language named Haskell. Haskell then influenced several other languages. These include Agda, Elm, Idris, Rust, Swift, and PureScript. Rust and Swift also came from other languages. These other languages include C++, Cyclone, OCaml, Ruby, Python, and Objective-C. Another language, Nix, also came from Miranda.
SETL based
The SETL programming language inspired other languages. One of these is ABC. ABC helped shape Python. Python has gone on to inspire languages like Julia, Nim, Swift, Boo, and Cobra. Each of these languages has special features, but they all share ideas from Python and the languages before it.
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 can 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 become 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. They were built using ideas from Tcl. Tcl is known for being flexible and easy to use in many types of programs.
Others
Here are some more programming languages that do not fit into the main groups. Each has its own special uses and history.
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