In 50 years, perhaps much less, the ability to read and write code will be as essential for professionals of every stripe as the ability to read and write a human language is today. If your children's children can't speak the language of the machines, they will have to get a manual job - if there are any left.
I, for one, agree that understanding what programming is about is an essential skill, without which people will be regarded more and more as functionally illiterate. But this really is off topic for LtU.
What concerns me is that many people who think about this issue have a very narrow view of what programming is all about, usually due to exposure to very specific introductory programming languages (i.e., BASIC, Pascal etc.)
Microsoft encourages us to believe that we can force computers to adapt entirely to our preferences for visual images, without having to adapt ourselves to their preference for text.
Much as I'd like to share this sentiment, my intemate knowledge of computers forces me to admit that for the computer text, numbers and visual images (i.e., grpahics) are all the same: long sequences of bits... When I see phrases like computer logic I assume people are thinking of for loops not folds, about pointers and not about infinite data structures, about imperative code and not about direct manipulation languages (more here).
Many people that feel that programming is beyond them, feel at home when creating complex spreadsheet based mini applications.
It seems to me that not only should we educate programmers, and encourage schools to include programming as an integeral part of a liberal education, we should also educate those participating in this debate about the full spectrum of meaning that hides behind the term computer logic.
Posted to teaching/learning by Ehud Lamm on 11/11/03; 8:26:23 AM