Programming is the new literacy
edutopia.org
edutopia.org
My current project's manager (the "product manager," who isn't necessarily technical) uses source control, but checks in/adds a new file for each revision. We've tried to explain that's what version control does but he just doesn't get it.
EDIT: I just realized after I wrote this that Sharepoint has some of this functionality (versioning) but imo is a bear to use.
My group (R&D) has been using a home-grown requirements management system for a few small projects, and ideally we'd move to that for our specs.
If an ostensibly talented developer creates a system like that, they can remove "ostensibly talented" from their title.
You simply can not conflate technological literacy with programming. If you consider basic application configuration and usage to programming then the thesis makes sense, but that also guts it of any significance—of course new generations will naturally learn to use new technology better than their predecessors.
The reality is that programming itself is becoming more complex and varied as technology progresses. So while the average person will much more computer "savvy", programmers will become more and more specialized, and the needs of the masses will be met by an ever widening range of devices and applications. The majority of programming will be the realm of geeks at least until the advent of true AI, at which point I'm afraid our fun in the sun may be over.
I know that the Digital Animation classes at my school involve (ActionScript) programming, for one anecdote.
More: http://scholar.google.com/scholar?hl=en&q=%22procedural+...
So, I start to ask some questions - does she still want to sync the iPhone to the old computer which had the original copies of the music on it. Did she need to be able to sync to a second computer. Was it just the music that she needed, or was it all of her data (emails, contacts, calendar etc). Her response? "You know what I mean, just tell me how to do it!"
Errrr. No, I don't know what you mean, but apparently you don't have the skillset to think through ideas in such detail, so I'll take a best guess at what you want.
As an interesting point to note, in the end maybe she was right, because I was able to guess what she wanted without getting answers to all of my questions. The translation of nebulous user needs into something that a computer can understand is the quintessential act of a computer programmer, and I don't think that this capability is natural/easy/possible for everyone. It takes a certain type of mind to be able to do this.
Also, this is totally false (and a cop out, people can learn if they want to): "Most of the tools (and even the concept of programming) were developed long after these teachers were born or schooled."
Of course, I agree with his overall thesis, that coding will become as vital to expressing yourself as writing is today, and that is why I posted it.
Configuring something is not programming by that standard, but arranging functional blocks in an IVR system and linking them is. (even if that's a very limited environment).
I think a computer works for mentality the way a powertool works for a tradesman, being skilled in its use allows you to do more work or different work than if you were working 'unaided'.
The ability to use such tools is indeed almost as essential as the skill of reading and writing, and there is a link between them in the sense that for almost any activity that you could call programming you need to be able to read and write.
Schools are slowly catching on to how essential this is, and even though the various 'computer classes' still are not much more than glorified 'how to use excel' courses there is a shift in the direction of more universally applicable knowledge.
I couldn't agree more. With that in mind, his last paragraph really bothered me:
"Thirty years from now, will the United States be more competitive with a population that can read English at a tenth-grade level or with a population excellent at making the complex machines of that era do their bidding? The two options may be mutually exclusive..."
All the best programmers I know are also excellent writers. I don't know if I'd reach for causation there, but the correlation is impressive.
Such a situation would basically be (is?) an admission that the educational/social system has failed to help the individual develop mentally [!] to the level which is probably possible for most people. Which is something that I find sad.
The comments seem to suffer from light "facebook login" syndrome.
If you want to get your word out and communicate, you can do that as long as you can type. Having someone to fix your computer for you so that you can blog isn't illiteracy, nor learning to sign up to Gmail isn't comparable to learning to read and write. Or something else like that: the author was rather vague as for the technical skills he deemed to be required for literate modern life. But HTML "coding" sure as hell isn't one of them!
Being a geek and being literate in "geek" language and thinking is a different thing from living a life. You might as well say that because cars are so ubiquitous and in countries with certain infrastructure they're almost mandatory, people need to know how they work and to fix them in order to be "literate", so that they can drive out and communicate with people instead of relying on more knowledgeable people to fix them for them.
Likewise, you could have very good ideas to share with the world, and it shouldn't be impediment to have to dictate all of them to a scribe.
The author apparently does not know about Greasemonkey or blogs or RSS feeds :)
Ok, what if you are not running for U.S. president?
I also would like to teach programming to people, because I enjoy it. But lately I have thinking about the people working at the checkout in my local supermarket. While obviously software can improve supermarkets, I am not sure what software need they could program for themselves in their spare time?
Also, I have come to think that installing apps on an iPhone is actually also something like programming. By installing and using Google Maps, you have essentially reprogrammed an aspect your daily life.
Or, if you see programming and scripting as the two ends of a spectrum, how would you describe such a spectrum, and where would you put the limit?
I personally do see a spectrum: programming being for elites, and scripting being for the newbies. But as programming literacy spreads, what you would call "programming" now is more and more likely to become "scripting". This is not really satisfactory. I would prefer a more timeless description.