This article confuses teaching Unix with teaching programming. They are separate subjects. It used to be a prerequisite to teach Unix first because most programming tools were command line, but I'm not sure whether this is still true. I spend far less time in the shell than I did 15 years ago because the GUI tools are now so good. To use the example from the article, back then I would have used the find command because it was the best way, but now like his users I would just use Spotlight. I think memorising command parameters and key sequences has become a badge of honor because it is difficult but the command line is no longer the most efficient way of doing everything.
> This article confuses teaching Unix with teaching programming
I don't think thats true, he references programming in python in there, but he uses the tools programmers generally use (on unix based systems) to program to more sharply contrast it with what the user might expect based on software that they use
> but the command line is no longer the most efficient way of doing everything
I agree with you, but the fact that most of the most gifted programmers I know usually gravitate towards some truly esoteric tools because of the complete control it affords them, negatively (sadly) impacts the rest of the programmers that look up to them
>> but the command line is no longer the most efficient way of doing everything
> I agree with you, but the fact that most of the most gifted programmers I know usually gravitate towards some truly esoteric tools because of the complete control it affords them, negatively (sadly) impacts the rest of the programmers that look up to them
I spent years programming with Visual Studio and other IDEs that preceded it. I now work exclusively with "command line" tools because I can't physically use a mouse as my primary input device. I also use Linux now since it isn't possible to navigate OSX as efficiently as I can navigate using xmonad, tmux, and Vim on Linux.
It isn't an exaggeration to say that I owe my career, and my business, to the gifted programmers who maintained and improved the tools that I depend on now over the last several decades.
Is it possible the command line is the most efficient way of doing things and you just haven't discovered that yet?
I have worked with a very large number of programmers of wildly different skills and technical cultures, and never once have I seen someone harming themselves by trying to overuse a shell. It has always been the reverse: people wasting hours and days doing things that should be automated by two lines of bash scripting.
Similarly, the grandparent comment's speculation that it's just a "badge of honor because it's harder" just sounds silly. Maybe if you're 14 and you're trying to convince another ignorant kid that you're 733t.
The thing about all these powerful, "esoteric" tools is that the steep learning curve doesn't matter at all across a lifetime career. The investment pays off in spades.
I agree that often guis can do things more efficiently. CLI's shine when you need to do unusual, compound tasks. Suppose you want to get the third line out of every file on the form log*.txt. Quite easy in CLI, but impossible with a gui. Of course, you can outsource writing the "incantation" to some grunt, but what you cannot outsource is the knowledge that it should be done with a CLI / script.