Both web development and mobile apps development are quite trendy things to be doing right now. But what about regular ol' PC or Mac apps? They are known as fat clients and if you look a bit around you, they are everywhere. Computers are not going away anytime soon so being able to build Windows or Mac apps is a great and challenging skill to possess. Just take a look at how many programs you are using on your computer: see? Somebody had to make them at some point and why couldn't this somebody be you?
First, learn how to code
Whether your chosen path is developing for the web, mobile or fat clients, you will need to learn the basics, namely programming. If you've already written code (other than HTML and CSS, that is), you can skip this. If not, continue to read.
At this point in your path, it is way too early to choose what kind of programmer you will become. You need a gentle introduction to what programming really is. There's just the book for that: Python for Kids: A Playful Introduction to Programming. Don't be fooled by its title, this book is very much suited for adults too. It will show you what a program is and how you can build simple ones using the Python programming language.
Choose your path: Microsoft Windows or Apple OS X
Now that you know what programming is and that you wrote your first computer programs, it is time to choose for which platform you want to build apps: Windows or OS X. I won't compare them or enter the any kind of discussion as to which one is better. We'll leave that to the people who believe one is better than the other. While it is perfectly possible to develop Windows apps on a Mac using dual-boot with Bootcamp or running Windows in a virtual machine, just know that if you are going down the OS X path, you'll need a Mac as it is not possible to build Mac apps on Windows.
1. Learn how to make Windows apps
First, you'll need to learn a programming language suited for Windows development. The bits of Python you learned from the previous book won't be enough to create triple A Windows programs. This language is C# (pronounced 'see sharp'). Once again, I know just the book you'll need to get you started: Pro C# 5.0 and the .NET 4.5 Framework (Expert's Voice in .NET). You will both learn the C# language in depth as well as learn how to use Microsoft's code editor tool, Visual Studio. Note that Microsoft offers a free version of Visual Studio, Visual Studio Community, that packs everything you will need to build awesome Windows apps.
Once you are done with this (big) book, I'd advise you to learn even more C# by getting one of my all time favorite technical book: C# in Depth, 3rd Edition. In this book, Jon Skeet will shed a lot of light on topics that may still be a bit obscure such as delegates, events, lambdas, and so on. By the way, if you want to read a bit about delegates and events, I wrote a few tutorials covering just that: Understanding and implementing events in C#.
Now, you are ready for the last bit: Windows Presentation Foundation or WPF for short. WPF is the framework that allows you to create great UI's for your apps and link them to your code. Although the learning curve might be a bit steep, I found that this book by Pavel Yosifovich does a great job at teaching the basics of WPF and beyond: Windows Presentation Foundation 4.5 Cookbook.
If you reached this point, pat yourself on the back, you are now armed to conquer the world of Windows fat clients and an exciting new software developer career is awaiting you! Or maybe, you now want to learn how to build Mac apps? Then, read on.
2. Learn how to code for the Mac
At this point, you have written your first programs using the Python language. It is time to learn another language suited for building Mac apps: Swift. Swift is a rather young language that was first introduced by Apple in June 2014 in order to replace their aging Objective-C programming language. If you ever tried to teach yourself Objective-C but gave up due to its complexity, rejoice: you don't need to anymore! This path only uses resources focusing on Swift.
To learn Swift, Team Treehouse has a great video course. If you use this referral link, you'll get a 50% discount on your first month. I don't think you'll need more than a month for following these courses: Swift Basics, Swift Functions and Optionals, Swift Enums and Structs and Object-Oriented Swift. These courses are taught by Amit Bijlani who does a great job at laying the foundation you'll need in order to learn Cocoa, the Apple framework used to build OS X applications. Don't dismiss the free Apple eBook on Swift, The Swift Programming Language. I would advise you to quickly read it right after Treehouse's lessons. If at some point you need a quick syntax refresher, check out my other site, MySwiftTips: you'll not only find tips and tricks for building iOS and Mac apps, there are also tips dedicated to the Swift language. I've also built a serie of playgrounds you can use to experiment with the Swift syntax: swift-cheatsheet.
Speaking of Cocoa, now is the time to learn it! Get Cocoa Programming for OS X: The Big Nerd Ranch Guide (5th Edition). Aaron Hillegass and team from the Big Nerd Ranch will teach you all the intricacies of building stunning apps for the Mac.
At this point, you should be equipped to distribute some awesome apps on the Mac App Store!