> Without a GUI, mainstream computing probably wouldn't even exist let alone mainstream programming.
As a child growing up, learning to function in society by speaking, reading, writing, and generally understanding English was a much harder task for me than learning to program in BASIC. BASIC is simple, predictable, logical and downright easy compared to English.
We take learning to read and write for granted, but its a messy, difficult, and often illogical affair. We have such high literacy rates because we start kids on it so young, and because its everywhere.
Its easy to imagine a version of our world in which children learn to interact with computers without GUIs, if CLIs were the norm. Children would learn them faster than adults.
Consider those children for whom learning a CLI was prerequisite to playing video games. All of those kids who I knew quickly memorized the requisite commands.
> Consider those children for whom learning a CLI was prerequisite to playing video games. All of those kids who I knew quickly memorized the requisite commands.
Ah yes, I still figuratively remember all the commands for loading Sinclair Spectrum and Commodore 64 games, and their "FastLoad" variants, typing in those PEEKs and POKEs from magazines for cheating/hacking, then the fiddling with AUTOEXEC.BAT and CONFIG.SYS while trying to juggle HIMEM and EMM386 and whatnot to be able to play DOS games..
It definitely piqued my interest in the workings of computers, spurred on by the generally more technically-inclined (not to mention humorous! oh how I miss CRASH and ZZAP!) magazines of the time, and it did get me into programming.
BUT, all that CLI voodoo was just a routine ritual to my other friends, in the way of what they really wanted (games.) They just had all the commands written down, and would rather ask someone than consult a manual when something needed to be done differently. They already had other interests. It didn't make all of them programmers.
So as with everything else, you can't really make a general statement that "X will make children do Y." People who are inclined towards doing something, will do that thing, on their own. I think what we (the adults) should focus on, is making things easier for them after the fact, after they've decided to get into programming.
Let's start with why the major operating systems of today require separate downloads and online research to get started with programming. macOS comes with that Grapher app, Windows comes with Paint, why can't they come with a nice coding app and some tutorials? So kids can just start poking away on their $500+ tablets and computers out of the box, like we used to on the C64, 20 years ago?
> Its easy to imagine a version of our world in which children learn to interact with computers without GUIs, if CLIs were the norm. Children would learn them faster than adults.
Do you want those children to hate CLIs because they are boring and they have to learn it just like all other boring stuff such learning how to read and write? If we offer children a way to enjoy what they are doing (i.e. make it fun to use/learn it), they will look forward to learning how to program. And making a task harder while it could be easier is not the answer (and children are not stupid, they would realize that a GUI would also be possible these days).
Furthermore, CLIs are hard to use in many environments. Would you want your waitress type "start paying; add product NAME [QUNANTIY]" instead of just touching the symbol a few times? There are many advantages with CLIs, especially when doing "traditional computing tasks" but in the real world, which is becoming much more digital, CLIs are not useable and a touchscreen with buttons is quicker. So why should the general public know how to use them – there are outside of our "edge cases" not really useful.
I'm responding to the claim that GUIs were probably necessary for coding to become commonplace. They were absolutely not necessary, though they certainly accelerated it.
In this context, most of your post seems unrelated to mine.
My argument is that without GUIs, computers would have either never become common or would gain adoption at a substantially slower pace than they have with the general public. With no/slowed adoption of computers, it's not possible for programming to become more common than it is today.
We are likely to use words like "common" and "substantially slower" somewhat differently, given the subjectivity of the terms. However:
> With no/slowed adoption of computers, it's not possible for programming to become more common than it is today.
"Not possible"? That's false on the face of it. You appear to be making unwarranted assumptions about what is possible in the relationship between (a) the amount of 'computing' in today's world and (b) the number of people who program.
The only non-cultural factor which really limits the possibility of coding is the availability of machines on which to program. I believe there were only around 20 million devs worldwide at the beginning of 2014. More PCs were shipped in the mid 80s in the US alone.
It is absolutely possible that a world in which the GUI was never invented could have more coders coding than a world in which the GUI had been invented. And the reverse is also true, of course.