Algol was a great language -- it had blocks and structured programming constructs
very early (late 1950s or early 1960s). And, as you say, recursion. I'd only programmed in FORTRAN and BASIC before I learned ALGOL, and ALGOL was clearly superior. Programming language support for data structures other than arrays was the next big step after it.
LISP is another great language of the same vintage, around 1960. I did a lot of LISP programming at one point too (early 1980s, I guess).
LISP is another great language of the same vintage...
Lots Incredibly Silly Parentheses?
And is it related to LITHP, a language ethpethially well thuited to protheththing lithtth?