>I don’t really see how a language could prevent you from finding joy in programming
By saddling the writer with tons of syntax and gotchas that is hard to keep at the top of his mind when trying to create.
Languages like c++ and java might be powerful, but there are so many hurdles that are between start and end that unless you are proficient in the language or have a desire to learn the language, it's very tempting to just give up.
Languages like ruby and python are not fast, but their syntax is so straight forward, the effort to go from a to z is a fraction of other languages, leading to the developer to be able to deliver faster.
From the point of view of a developer that loves to learn, simpler languages inspire me to learn more complex languages, which in turn gives me more opportunity to enjoy my chosen craft.
C++ is not that complex, and honestly it's one of the best documented languages out there. The semantics are very clear and you can easily decide to stick to a smaller subset of C++ if you don't like the advanced features like concepts, template metaprogramming, and class hierarchies (I would in general advice against OOP in C++, just as I would in any other language).
Ruby does a lot of magic stuff to help beginners. That means the semantics are unclear. IMO this is similar to how Apple optimizes UI/UX for first impressions to drive sales. The journeyman user is neglected, simple things are easy to do, but the most powerful features are missing for journeyman and advanced users.
I'm not saying Ruby is a bad language. Just saying that I have the opposite view. I too love to learn, but Ruby did not help me learn, it actively got in my way.
You can make a simple language without confusing semantics, see Go, C, python.