I know a little VB.NET. Where should I start with a 2d app?
If you are serious about this venture, I'd pick something like C#/C++, maybe Java. As far as game development is concerned, there are more resources on these languages.
If you already have some programming experience, they won't be that hard to get into. Again, thenewboston.com has tutorials for these languages. It even has some basic game development tutorials for them.
The first thing you'll want to do is understand what is involved in making a game. Things like the game loop, the frame counter, double buffering, etc. Things like that. There are libraries for these languages I mentioned that make these things simple to implement.
I personally use Java, and for my game projects, I'm using Slick2D, which makes it very easy to start a game project. I kind of want to recommend Java first, as it's an easier language to work with than C++. As well, you said you want to make a simple 2D tile game, and Slick2D or the LibGDX library for Java, would make that very easy to do. thenewboston.com has tutorials on using Slick2D.
Also, some advice: It will take time. If you really have a passion to see this project through, then I encourage you to keep at it. But, you will see many moments when you get tired of all the code, and all the boring tutorials that will get you where you want to be. Don't let that stop you.