| Give this test to the next 5 random non-technical friends and family you talk to: A = 1 B = 2 C = 3 A = B What does A equal? I'm not saying people can't be taught. But think about how big the workforce actually is, think about how widespread MS Office skills are. For every power-user analyst and project manager that's really taking Excel out for a workout, there are 10, 20, 50 people who use Office in every day non-challenging tasks. I've given that little test to my MBA wife and a GP family member and several other people. Hardly anybody gets it right. Edit: The x-factor here, btw, that determines whether or not somebody understands it, is whether they see that assignment is happening, not some sort of "wha? 1 equals 2? what is that?" And those that didn't just get it, even after I explained assignment they were just as puzzled. Just the concept of variable symbols confused and (i presume) disinterested them. What we do here everyday, this is difficult, challenging stuff, that I don't think most the workforce will ever understand. Instead, people like us will be busy for decades to come, building tools so they don't have to. There was a time when machines were new concepts versus simple tools. You could say, in the early stages of the industrial revolution, that soon everybody would understand and be able to fix their machines. But machine complexity has out-paced the desire and ability to learn those skills. Software is no different, I don't think. Edit Two: http://www.codinghorror.com/blog/2006/07/separating-programm... |
Edit:
In particular, the link posted in the second edit has a rather poor test using a and b, because it uses = in two different ways with no indication that the meaning of the symbol has changed. Maybe the problem with the test isn't just the people, it's the sloppy notation that assumes people with no programming background are able to infer when we mean equality and when we mean assignment.