Interesting article describing families of programming languages:

https://madhadron.com/programming/seven_ur_languages.html

Identifiable by their ancestor language:

  • ALGOL
  • Lisp
  • ML (functional languages)
  • Self (object oriented languages)
  • Forth (stack languages)
  • APL (array languages)
  • Prolog (logic languages)

My suggested learning path

  1. Start with a language in the ALGOL family

    For starters, limit to the imperative parts

  2. Learn a declarative query language

    SQL can be an interesting shift from imperative and object oriented paradigms

  3. Learn a functional language

    Elm is simple and introduces a great architectural pattern

  4. Expand into other programming paradigms and languages

    • Python, Ruby, JavaScript : object oriented (classes and prototypes)

    • Rust : blend of imperative and functional, with fresh take on memory management

    • Go : interesting concurrency model

    • Prolog : logic programming

    • Haskell : pure functional, lazy evaluation