Ok so I took a class on the fundamentals of programming back in the days of 56k modems, so clearly, it's been a while. I'm contemplating java, and c or c++. I don't have time for taking a class and to be honest I'll be starting myself off with very simple programs and learning about other programs by deconstructing them and seeing how they were made or even tweaking them. What would be the best tools for the job? I was looking at open source and if need be I'll learn how to program off of my ubuntu machine. Basically what I want to know is what do I need for decompiling simple .exe files (if there is such a type of exe), compilers that are the most user friendly, and a good place to get information and examples of code. The end goal is to learn how to program and make my own or on demand basic software.

P.S.
Is it advisable to learn how to make GUIs? If so what do I need for that as well?