Also - if you tried to use C# / XNA but gave up when you encountered a bug (stripes on your tilemap) - then you don't really have much hope in progressing in any real language at all.
A few basic things go hand in hand with programming.
Bugs.
Lack of sleep due to trying to fix a bug.
Waking up early and just having to fix that bug you left last night.
Moments where you code a lot of stuff up for an hour, hit run and it works 100% - but then you feel uneasy as because you didn't have to fix any bugs it doesn't feel right.
Coffee and bugs.