You should learn HTML5 and JQuery first. DON'T BE that "developer" who doesn't understand what we're doing here. ASP, MVC, PHP, etc, are all just fancy ways to get HTML, CSS, and Javascript into the browser. If you don't understand that goal, you're going to be a lousy web developer regardless of what other languages you know. The WWW is written in HTML, CSS, and Javascript. Get solid on those basics before tackling higher-level stuff. TRUST ME. I've had people fired for not knowing HTML, in an ASP.Net shop. Learn to hand-code HTML - it's your bread and butter as a web developer. For Windows Desktop apps, it's a little different - the foundation of that is basic C# or VB code. Learn the basics by making console apps, and do that for a long time, before you add the complexity of Forms, Events, and all that. Event-based programming is a little hard to understand sometimes, but it's how Windows Desktop apps work, so the idea is to be solid on the basics, so that stuff doesn't trip you up as you learn the higher level stuff.