The real trick of programming is the design, not the actual coding.
Once you know what you want to do and what needs to be done to accomplish that task, it’s relatively trivial to punch out code that will do it. However, you have to know what it is that needs doing and be able to break that task down into a set of instructions that the computer can understand. Wrapping your mind around the way computers “think” and being able to translate your desires into a logical flowchart is the hardest part of programming.
Computers don’t have the common sense that we humans do, and they definitely are not mind-readers; they do exactly what you tell them to do, and rely on the programmer choosing their words carefully to make sure that what they tell the machine to do is actually what they want. A person may know to not divide by zero, but a computer doesn’t, so it will try anyways and fall over. Of course, if you explicitly tell it to not try dividing by zero, it will obey, but you have to remember to tell it. They also can only really handle small steps at a time; though they can take a whole lot of small steps really fast, a programmer has to break things down into those small steps before they can start to code.
Every language has that fundamental nature, so regardless of which language one learns, they must be able to understand a flowchart and be able to break tasks up into small enough chunks to be able to be turned into code. Trying to learn the logic at the same time you are learning a language and it’s syntax is a bit daunting, so I would say that it would be easiest to separate those two and first spend some time learning the logic underlying all computer programming.
After one has learned to do that, then they are ready to take that knowledge and start putting it into “words” in the language of their choice. Personally, I’d go with Python myself for reasons that @LostInParadise mentioned, but I have to say that @ARE_you_kidding_me is correct in point out that it’s more interesting to see your code actually do something. And since most RepRaps use Arduinos, it would allow one the chance to see their code truly take substance as their program makes a tangible object.