I'd heard Cyanogenmod was experimenting with a means to deny specific privs to an application rather than take the all-or-nothing approach of "You have to give me all this shit or you can't install it." That's a feature I'd really like to have for my Android phone.
Ok, so technically learning to program doesn't have the same set of requirements as production programming. Back in the day you were likely to get BASIC and then moved on to Pascal, C, Fortran or (god help you) COBOL. Once you realize that all languages have essentially the same structures, you start to say things like "languages are just syntax. Learn to program in one language and you can pick up any other language very easily." This is not actually completely true, but I'll get to that in a moment. They also didn't tell you much about the environment beyond giving you the "vi cheat sheet" and instructions on how to invoke the compiler. Near as I can tell they don't do a much better job of it today.
Rolling objects into the mix really doesn't change that much. You still need to know structural programming because you're going to need to write your methods and you don't want to write them as spaghetti. You have a whole other set of concepts to master for OOP. You can show people objects, but until they're ready for them, they're not going to understand them. I don't know how many people remember learning to program, but when you're looking at it for the first time, even basic language structure like function parameters (and functions) and variable initialization are confusing.
Of course, the more you work with different computer languages, the more you start to realize that the statement that "all languages are the same" is not really true. You discover things like the ones mentioned in the presentation I linked to at the beginning of this post, and find yourself having to work around deficiencies in the language. At a basic level all languages are the same and once you learn the control structures you can write simple code in any language very quickly. To actually learn the quirks of a specific language and truly master it, that could take years. I'd go so far as to say that most programmers will go their entire career never having truly mastered a single language. What they give you in school are the tools to achieve that mastery, and I don't feel that anyone even does a good job of doing that.
But we don't want to unionize because we think we're good at negotiating.
It's not like you even have to be the NSA to gather this information. Just getting a glance over someone's shoulder on C-Span at the right time should be sufficient. We might even find out, if anyone ever watched C-Span.
Most of those useless people got weeded out when the tech stock bubble collapsed, but I've noticed a new generation of them making their way back, now. Companies are lowering their standards and letting HR do the screening, interviewing and the hiring. HR departments seem to be mostly unable to distinguish between good programmers and bad ones and tend to take the view that one programmer is as good as another and they can be replaced with no impact to the company. My personal observations are that (in general) it takes a year for a new person to become familiar enough with a company's code base and processes to be able to be able to contribute at 100% productivity. One guy who knows your business at 120K is easily worth 3 or 4 contractors at 60K who need to be trained. On average one or two of those contractors will be completely useless and contribute at best nothing of value to your company, 3 or 4 of them will be gone in 6 months just as they're starting to get familiar with how your business works and all of them are going to impact the productivity of your other employees with their training needs.
Normally I dump everyone else to voicemail, but they could still tie up your landline and fill up your voicemail box. If they're robodialing you, you could drop anyone not on a whitelist into a voice menu system that requires a couple of button presses that requires a couple of button presses to get to voice mail, and disconnect them after 10 or 15 seconds if they don't press a button.
Other than that, Tera didn't click with me either. Game mechanics that actually required skill to use were very interesting, but the crafting system was pretty boring and I never met anyone I really wanted to quest with. I had pretty much the same problem with SWTOR, except that even the gameplay wasn't that interesting in that game.