4 ms·
I would disagree. The command line is really no more about "how their computer works" than a GUI is. They're both interfaces to run programs. In each you can
by fps 13y ago
I would disagree. The command line is really no more about "how their computer works" than a GUI is. They're both interfaces to run programs. In each you can navigate to a location on a filesystem (which is, itself, an abstraction on top of how the computer is really working) and run programs. Perhaps people who don't understand computers think that the command line is really how computers work, and that interacting with the command line inherently makes them more knowledgeable, but that's completely wrong. You understand no more by parroting apt-get install than you do by double clicking on a .deb icon.
- lightcatcher 13y agoIf the kids follow the natural progression of using the command line, the dad will probably give them root privileges on their machines sometime between when they're 8-10. At this point (if not before it) the kids will probably learn about: -file permissions, users, and processes on Linux -environmental variables -package management -common Linux packages such as X, top, and probably others -piping/IO redirection -what a daemon is -possibly how to use a "real" editor such as emacs or vim -possibly some shell scripting More importantly, this kids will never be afraid on the command line (which I believe most people are, including younger programmers just learning how to interact with shells). Many of the topics above show up in a computer organization class in a university. Computers are built on top of many abstractions, and the command line is at least one layer lower of an abstraction than a GUI.
- Tloewald 13y agoThe natural progression using the command line is to figure out how to avoid using the command line. The natural progression of forcing people to use the command line is to turn them off using computers. Now, the author is presumably a tech geek and the kids probably have some genetic predisposition to doing the kinds of things dad does, so I don't care to predict the outcome. Similarly, the dad may be a great and inspiring tutor. But my view is you wait and see what kids are naturally interested in and try to widen and deepen the paths they pick of their own accord. It's quite possible that knowledge of vim and emacs and package management won't be the world's most valuable skills in ten years. Whaddya think? > the command line is at least one layer lower of an abstraction than a GUI Only if that's the way the system is architected. Maybe thinking that way is actually a handicap.
- brodney 13y agoI disagree with you regarding avoiding using the command line. I enjoy working in terminal and to the extent possible do as much as I can in there. I also try to understand what is happening "behind the scenes" when working in a GUI. The way I look at a GUI is that it is built entirely on terminal functions. I see you disagree, but I don't know how a GUI could be created without being built on something at a lower level. Something has to cause it to work, somewhere between bits and hardware, and the screen. Double click to open file? Same as `open file`. Find and replace in a text editor? Same as sed or `s//`. A GUI can make it easier to do those things, but not always. For example I find using git in a GUI to be a worse experience than it's command line counterpart. I'm more at home with `git diff` than whatever built in attempt at improvement is available. I'd rather edit and resolve conflicts in vim than a visual editor (even XCode which is a pretty nice diff tool). In short I just don't see myself ever moving off of terminal, and I would never see knowledge of it as a handicap. On the contrary, I'm always looking to learn how to do something new and powerful in it.
- Tloewald 13y ago> I don't know how a GUI could be created without being built on something at a lower level Which simply makes my point that being CLI-centric has limited your imagination. In fact the original Mac had a UI built directly on top of the system libraries. On startup it displayed an icon and played a chime (which was its hardware self-test result). Insofar as there was a "CLI" it ran UNDER the GUI. (There is something lower level going on that the GUI, but it's not a terminal.) Even on a primitive command line machine, there's stuff going on below the level of the command line. In Linux you're running a shell, which is actually not part of the kernel. The fact that the kernel can spew text onto the screen during startup is merely an artifact of what's easy to do using the computer's BIOS or equivalent thereof.
- lightcatcher 13y ago> It's quite possible that knowledge of vim and emacs and package management won't be the world's most valuable skills in ten years. Whaddya think? Replace your hyperbole of "world's most valuable skills" with just "valuable skills", and I think knowing how to use a text editor and a package manager will still be valuable skills in 10 years. The last 20 years of inertia serve as evidence for me. > Only if that's the way the system is architected. Maybe thinking that way is actually a handicap. That is the way all (afaik) computer systems are currently architected. Having a correct model of the world isn't a handicap.
- joesb 13y ago> -file permissions, users, and processes on Linux. Available from most GUI file browser. > -environmental variables Available on GUI. > -package management Synaptic, or some package management GUI. > -what a daemon is There's GUI for Service management. > -possibly how to use a "real" editor such as emacs or vim I didn't Emacs and Vim does not have GUI version. > More importantly, this kids will never be afraid on the command line That's only important if you value being able to use command line, it's circular reasoning.
- lightcatcher 13y agoJust because the tools are available through a GUI doesn't mean that the kids will use them the same way. I learned about as much about the above topics in a week of doing server admin stuff as I did in years of running Ubuntu with GNOME. >I didn't (know) Emacs and Vim does not have GUI version. Despite have GUI versions, the likelihood that most kids would use them is roughly 0. If you give kids a GUI, they'll learn how to use Microsoft Office/OpenOffice and maybe notepad/gedit. If you give them a command line, they'll probably learn nano -> emacs/vim and then use LaTeX when they need to make something they'd typically use an office suite for.
- gavinlynch 13y agoAre you seriously suggesting that children would use LaTeX over MSO or MSO-like software? I find this thought process truly baffling.
- gavinlynch 13y agoHow to use a "real" editor: Oh ffs, c'mon. Most people in their daily lives will never need Vim or Emacs. And let's be honest, if anything, they're way better off using something like Nano, that has a short-cut system they are likely more familiar with. There is no need for them to go through the learning curve of a tool like Vim or Emacs. Vim is my IDE. I develop entirely and totally on the command line, devoid of any GUI management or development tools. But this is just silly.
- phaemon 13y agoJust like there's no difference between saying, "Could you pass the butter, please?" and pointing at it and grunting. :-) Using a command line encourages a person to explore what they can tell the computer to do, rather than accept what a GUI allows them to do. It encourages learning that you can put a list of regularly used commands in a "script" and then re-run them. And then exploring what else can be done with a script. When you're used to typing instructions and telling the computer what to do, the idea of writing a computer program is a natural progression.
- phaemon 13y agoHeh, funny downvote: rather than communicate via text it was "click to disagree" :-D