Each language has their own strengths and weaknesses, and your likely to pick up many languages as you go. Don't worry too much about it, as all languages tend to share certain similarities, variables, loops, if statements, functions, etc. so learning one makes it easier to learn others. As always it depends on what your comfortable with, there's no real right answer here since all roads inevitably lead to the same place.
As a general rule, the more complex a language is, the more powerful it can be. The more detailed you can be in your instructions, the more you can get out of it, but this can also make writing and managing all those details more difficult and time consuming. For example, you could probably write a blazingly efficient program in Assembler, but you could probably write it ten times faster in C with an acceptable hit to performance and a bit less detail and low level control, and its the same with C#/Python, less control for faster results and ease of use. Languages like C# and Python tend to handle memory management for you, so it makes it alot more productive to write the core of a program without worrying about the details of memory allocation. But this isn't practical for some applications like OS or processor level functions, which is where other more detailed and low level languages like C/C++ or assembler come in.
As i've mentioned before, asking which language to use can end up getting a thousand different answers as everyone has their own particular preferences. My own recommendation would be Python, as its versatile, has lots of documentation, libraries, examples, and lots of people who can offer help. It can also serve as a good launchpad towards learning other lower level languages like C, if you so desire.
: Accessible Paint Tool
: Accessible 3D Model Viewer