Hmm I would recommend Java as the first language. If your wishing to focus on windows platform or .Net then you can do C#, but they would be the primary choice.
Either way avoid doing any UI (User Interface, i.e. Windows programming) until you have learnt the basics. What you learn first depends on where you wish to go. Remember, .Net is really if you only intend to work on the Windows platform. However do note that a few game engines do use C# as their scripting engine if that is the area you wish to get into.
Java is more seen as a business language and if you wish to get into business programming then Java will be fine, note however C# is also seen as a business programming language, just that you do find it used in some game engines as their scripting language.
If you wish to do big corporate intranet based websites running software like ERP's then Java is without the doubt the go.
Now for Java you can go to
http://java.sun.com/developer/onlineTraining/.
Java is 100% free, and you can get a lot of nice IDE's (integrated development environment) to use with java that are also free (and open source). I would recommend NetBeans, but that is just personal choice. To begin with though the old command line and notepad.exe is the best path to learning.
hope that helps. Btw, if you post something about what your goals are then we may be able to better assist in which path you should take.