I would like to add something to this thread with an unusual, somewhat crazy idea.
I think python is generally easier to learn than C# however you want a powerful language that gives you some solid base to build on.
My idea is this: learn MQL5 for metatrader. This language is very "low level" like C++ and it will give you some solid basics. It's basically an adaptation of C++ to metatrader platform.
MQL5 has a solid website and great forum with thousands of examples to learn.
You will learn in one shot to program in C and you can forget about IDE and compilers, since mt5 offers an all in one solution.
Ok, now you are wondering: "how does this relate to Ninja or sierrachart?? Or other professional platforms?"
The answer is bridges: there are bridges to connect mt5 with sierrachart and ninja.
So you can learn everything on mt5 and then simply copy every operation on ninja or sierrachart through a bridge.
Consider also that on mt5 datafeed and platform are free.