>>1060168
>Finally, I think Ruby is the superior first language
You can learn to program with pretty much any language, a good introductory text/class is more important. Although, picking a language that doesn't get in the way of what people try to teach beginners is probably a good idea. I remember some introductory book or something that used Oz, I believe it was Concepts, Techniques, and Models of Computer Programming by Peter Van Roy et al. Looked good, but Oz/Mozart is a very niche language, seems like it has a fair amount of clarity to it, though. How to Design Programs (https://www.htdp.org/2019-02-24/) uses Racket (https://racket-lang.org/), which is about as beginner friendly as you get with Lisp. Another good pair is Pyret (https://www.pyret.org/) + PAPL (https://papl.cs.brown.edu/2018/), good roots (Racket), good university, like Oz, Pyret is not a Lisp, and it seems sane.
Of course, there's SICP (its free), but a sturdier math background might be needed.
>does OOP in a better way
I'm sure plenty of languages do better than Python at OOP.