Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was raised on DOS, but not exposed to unix or linux until much later.

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.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: