>>842212 (OP)
C and Python are excellent choices in my opinion. From here on you have decisions to make:
- If you want a job as a coder: C# .NET, Java, JavaScript (webdev)
- If you want to have fun and code as a hobby: Go, Python, D
- If you want to become elite computer hacker: x86 Assembly Language (ASM), C and C++
- If you want to waste your time bending your brain: LISP, J, Brainfuck and Rust
>I don't have a very strong background in math or formal logic so I imagine this will be difficult for me.
Whoever said you need those? No really. Programming is in essence the art of telling the computer what to do, in the form of instructions that it can run automatically. Better languages (specialized even) will let you express your thoughts easier than poorer languages (esoteric) but there will always be some resistance from the language: verbosity, redtape, bureaucracy, boilerplate, however you want to call it. That's why there is no absolute best language: for the given task and mind, some languages are better than others.
What I'm trying to say, a lot of your struggle will be with finding how to express yourself elegantly and cleanly in the language you've chosen, in the hope that your work will outlive you. Or maybe not, I don't really know what your goals are.