I can suggest you one language but someone can suggest another language... how do you planing to choose?
I second that.
If you want to understand how programs are working you need to learn C. If you want to make program quickly and this program isn't intended to work with low level stuffs you can choose Python.
I disagree here. One can understand how programs work without knowing C, or do you mean "how programs are executed by the CPU"? And python has low-level-integration via ctypes etc.
P.S.
as I said, if you want to know how programs works you can choose C, but it's much better if you'll dive into Assembler.
I'm not sure whether it's a good idea to go with Assembler first, but....
@OP: You don't look like you're a programmer, so I guess your best bet would be to learn coding first, and
then focus on malware. Otherwise, you won't get any results.
My personal preference says python, but there are many other valid choices, since the focus would be to learn programming, go on to low-level programming and finally malware. I might even go so far and say that, in your situation, the language doesn't matter much.