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
-
Start with a language in the ALGOL family
For starters, limit to the imperative parts
-
Learn a declarative query language
SQL can be an interesting shift from imperative and object oriented paradigms
-
Learn a functional language
Elm is simple and introduces a great architectural pattern
-
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
-