Kudos that a dad has the where with all to give his kids an introduction to technology that will increase their understanding and appreciation of current and future tech. This is a lot harder than just handing your kid an ipad - and (hopefully) his kids will thank him for it when they grow up.
I Raised My Kids On the Command Line and They Love It (2012)
31–40 of 57 posts
Re: I Raised My Kids On the Command Line and They Love It (2012)
#32Earlier quoted context omitted.
>the idea that kids who learned to type a magic command to launch games on C64 have more useful knowledge than kids brought up on Mac/Windows is frankly stupid. >children that used Commodores or TRS-80s or DOS knew a lot more about how their computers worked, on average, than those of the same age that use Windows or MacOS He said they know more about how their computer works, not that they have more useful knowledge…
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…
-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.
Re: I Raised My Kids On the Command Line and They Love It (2012)
#33I raised my kids on GUIs and they love it. (I don't disagree that exposing kids to the command line is probably a valuable thing, but the idea that kids who learned to type a magic command to launch games on C64 have more useful knowledge than kids brought up on Mac/Windows is frankly stupid.) Last night my five-year-old daughter complained her iPad was out of battery so I gave her my Nexus 7 and she had no problems…
>the idea that kids who learned to type a magic command to launch games on C64 have more useful knowledge than kids brought up on Mac/Windows is frankly stupid. >children that used Commodores or TRS-80s or DOS knew a lot more about how their computers worked, on average, than those of the same age that use Windows or MacOS He said they know more about how their computer works, not that they have more useful knowledge…
I don't feel that a CLI gives me more information about how a computer works than a GUI does. A GUI interface gives me a lot of clues as to how to do things I didn't know about before. A CLI requires that knowledge prior to doing anything.
Give me an unfamiliar GUI and there are cues. I can click on things, right click on things, hover over things, touch things, whatever. I can explore with a GUI. I can even learn, or at least get the queues to learn.
Give me an unfamiliar CLI and I'm kind of stuck. I can type. What can I type? Maybe I have some experience and I try help. Maybe from that I get a list of commands with no context. Where do I go from there? Linux "help" doesn't even describe "man".
I understand IPv4 well. I can configure a network interface or wifi on any typical GUI I come across. If I want to do it in linux, I don't even know where to start. In windows, understanding IPv4 and stumbling around the control panels, network settings etc will allow me to configure my adapter. On my phone, going to settings, wifi, tapping the little arrow beside my connection will let me manually assign an IP address.
In Linux, if I want to do that, I need to look up a reference to learn how to use ifconfig. There are no queues to guide me, and the language is specific to that environment. I don't learn anything about TCP/IP through this process, I only learn about linux.
On the other hand, in a GUI, it gives me more information than I ask for. Going into my network connection properties in windows shows me all the clients, services, protocols that are enabled for the connection, it gives me a shortcut to change the particular settings of the NIC driver. Delving into the IPv4 settings it tells me that DHCP is enabled, it lets me change the DNS suffix search list, assign additional gateways, etc.
The GUI is a teaching tool as much as it is an interface. What it teaches isn't necessarily comprehensive, but it does teach.
The CLI on the other hand is much more limited in how it can provide feedback to the user. It can try to, but it's got more limitations; text-only, no diagrams, few abstractions.
For a child in a structured learning environment, a CLI might be better. It rewards discovery, it limits the interactions, it provides fewer distractions. But without external teaching materials, I think if you give a child a computer with linux and no window manager on it, and you give a child a computer with Windows or Mac OS on it, your child would learn a lot more about the computer from the latter options.
Re: I Raised My Kids On the Command Line and They Love It (2012)
#34I raised my kids on GUIs and they love it. (I don't disagree that exposing kids to the command line is probably a valuable thing, but the idea that kids who learned to type a magic command to launch games on C64 have more useful knowledge than kids brought up on Mac/Windows is frankly stupid.) Last night my five-year-old daughter complained her iPad was out of battery so I gave her my Nexus 7 and she had no problems…
>the idea that kids who learned to type a magic command to launch games on C64 have more useful knowledge than kids brought up on Mac/Windows is frankly stupid. >children that used Commodores or TRS-80s or DOS knew a lot more about how their computers worked, on average, than those of the same age that use Windows or MacOS He said they know more about how their computer works, not that they have more useful knowledge…
Now, there's certainly potential. The author could (and maybe has) explain how X works or what exactly it means to install a package. Or maybe his kids will learn something from the details that command line programs show but GUIs often hide. There are definitely learning opportunities present in a shell that a GUI lacks. (The reverse is also true.) But from the article, he hasn't done any of that.
Reading this article makes me think the author has a lot more planned, but what he's done so far, while fun, probably hasn't made his kids any more knowledgeable. That's OK: His sons are 2 and 5 and have plenty of time to learn more, if that's their interest. But Hacker News shouldn't pretend that the author has demonstrated the superiority of starting with the command line.
Re: I Raised My Kids On the Command Line and They Love It (2012)
#35I raised my kids on GUIs and they love it. (I don't disagree that exposing kids to the command line is probably a valuable thing, but the idea that kids who learned to type a magic command to launch games on C64 have more useful knowledge than kids brought up on Mac/Windows is frankly stupid.) Last night my five-year-old daughter complained her iPad was out of battery so I gave her my Nexus 7 and she had no problems…
>the idea that kids who learned to type a magic command to launch games on C64 have more useful knowledge than kids brought up on Mac/Windows is frankly stupid. >children that used Commodores or TRS-80s or DOS knew a lot more about how their computers worked, on average, than those of the same age that use Windows or MacOS He said they know more about how their computer works, not that they have more useful knowledge…
Follow-up article: I raised my kids flipping switches on a front panel and they love it!
Re: I Raised My Kids On the Command Line and They Love It (2012)
#36I've heard of being raised on the bread line, or the poverty line, but the command line? That's real deprivation. Imagine how excited they will be when they learn about hot water and inside toilets. More seriously, what can a 2-5 year old do on the command line that would interest them? I'm genuinely curious.
I don't know that I could do much more, at that age you kind of run on autopilot with remembering the exact method to do something.
Re: I Raised My Kids On the Command Line and They Love It (2012)
#37Earlier quoted context omitted.
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…
If 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 -wh…
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.
Re: I Raised My Kids On the Command Line and They Love It (2012)
#38Earlier quoted context omitted.
>the idea that kids who learned to type a magic command to launch games on C64 have more useful knowledge than kids brought up on Mac/Windows is frankly stupid. >children that used Commodores or TRS-80s or DOS knew a lot more about how their computers worked, on average, than those of the same age that use Windows or MacOS He said they know more about how their computer works, not that they have more useful knowledge…
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…
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.
Re: I Raised My Kids On the Command Line and They Love It (2012)
#39Earlier quoted context omitted.
I'm going to make sure they only use Word Perfect 5.1 without the help of the F-key stickers.
I was not trying to be sarcastic. If I manage to teach them how a word processor is supposed to be used, then and only then can we go over to the shell.
Re: I Raised My Kids On the Command Line and They Love It (2012)
#40Earlier quoted context omitted.
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…
If 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 -wh…
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.