It depends
If you want the ultimate in performance C/C++. If you want something that is easier to program in - Java or C#. For just about anything retail traders are likely to be doing Java is more than fast enough - and then some. Running ultra high frequency trading systems from your garage is fantasy land.
For something easier try Python - won't match Java in performance but easier to use - at least for small to moderate sized projects.
For a free and well regarded statistical language see the "R" project:
http://www.r-project.org/