In all seriousness, what volpunter said is pretty on the mark. Coding is going to be the least of your problems. To answer your questions, I would learn C#, it's easy, fast and powerful and comes with a great development environment. Being able to deduce that your backtest results are not random is going to come from what you are backtesting and your domain knowledge. There is no magic formula to separate the random from the non-random, being able to do this is pretty much the systematic traders edge.