In truth, Ruby is more simpler than Python but it is server-side. Think of it as web-hacking. But I do not fancy web-hacking (you know, SQL just makes no sense to someone that is so obsessed with C/C#, and I am not even talking about C++, where the most complex of templates are replaced with "where ABCD*
do XYDZ".) There is a thumb of rule for learning mathematics.
If you learn the most complex theorems and algorithms and corollaries that do not depend upon all but the simplest theorems, and you can calculate the spherical front fact of a pyramid in a few seconds, you'll get 97% in algebra/calculus undergrad courses without even reading the textbooks. Why, because when the teacher is teaching the most basic stuff, you already have trained your brain to be equivalent of the professor, and one-time revision in the class room is enough to get you A++. Because you don't need to be taught Pythogoras theroem when you already know Fermat's Last Theorem , which was unsolved for three and half centuries. Pythogoras is AB + BC = AC (in its simplest form), which is not too hard for you.
Similar is the case for programming. If you start with C (which is, trust me, still one of the most simple programming languages despite it being the father of C++), you'll be like "holy shit, how easy it is in Python!" instead of the vice versa and have Python as first language and say, "HOLY SHIT!!!! So this was the underlying fundamental layer under my simple Python command."
For your required goals, I suggest a multitude of languages.
Obviously C, some C++, C# (managed memory, wheeeeeeeewwwww, thread safety, libraries, whewwwwwww) and Python. Learn in that order, or learn C# before C++.