N.b. For these kind of questions it is impossible to have a best answer and are opinion based.
Your interest for learning looks commandable and that will show you the right way. What you need to have is patience and keep trying.
As you have tagged C# in the question, it's one of the most advanced programming laguage with .Net as it's back bone.
To start with C# programming best thing is to get Visual Studio 2013 community edition installed in your system. It's completely free.
Dowload it from here
https://www.visualstudio.com/en-us/products/free-developer-offers-vs.aspx[
^]
Then learn fundamentals and try some sample programs
https://msdn.microsoft.com/en-us/library/67ef8sbd.aspx[
^]
https://msdn.microsoft.com/en-in/library/aa288436(v=vs.71).aspx[
^]
Just start with these and if you face any problem come back here and feel free to ask.
Forget about advanced programming for now. It will come to you automatically as you keep learning.
Hope, it helps :)