Lag :
Thank you, Think I will start with a little C# to fool around with in Space Engineers

Figured it was a good place to start learning the basics.
If you really want to learn the basics, then C#, Java, and Python are not the place to start. These semantics of these languages (and accompanying standard libraries) are designed specifically to hide the basics behind layers of abstraction. If you wish to learn programming from the ground up (which is the right way to learn it), you should start with a BASIC dialect (VB.NET is fine) as well as C (not C++ or C#).
I recommend C because it's the language that I use to teach proper programming techniques. C is extremely powerful and it puts a lot of power in the hands of the programmer while simultaneously forcing them to learn how to use that power correctly. What I like most about it though, and the reason that I use it as a teaching tool, is that it forces the programmer to do almost everything on their own.