The family tree of major programming languages in a visual display.
Assembly Language: The starting point for low-level languages that translate directly to machine code. From here, higher-level languages began to evolve.
- Autocode: One of the first high-level languages, leading to the development of ALGOL.
- Fortran: The first widely-used high-level language, influencing many scientific and engineering languages.
- LISP: One of the oldest high-level languages, which influenced many languages in the functional programming domain.
- ALGOL 58, 60, and 68: These languages were highly influential in the development of structured programming and spawned many other languages.
- Simula 67: An extension of ALGOL, it introduced object-oriented programming concepts, leading to languages like Smalltalk and C++.
- Pascal: Derived from ALGOL, it influenced languages focused on teaching and structured programming.
- BCPL, B, and C: Developed as a system programming language, C became one of the most influential languages, leading to many descendants like C++, Objective-C, and C#.
- C++: An extension of C that added object-oriented features.
- Objective-C: Combined C with Smalltalk-style messaging, eventually influencing Swift.
- C#: Developed by Microsoft, heavily influenced by C++ and Java.
- Java: Developed with a focus on portability and security, Java has a vast influence, especially in enterprise environments.
- JavaScript: Though it shares the name, it is more influenced by Self and Scheme. JavaScript's role in web development is immense, leading to languages like TypeScript and ECMAScript.
- Swift: Developed by Apple as a successor to Objective-C, borrowing concepts from various modern languages.
- Python: Known for its readability and simplicity, Python has influenced many modern programming practices.
- Ruby: Influenced by Perl, Smalltalk, and Python, it emphasizes simplicity and productivity.
- Python 3: A major update to Python that fixed many inconsistencies and introduced new features.
- Scheme and Common Lisp: Variants of LISP that have influenced many functional programming languages.
- Clojure: A modern LISP dialect that runs on the JVM, emphasizing concurrency and immutability.
- ML Family: Including Standard ML and OCaml, these languages focus on functional programming and type safety.
- Haskell: A purely functional language with strong type inference, influencing many modern functional languages.
This family tree is a simplified view of the vast and complex evolution of programming languages, but it covers the major branches and their key descendants. For the visual display of the programming languages in a family tree, see the programming-languages.md file.
Enjoy!!