There are good ways and bad ways to learn.
Most of the 'that useless gimp has to go' types are ones which started off from using online tutorials to do a few IDE related tasks like setting up a page and button event handlers and the like, and then after a few/weeks months of this on rinse/repeat they think they are web devs.
.. i did that when i first learned
Soon after i realised i knew absolutely nothing and after rubbing shoulders with a few techies i soon realised it was time to go back to the drawing board and stop trying to compete for the same salary with people who had years of experience or CS degrees. Some people can fake their way through but you will very quickly get found out or come unstuck when you get totally out of your depth and ruin someones business or project due to your own ignorance and stupidity. Getting fired or sued because of that isnt something i'd like to dice with.
So - My advice. Start from the ground up. Lean object orientated programming (in .net or java etc) first and foremost which will be the skill that you rely on time and time again to actually solve real problems. From learning core programming (and there are OO books that are geared towards web dev and also desktop type apps) you can then go further and look at databases, web design and more hardcore stuff.
I'd avoid any stuff to do with : flash, silverlight, mobile app development (for now, learn regular development first), ruby on rails (too niche) and stick to stuff like .net, java/php.
I think this is really good advice. I am currently a .NET developer and completely self-taught. I left school after my GCSEs, didn't know what to do so I made a few websites for fun, got a job doing tech support and worked my way through the company to a job in development.
The best advice I could give is practice. If you can find a book that you like on core coding principles read it, understand it and then take it further you are on the right track. If I were to start again I would blog about everything I do and learn, the process of reflecting on what you have just learnt is a great way for your brain to figure out what you have just learnt. It will also give prospective employers a good insight into you as an individual.
Each exercise or task in the book that you do when you get it done correctly, you should ask yourself, how can I make this better? Think of something and do it, it doesn't matter if you have no idea how to do it, work it out, google, try fail, try, fail, succeed. Failing is an immensely important part in understanding.
Work on a personal project as well, pick something doesn't mater if you don't know how to approach it start, research and learn. Perhaps make your own blogging system. It doesn't have to take on wordpress the whole point of it is that you will learn as you do it, it could be the most sucky thing in the world, but if it teaches you, then it is worth it. Where do you start, perhaps you decide that your blog post content will need to be stored somewhere, you google how to do that and find you need to learn something about databases, or perhaps you start with how a page should look and feel etc. A project which you do from start to finish will let you experiment with every aspect in a professional computing job and you will find which parts you are good at, what you like etc.
As for book recommendations, the first book I got was an older version of this
Wrox series. I made a few websites using the techniques in this book for fun, but this book is really just an introduction into using the VS IDE. After that I picked up a book on
OOP. After reading those you should have a good introduction to the basics and from there you really need to start working on your own projects. I would also add that you can't read a book and *know* how to program, you need to practice, practice, practice. If you don't like the blog idea, maybe try working through the project ideas on this
list. Like I said doesn't matter if it looks intimidating or you have no idea how to start, research and figure stuff out, you'll have fun along the way and learn loads.
Good luck!