Linked by Thom Holwerda on Thu 21st Jun 2012 22:40 UTC
X11, Window Managers John Goerzen, Debian/GNU Linux developer, transitions his kids from bash to xmonad: "I'd been debating how to introduce GUIs for a very long time. It has not escaped my attention that 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. I didn't want our boys to skip an entire phase of learning how their technology works." I decided long ago that my kids - if I ever have them, I'm undecided and way too young - will learn computing the way I learned it: with a CLI. I never realised an xmonad setup would form a good transition phase into GUIs.
Thread beginning with comment 523243
To read all comments associated with this story, please click here.
ansidotsys
Member since:
2008-08-15

It is good to introduce children to multiple computer interfaces at an early age as the exposure itself will prove useful to future interfaces. It is important to keep in mind that using the CLI first brings no further advantage than using a GUI first. While it gets "geek cred" in many circles, it doesn't mean much if proficiency in multiple interfaces is not the end result.

For example, learning C before C++ does not necessarily make one a better programmer in C++ or even a better programmer. However, the end result of learning both (whether C or C++ was first does not matter) will be useful in that exposure to multiple languages is the benefit in itself.

Likewise, learning the GUI first and the CLI later does not make one any less proficient in computers than CLI first learners. I learned first in the CLI and am indeed proud of that fact due to my geekness, but don't get that confused with it being the superior method. Many of the brightest coders today who are 18-21 grew up using GUIs.

Cliff notes: It's good the kids are learning about computers at an early age. That fact alone is far greater than the minor detail that the CLI was the first interface they were exposed to.

Reply Score: 5

Alfman Member since:
2011-01-28

ansidotsys,


I get what you are saying, but I've seen so many GUI users with multiple years of experience who are almost uncomfortable controlling the computer by keyboard. Things like clipboard interaction and switching windows are always faster on the keyboard, yet many GUI users tend to have never gotten used to keyboard skills because they didn't have to. I've even observed some of my programming peers overly rely on inefficient mouse clicking, and when I mention it they say it doesn't occur to them to use the keyboard.

The same could be said for CLI itself, people who learn GUI interfaces first may never bother learning CLI and they might never come to appreciate how CLI is usually superior for batch operations.

aside: why didn't you choose commanddotcom?

Reply Parent Score: 2

ansidotsys Member since:
2008-08-15

aside: why didn't you choose commanddotcom?


LOL, so you noticed! It was simply the file I could not do without. Logging into a BBS was never the same without it. I'd like to respond to this bit first to mention the following: Remember how many keyboard fans were opposed to the mouse during the Windows 3.1 and Windows 95 early days?

I get what you are saying, but I've seen so many GUI users with multiple years of experience who are almost uncomfortable controlling the computer by keyboard. Things like clipboard interaction and switching windows are always faster on the keyboard, yet many GUI users tend to have never gotten used to keyboard skills because they didn't have to. I've even observed some of my programming peers overly rely on inefficient mouse clicking, and when I mention it they say it doesn't occur to them to use the keyboard.

The same could be said for CLI itself, people who learn GUI interfaces first may never bother learning CLI and they might never come to appreciate how CLI is usually superior for batch operations.


But can those inefficiencies with the keyboard really be the credited to the GUI? I would argue that the individual person's lack of comfort with the keyboard is due to a number other things, two of which might be: 1) They were simply never taught how to use the keyboard shortcuts. 2) They are resistant to change and would refuse the opportunity even when provided with its benefits, a natural but detrimental emotional response. And these two things are human/human resource issues, not interface issues. The first issue is a matter of training, while the second is a matter of motivation.

For example, about two years ago I had to train a new hire on our support ticketing application at work. Prior to working with the company, he never had any extensive computer training nor was he "into" computers at all -- and I'm sure he's never even seen a command prompt. His experience was primarily using Microsoft Word to type out homework assignments. Our ticketing system's client interface ran on Mac OS X, featuring both keyboard shortcuts and icons for use with the mouse. Use of keyboard shortcuts was emphasized in training, but he took particular interest in it, writing each and every one of them down. Through the course of 3-4 months, he became extremely proficient with keyboard, their shortcuts, and the entire ticketing system itself. He's recently showed me an AppleScript he wrote to start up all of his application upon login. I know, yes, very easy for readers of tech sites to do, but very impressive given his prior experience.

My point is: I fully credit his skills to both the training and his motivation to learn. To whatever upbringing that was given to him to be so open to learn is what allowed him to succeed. I would further argue that if someone was so used to the mouse and refused to learn a CLI or keyboard-based interface, they just might not have ever touched a computer to begin with -- if not for the mouse. This is not necessarily a bad thing. It is, after all, why computers grew so quickly in the mid-90s. The GUI and the mouse lowered the barrier of entry. Touch interfaces are going to be the next lowering of the bar. And similarly, like the keyboard-only users before them, many keyboard+pointer users are lamenting the touch interface. See the pattern?

The only way to break the pattern is to instill an openness to learn new things -- and I think the best way to do that is to teach them MANY things. The blessing that the children in the article have is that they have a parent who possesses the will to teach them, not that they learn the CLI first.

Edited 2012-06-22 06:55 UTC

Reply Parent Score: 2

zima Member since:
2005-07-06

Things like clipboard interaction and switching windows are always faster on the keyboard

Don't just say it like that, likely because you perceive it as such (while - what tells you so? Could it be the very same thing doing the interaction? Our brains are very powerful - self-deception is a trivial trick for them, for example http://news-service.stanford.edu/pr/2008/pr-wine-011608.html & go through a list of cognitive biases), without some evidence or research... like http://plan9.bell-labs.com/wiki/plan9/Mouse_vs._keyboard/index.html


And sure, "many" people are seemingly deficient and ignoring some existing good aspects of text UI ...but that doesn't mean anything, such cases are mostly a result of computers being finally (barely) accessible to them in the first place. With CLI, they just wouldn't be there.

Reply Parent Score: 2

moondevil Member since:
2005-07-08

I would rather teach my kids (when I have them), a language from the Pascal family like Delphi, Modula-2/3, or modern languages like D or Go.

This way he/she would first be aware what proper modules are, the benefits of strong typing, how to handle efficient data structures without pointer magic tricks.

All of this in languages that are also able to generate proper optimized native code.

Then he/she can do a time travel to the past of primitive linkers and source file inclusion world of C and C++, and requirements of static analyzers for sane coding.

Reply Parent Score: 3