Every few weeks or so I tinker with programming.
Right now I've got Bloodshed Dev-C++ and Visual C++ Express Edition Beta 2 on my computer.
Plus a few different SDKs -- the one for Java 2, Microsoft Speech, HL2 -- and the Cg Toolkit.
But - I hate admitting this - I just don't get it. I never have. I've been metaphorically glued to a computer monitor (and the internet) for at least ten years now, three-fifths of my life easily, and I've never been able to program more than some text output and a loop or two.
I've tried analyzing exactly where the blockage sits - where that hurdle squats, preventing me from understanding more than the individual components.
Slogging back through the same tutorials I encounter every time I get it in my head that programming isn't impossible, I think I spot some of my difficulty.
There is a noticeable gap between the general concepts and mixing them together in an application.
Almost every one of the "Learn How to Program Now, Stupid!" books I've bought follows a certain format:
1. Install IDE. Teach basic IDE concepts.
2. Basics of programming. Variables, loops, functions, that sort of thing.
3. Beginning program.
4. Adding to program until it becomes impossibly complex.
This doesn't seem bad, in theory. Work from general principles, apply to specific examples, extend those examples.
Except that's not quite what I need.
I need the core concepts to be constantly re-iterated, re-applied and altered. I need to see eighty different implementations of a WHILE loop. I need to be reminded over and over again what kind of information the different variables can hold. I need to have everything beaten into my brain until I can spot all the separate pieces of a function at a glance.
I've never seen a good explanation of namespace. Or what it means to have a program return different values.
The expectation seems to be that a person will learn the basics and store them in a mental toolbox. But my mind demands that I see how those tools are used for different jobs before they become useful to me.
My problem with programming books is the steep pricing. Fifty bucks seems to be standard, more if there's a disk or if it's particularly thick or an official reference. The beginner's books, then, are a gamble - will you actually learn anything? Then you have the books that use outdated software examples or are filled with shoddy, non-working code.
Some of the books I've browsed seem to be getting better. I think a lot of current programmers are more aware that their audience is no longer overwhelmingly composed of people that already program.
An idea which just flashed into my head: You have a perforated card in the front of your book which lists all the programming basics and assigns them a color-coded symbol. Then, all throughout the book, every example of code is marked with those symbols, to show dumbasses like me exactly where the basics occur. This might actually be a good project to do myself with some of the books I already own; Assuming I can sort out exactly what every particular stretch of code is doing.
Anyway, just thought I'd share the insight into my own frustrations.
Now to see if it will help me jump over that hurdle.