Maybe my definition of programming is quite narrow, but I wouldn't consider using CAD software, spreadsheets, or (physics, space, etc) simulation software as programming, yet I would consider the ability to use them a degree of computing or tech literacy. I would certainly consider them very far from only being a consumption device.
It's like you would like to claim "desktop literacy" for the noble tasks that can be performed on a (e.g. wooden) desktop, traditionally it being let's say copying evangelical scriptures, and are angry against those ignorant young folks that don't give a fuck about the bible but find writing novels cool, and let's not even talk about the peasants that merely use their "desktops" to cook and eat (and in the background you have a pen maker who listens to the copyist rant, with a small smirk)
At this point the vague "tech literacy" term is not useful anymore, and the problem is just that more precise terminology is needed to communicate efficiently.
For example, joining together many separate 3D objects is extremely slow if one just selects all and does an union, since the algorithm needs to check all pairs of objects for overlaps in 3D space.
That may not be immediately apparent to non-programmers, but to programmers, it will feel like an intuitive consequence of the problem and the inevitabilities of its solution.
Literacy isn't about reading all the time, it's about being able to read if you want/need to. Same with computer literacy.
Looks at all the creation-related tools on his iPad and iPhone, none of which involve programming
You sure about that?
Does this mean that my laptop undergoes some sort of miraculous transformation when I type :wq and open my browser?
What if I'm watching video in the background while coding - does my laptop then enter some superposition-state?
The defining feature of books is that you can read them, and books are useful because they have that property. You are literate if and only if you can read a book, regardless of whether you are reading a book at the moment.
The defining feature of computers is that they are arbitrarily programmable machines, and computers are useful because they have that property. You are computer-literate if and only if you can program a computer, regardless of whether you are programming a computer at the moment.
You are literate if you can read an arbitrarily chosen book. You are an author if you can write a book. Similarly, you are computer-literate if you can accomplish tasks in an arbitrarily chosen program and maintain a system. You are a computer-author if you can write a program.
We use literacy to describe understanding, not creation. What you're claiming is the equivalent of saying that modern generations can't be book-literate unless they're writing fan-fiction.
I would argue tech-literacy means understanding the common language of tech/UX today and being able to use common technology. Someone is tech-literate if they can "read" technology and are comfortable with common interface conventions, terminology, system maintenance, etc... Anyone who sets up a streaming platform using OBS, who manages a community using admin tools on tech platforms, who figures out how to tune games that they're playing to accommodate recording without dropping frames or de-syncing audio, who sets up microphones and figures out how to balance audio using mixers, who edits the result and uploads it to Youtube -- they would fall very squarely into that category of literacy. They clearly know how to "read" software, even complicated programs like video editing tools.
Whereas a computer can do many different things. Yes, it's because it's an arbitrarily programmable machine but if I choose to use software written by others rather than programming it myself I'm not sure why that's a lower use.
In fact, I can program but rarely do so. Usually I'm using a computer to do tasks like writing, working on photos, etc. My day to day use is sort of irrelevant to the fact that I can do some programming. So I guess I'm not computer-literate.
Just like an Office 365 subscription is a simulacrum of a horde of calculators (people) with mass-produced calculators and typists on mass-produced typewriters, which were simulacra of noblemen scholars, pens (mass-produced simulacra of quills) and papers (mass-produced simulacra of expensive parchment)… which themselves were simulacra of prehistoric humans making cave paintings.
So do you really feel the need to tabulate, calculate and write today?
Now, the rest of your point is, who cares? Do with that thing whatever floats your boat, it's fine if you don't program. That point is valid. But when "that thing" is a computer, and they're "doing" something with it, that qualifies as "using a computer". At least by the definitions the rest of us are using.
The point I'm trying to make is that I percieve a very clear conceptual difference between "using a computer to program" and "using a computer to do other things", and I would tend to believe an effort to improve computer literacy should attempt to point people to the former rather than the latter.
Do you believe those things to be the same? I have a strong intuition that they aren't, but I'm very willing to hear a counterpoint.
Once again, I'm specifically trying to avoid any kind of value judgment.
>I would tend to believe an effort to improve computer literacy should attempt to point people to the former rather than the latter.
is why? I mean sure. If they want to become programmers, then they need to learn how to use a computer to program but I'm not sure why that's any more about "computer literacy" than lots of other tasks.
I use computers for lots of things on a day to day basis, including many "creative" tasks, and almost none of those involve programming. Programming is a specific way that you can use a computer and it may imply deeper knowledge of the underlying system than making a video, but so what?
For that matter I could equally argue that a pure front-end developer isn't really computer literate because they maybe don't understand kernel schedulers, security model, processes, interrupts, etc. work. Oh, and how about TLBs, cache eviction policies, dynamic resource allocation, etc. at the CPU level?
There's certainly nothing wrong with using a computer for other stuff, also. Or even exclusively, not everyone needs to be a programmer, that's for sure. I would argue, however, that algorithmic thinking/basic scripting is a very important piece of human knowledge, is it really more esoteric than Latin or Greek, which are routinely taught to high-school students?
> For that matter I could equally argue that a pure front-end developer isn't really computer literate...
There are different levels of literacy. A 7-year old and a PhD in English literature are both literate, but not at the same level. Same goes for computer-related knowledge, it's a bottomless pit, like any other interesting field.
But that's not tech literacy.