All depends in what kind of market do you search.
For server applications (including web desing) best choice is php+mysql+html+css. As you can see you need 4 languages to be productive, and have a good knowledge about them to work fast and be productive needs time. For sure php and mysql is where you get all the headaches.
For desktop apps (multiposter, etc...) you have three choices, i go to give you my point of view about those three choices (but i advise you that i´m a c# lover but i keep my opinion objective ):
1) C/C++: hardest learn curve, it really needs dedication to be able to code fast and bug free. At the same time you have to take care about security (buffer overflows, etc...) of your tool. But the important part is that you go to self taught 3 hours a day and from my point of view is good have a little knowledge about C/C++ but not my top recomendation for your situation. For sure you have tons of books and tutorials free into the net. It´s the fastest language of the three offered.
2) Java: nice learn curve, good to your situation. Open source (you not need spend money since most of stuff needed is free including IDEs). You can be productive and exists a good amount of learn stuff on the net. A good point of java is that the language is multiplatform, your tools works on windows and linux, this allows you have more customers (linux/windows). The bad point from my point of view (and sorry for java coders that don´t agree with me, i know that its a huge discussion but i´m showing my point of view and my personal experience) is when you code GUI desktop apps the visual components are not responsive and fast like i want.
3) C#: This is a language that from my point of view is a must nowdays and rocks. The learn curve is similar to java, 3 hours a day reading and practicing and you will learn for sure. IDE is free (Visual Studio Express) a very nice IDE (i should say the best IDE for C#). Desktop apps works good, responsive and needs less resources than java ones. The bad points are that C# not a true multiplatform (exists c# mono for linux but is very buggy from my tests and sometimes needs code tuning to make it works on mono). Another bad point is that the size of .Net framework that you need to install is huge compared with java installation, but since you only need to install it once on your computer isn´t a great problem. Exists lots of tutorials and books.
To be more brief... i advice you learn c#. And my second advice is that you should use a book to learn and use online tutorials to clear doubts that you can get while read the book. Why a book and not tutorials? Because a book is structured and organized. If you speak english you are lucky exists tons of c# books
P.S: sorry for my bad english.