Recently, after looking a while on some sites like Gamedev I said to myself "Why do you want to waste your time on making C++ games for fun when you could do them in C# ?" .
True fact : C++ games are faster and C++ provides a lower level of programming .
However, as a hobbyist (hope to get pro someday) I'd rather begin game programming with C# so I will learn the basic theory of game programming and to gain some skills before I use C++ . Furthermore , there is no point in using C++ at this level since I'm not creating a massive AAA game but rather a simple 2D RPG (most-likely in a hope-so-not-distant-future).
So my first thought after deciding to switch to C# for games was : "Should I start with the very basics of this language or should I take advantage that I already have some elementary knowledge of C++ ?" . The solution came , of course, from Google !
I found a guy/gal asking the same question as I did and ,well , he/she got this answer "Take a look at Charles Petzold's (Yea, that guy with the awesome Windows programming book) book " . So I followed this advice .
I went to his website , where fortunately the book and the source code are free (WooHoo!) . The book is called ".Net Book Zero" .
I will try to read it and see what I can learn and I'll post a short review as soon as possible .
Until then, keep learning and teaching :)