8 ms·
I think the invention of the GUI killed the dream of mainstream programming. If computers had to be interacted with in ways that resembled programming - like a
by rm_-rf_slash 10y ago
I think the invention of the GUI killed the dream of mainstream programming.
If computers had to be interacted with in ways that resembled programming - like a UNIX prompt - then people would be more used to the way computers actually work, with functions and parameters instead of icons and settings menus.
I really hope that raspberry PI gets more mainstream appeal as time goes on. I fear the separation between coders and users is creating parallel worlds of echo-chamber wizards and ignorant commoners.
- throwanem 10y ago> If computers had to be interacted with in ways that resembled programming - like a UNIX prompt - then people would be more used to the way computers actually work, with functions and parameters instead of icons and settings menus. Yes. That's exactly how it would be, for whatever small fraction of current computer users were able and willing to adapt to that paradigm. You're absolutely right about the separation between people who understand how computers work and people who only use them. Your second sentence in this comment is a brilliant example of the "echo-chamber wizard" school.
- schoen 10y agoI believe as you do and in basically the same terms, but, having had forms of this discussion for much of my life, I've encountered a counterargument that I thought I'd bring up as a devil's advocate: > the way computers actually work, with functions and parameters instead of icons and settings menus Isn't "the way computers actually work" at a fundamental level about electrical engineering, or at least about machine instructions? If you're using Unix commands, hasn't a whole lot of work already been done to create the abstractions of pipes, file descriptors, files, filesystems, and so on? Is it clear that there is some sense in which these abstractions are faithful and true to the machine and technology, where other software abstractions are not?
- schoen 10y agoI got a ton of upvotes on this, but nobody has replied to it! I wonder how many people who upvoted me noticed that I claimed to be expressing an argument against my own opinion. :-)
- exolymph 10y agoI noticed, but I'm sort of mystified about why you wouldn't agree with that opinion. Clearly the command line is an order of magnitude more abstract than practical electrical engineering. We need different people to understand different layers, and as long as there are enough people paying attention to each layer, there's no problem.
- jbermudes 10y ago> Isn't "the way computers actually work" at a fundamental level about electrical engineering, or at least about machine instructions? I agree, which is why sometimes I think perhaps a toy assembly language might be a neat experiment from a pedagogical point of view.
- sxg 10y agoWithout a GUI, mainstream computing probably wouldn't even exist let alone mainstream programming.
- jshevek 10y ago> 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.
- Matt3o12_ 10y 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.
- deleted 10y ago[deleted]
- logiclion 10y agoCould you elaborate on why the GUI killed the possibility of mainstream programming? I'm not exactly sure if the concept of what programming is (in an abstract sense) should be bound to the idea of a CLI. In my opinion the use of a GUI vs CLI is more of a preference and doesn't explicitly assume the user is ignorant.
- redial 10y ago> I fear the separation between coders and users is creating parallel worlds of echo-chamber wizards and ignorant commoners. Isn't that how a society works? The vast number of diverse human activities are only possible because of the echo-camber, of people who specialise in one area while remaining ignorant in almost all the others. Also computing, and programming, is much much more than a unix prompt.
- rhinoceraptor 10y agoThis seems like a really elitist attitude. I like windows and buttons and menus. I also really like the command line, my development environment is a fullscreen terminal window. Programming nowadays is easier than ever to get into. All you need is a computer, an internet connection, and the drive to learn. If you bought a car in the early 20th century, you had to know how to work on it. Now, that's not that case.
- foobarrio 10y agoGUIs allow things to be done by people who otherwise would not be interacting with a computer. They are huge enablers! This is true of the arts with computer graphics, music software. Granted really advanced users of computer graphics packages often end up doing some kind of programming via Python scripting or even Action Script back in the days of Flash. However there are plenty of people that are pure artists and just digitally paint of sculpt.
- rimantas 10y agoWhat kind of weird dream is that? Do people also have dreams about mainstream odontology or mainstream plumbing? WTF is wrong with the programmes that they want to turn entire population into lookalikies?
- NEDM64 10y agoWhy do people think that having programming skills is something that people of the future need? It's useless for most of people, and for many people who know how to program, is also useless for them too, as most if not all their needs are already fulfilled by someone else. I think it's more important for the younger generation to learn about other things, some of them I do not know. Things like agriculture, law, music theory, etc. are much more important than programming.
- danso 10y agoThat's a pretty limited way of thinking about programming, which is basically the capability to translate intent to an autonomous, tireless machine.
- kalleboo 10y agoI don't think the GUI has anything to do with it. > If computers had to be interacted with in ways that resembled programming - like a UNIX prompt Maybe programming should start resembling GUIs more, instead of the GUI resembling programming more? The only reason I got into programming was by messing around with HyperCard as a kid. HyperCard had an excellent learning curve. You could just use the pre-built stacks (stuff like an address book). Then you could start editing the controls (adding a field to the address book), then start using the prefab button generator or copying pre-coded buttons from sample stacks (say, to add a button to go to your own card in the address book). Then start hacking away at the scripts in the buttons (scripts that resembled english better than any language I've seen since). And this thing came with every Mac. Today, you have to decide "I want to learn to program", look up resources, maybe do a tutorial. The only thing we have today that's close to "tricking" people into programming without them deciding to start programming is Excel spreadsheets. That's probably the #1 programming environment today.
- pjmlp 10y agoNot everyone likes the UNIX prompt. Some of us rather enjoy the way Xerox PARC envision the future of computing. On that vision IDEs and REPLs like the Swift Playground are the way it should be, no need for a UNIX prompt.