The best thing to do is decide what you want to make in the long run....
If you want to go the native/desktop app route, you're going to have to learn a
programming language like C/C++, Java or .NET.
If you want to make websites, you're going to want to learn (a combination of)
scripting languages like HTML/CSS/JS/PHP/SQL.
If you want to make Mobile apps, you can either go the native route (Java on Android, Objective-C on iOS, or use a cross-platform C++ library),
or you can make a web app in HTML/CSS/JS and compile with Cordova.
If you learn a language like C++, this is similar in style to C#, Java, PHP etc. as they are
object-oriented languages.
You say apps and software, so my advice would be to learn C and then C++, starting out with basic command line apps. Once you get your head around general coding style, you can dig further in whatever area you like, and it's generally transferable to other languages. A lot of languages use a similar syntax (if/else/for/variables etc.), but slightly differ here-and-there. Start with the C tutorials, then go onto the C++
http://www.cprogramming.com/tutorial.html
You can develop on Windows with Visual Studio Express for free and XCode on a Mac. My personal choice is Linux though, and do everything via the Terminal, but that's another subject....