Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Unix Operating Systems Programming

How Ya Gonna Get 'Em Down On the UNIX Farm? 606

theodp writes "In 1919, Nora Bayes sang, "How ya gonna keep 'em down on the farm after they've seen Paree?" In 2013, discussing User Culture Versus Programmer Culture, CS Prof Philip Guo poses a similar question: 'How ya gonna get 'em down on UNIX after they've seen Spotify?' Convincing students from user culture to toss aside decades of advances in graphical user interfaces for a UNIX command line is a tough sell, Guo notes, and one that's made even more difficult when the instructors feel the advantages are self-evident. 'Just waving their arms and shouting "because, because UNIX!!!" isn't going to cut it,' he advises. Guo's tips for success? 'You need to gently introduce students to why these tools will eventually make them more productive in the long run,' Guo suggests, 'even though there is a steep learning curve at the outset. Start slow, be supportive along the way, and don't disparage the GUI-based tools that they are accustomed to using, no matter how limited you think those tools are. Bridge the two cultures.'" Required reading.
This discussion has been archived. No new comments can be posted.

How Ya Gonna Get 'Em Down On the UNIX Farm?

Comments Filter:
  • Stop trying (Score:5, Insightful)

    by Anonymous Coward on Thursday December 26, 2013 @03:53PM (#45789653)

    Not everyone cares.

    Those who do, while learn the power of the command line, just like myself and many others. Those who don't, will be happy with the guy.

    THATS FINE. STOP TRYING TO CHANGE THAT.

    Not EVERYONE needs to be a sysadmin or developer. Some people do stuff other than dick with computers 24/7 so knowing how to use awk is a waste of time, just like I doubt too many of you guys know how to milk a cow (even just hook one up to the milker which is pretty much automatic today).

    Different tools for different jobs. Not all of us need a freaking hammer.

    -BitZtream

  • Re:Stop trying (Score:3, Insightful)

    by fisted ( 2295862 ) on Thursday December 26, 2013 @03:57PM (#45789683)
    Yes, but then again, there are people who /want/ to become developers, yet are hopelessly stuck in the proprietary shiny-UI apple-windows world, and often don't realize they /need/ to get out of there in order to become decent programmers.
  • Re:Huh, what? (Score:4, Insightful)

    by rmstar ( 114746 ) on Thursday December 26, 2013 @03:59PM (#45789693)

    System administrators rely on command line utilities, on all platforms. That isn't a Unix-specific thing. Windows administrators do the same thing.

    Sure. The problem is teaching people to be admins. If they refuse to use the CLI, then it doesn't matter if they are smart or not - they will not learn. This was the focus of the original article: teaching students used to GUIs.

  • by CanHasDIY ( 1672858 ) on Thursday December 26, 2013 @03:59PM (#45789695) Homepage Journal

    Any dumbass can do stuff in a GUI, but real BAMFs rock a terminal.

    At least, that's how it was sold to me when I was a young'in. Worked pretty well, too.

  • I wonder . . . (Score:3, Insightful)

    by Kimomaru ( 2579489 ) on Thursday December 26, 2013 @04:01PM (#45789707)
    I wonder how much of his advice actually works? People who like using CLI seem to be cut from a different cloth than people who fawn over glitsy GUI interfaces. That's been my observation, anyway. Some newbies just gravitate toward the alluring green-text-on-black-background cli that seems to hold the promise of a deeper computing experience. They tend to find it. :)
  • Re:Stop trying (Score:5, Insightful)

    by fisted ( 2295862 ) on Thursday December 26, 2013 @04:05PM (#45789741)
    Because by coding against a black box, you can only become more and more proficient in knowing how the black box behaves for given inputs - the underlying concepts are pretty much invisible so the computer mostly remains 'magic'
    It's the price you pay for being "ready for granny" ;).

    Another reason would be the WINAPI. It's a horrible, horrible mess.
  • by fuzzyfuzzyfungus ( 1223518 ) on Thursday December 26, 2013 @04:15PM (#45789825) Journal
    For casual users, anything with a steep learning curve (no matter how powerful) is a tough sell because they'll probably spend more time learning than they would save. Trying to evangelize them may be morally satisfying; but is largely pointless.

    For people who actually want to do something computer related, at scale, surely anybody sharp enough to be left unsupervised near a computer will learn (the hard way, if necessary) why we use tools with steep learning curves and great power: because the alternative is an essentially unbounded amount of error-prone manual labor.

    If that doesn't become clear to them fairly quickly, either the GUI tools are working just fine for them, or they aren't in an area where the CLI really shines, or they should really consider doing something else. You shouldn't need to turn on the hard sell.

    Choices of specific tools, with their quirks dating back to design constraints or decisions made, in some cases, before today's students were born are largely a matter of taste; but the use of tricky but high-powered tools swiftly shows itself to be necessary. You just can't click fast enough, even if you wanted to.
  • by jedidiah ( 1196 ) on Thursday December 26, 2013 @04:15PM (#45789827) Homepage

    GUIs tend to suck at automation because all GUIs tend to assume that end users are blithering morons.

    The problem with a GUI is that there may not be a "fully functional interface". It may simply not exist yet. Creating one by stringing together tools in a good shell is a lot easier and quicker than building a full blown GUI app.

    Do more than one of something then a command line or programming environment will likely benefit you if you aren't interested in endless busy work.

  • by spasm ( 79260 ) on Thursday December 26, 2013 @04:16PM (#45789831) Homepage

    It took me a minute to realize the author thinks gui interfaces are Gay Paree and the command line is back on the farm. In my experience it's the other way around - once the kids have discovered the flexibility and utility of the command line it's a bit hard to keep them in the walled garden of gui interfaces.

    Any gui is absolutely great as long as a) the task you're trying to do with it is one the programmer/designer has anticipated; and b) the programmer has done a decent job. As soon as you're trying to do something that a gui designer hasn't though of, it suddenly becomes difficult or impossible to get anything done, whereas you can usually work out a way to do it using the multiple small pipeable tools available in your average shell.

  • by dskoll ( 99328 ) on Thursday December 26, 2013 @04:23PM (#45789889) Homepage

    I wish I could comment directly on the original article. Here's what I'd say:

    If computer science students are unwilling to learn something, then fail them. End of story.

    Not everything is exciting and flashy. Should we refrain from teaching the multiplication table because we have calculators now to do it for us? Any CS graduate who hasn't worked with the CLI during his/her studies is simply not worth hiring and indeed should not be permitted to graduate.

  • Re:Stop trying (Score:5, Insightful)

    by AJH16 ( 940784 ) <aj AT ajhenderson DOT com> on Thursday December 26, 2013 @04:28PM (#45789939) Homepage

    Understanding what the tools do under the hood is important. Using command line tools is not. I could write in assembly if I really wanted to, but I use C# for most stuff. I understand what it does under the hood, but that doesn't mean I have to always work at that level. Using GUI tools is the same thing. I know my GUI tools for administering a Windows server and I can typically make complex adjustments just as fast on it as my UNIX buddy can do using command line tools on his Linux boxes. The difference is what we are comfortable with. Some things go faster with one command, but when you have more complex actions, sometimes the GUI is faster. Either way, you still have to know your system and know what all the buttons or commands actually do.

  • Re: Stop trying (Score:4, Insightful)

    by bonehead ( 6382 ) on Thursday December 26, 2013 @04:36PM (#45789999)

    Btw, I've seen at most companies, we'll all, that their Linux side of things is a freaking messy disaster. Why is that?

    I actually haven't seen much of that at all. In the cases where I have, it boils down to one of two things:

    1.) Wanting to pay Windows admin wages for a *nix admin.

    or, even worse

    2.) Putting the existing AD admin in charge of the new Linux servers.

  • Re:Stop trying (Score:5, Insightful)

    by fisted ( 2295862 ) on Thursday December 26, 2013 @04:37PM (#45790009)
    That isn't what i was talking about.

    They are stuck in the way TFA points it out -- it's in their minds.

    Lets try an analogy:
    Say you have a hammer - yet nobody ever taught you how to use it, so you have to figure it out yourself. You mistake the head for a grip, and start bashing nails into the wall by holding the hammer's head in your hand, and hitting them with the /actual/ grip.
    It sort of works, and more importantly, you aren't aware of a better way, so it's "the best way" (you know).

    Now imagine being told that you've been doing it wrong all the time, that the hammer is to be held at the other end.
    Skeptically, you give it a try. Holding the hammer correctly for the first time in your life, you realize it's a bit harder to handle than the way you're used to.
    Then you violently, like most people on their first attempts to hammer something, smash it onto your thumb, OUCH, WTF, this is fucking dangerous.
    Clearly, your original way to hammer was superior, and way less painful/dangerous. Right?
    No -- all it would have taken is to actually see someone working the hammer properly, before you realize how wrong you've been.

    It's pretty much the same when it comes to CLI vs GUI
  • by bonehead ( 6382 ) on Thursday December 26, 2013 @04:43PM (#45790069)

    Any dumbass can do stuff in a GUI, but real BAMFs rock a terminal.

    I think nearly all experienced professionals would simply say that both types of tools have their place.

    I spend 99% or more of my time on the job working in a bash shell. But if you're talking about a new piece of software that I've never configured before, and probably will never have to again, then pop up the GUI, set the options, and move on with my day.

    That said, while a CLI does have a much steeper learning curve, it is far more powerful in most cases. I don't avoid GUI tools out of some sort of "elitist" mentality, I avoid them simply because they're so limiting.

  • Re:Stop trying (Score:5, Insightful)

    by NotSanguine ( 1917456 ) on Thursday December 26, 2013 @04:43PM (#45790075) Journal

    Cygwin is an abomination.

    No, seriously.

    Compared with cmd.exe and the standard MS command line, it is heaven, my friend.

  • Re:Stop trying (Score:3, Insightful)

    by Anonymous Coward on Thursday December 26, 2013 @04:46PM (#45790123)

    Because by coding against a black box, you can only become more and more proficient in knowing how the black box behaves for given inputs - the underlying concepts are pretty much invisible so the computer mostly remains 'magic'

    Only a slim minority of programmers code against the OS-specific or kernel-specific APIs. They all use abstraction layers like Qt, GTK+, .NET, etc. So for 95+% of programmers they won't learn anything else since they'll still be using the same abstraction layers. Using Qt on Linux is not teaching me anything more than using Qt on Windows or OS X does and that's the lowest level that pretty much all programmers would be going.

  • Re:Stop trying (Score:5, Insightful)

    by danlip ( 737336 ) on Thursday December 26, 2013 @04:46PM (#45790133)

    Cygwin is the only thing that made life tolerable while doing development work for companies that only allowed employees to run Windows. I don't think I'd call it an abomination, it's perfectly fine if all you need is a bash shell and the standard tools (find, grep, sed, etc). But I hope I never have to use it again, mostly because I hope to never be stuck on Windows again.

  • Re:Stop trying (Score:4, Insightful)

    by LordLimecat ( 1103839 ) on Thursday December 26, 2013 @04:47PM (#45790151)

    Linux is a black box for 99% of its users too, since having access to the source and being able to comprehend a small fragment of it are vastly different things.

    Practically speaking, for sysadmins, whether source is available is not always (or often) going to be terribly relevant.

  • Re:Stop trying (Score:5, Insightful)

    by Desler ( 1608317 ) on Thursday December 26, 2013 @04:55PM (#45790227)

    How many people writing applications on Linux ever regularly read the kernel code? Or, for example, the Qt source code beyond the headers? Yeah, next to none of them.

  • Re:Stop trying (Score:5, Insightful)

    by jedidiah ( 1196 ) on Thursday December 26, 2013 @05:30PM (#45790501) Homepage

    Cygwin is GNU bolted onto Windows. So it has it's own quirks. While it's better than all of the alternatives if you're being forced to run on an NT machine, it's no replacement for the real thing.

  • Re:Stop trying (Score:5, Insightful)

    by pla ( 258480 ) on Thursday December 26, 2013 @05:30PM (#45790505) Journal
    The first statement is not true for the share of developers among the Linux or unix users, which is substantial.

    "Could" does not equal "is".

    I code for a living, 20 year veteran. I've rolled my own Linux distros (back before the likes of Knoppix remastering made that trivial). I've tweaked my own kernels to (for example) force enumeration of a second PCI bus on a box that only announced it had one (nothing impressive, not bragging, just establishing my "cred").

    And honestly, 99% of a modern Linux distro still amounts to a black box to me. Yes, I could open the box, and have the background skills to understand what I see inside; but the GP's claims stand, IMO. To 99% of Linux users, even including devs, Linux may as well run on caffeine and enslaved pixies for all we passively know about the internals.

    That said, I will agree with you to the extent that having the ability to open the box when necessary makes a world of difference. But going back to TFA, that doesn't mean squat to someone who only sees pixies even when they do look inside. ;)
  • by jedidiah ( 1196 ) on Thursday December 26, 2013 @05:34PM (#45790565) Homepage

    Apple and it's fanboys will only acknowledge the Unix underpinnings of MacOS when they need a marketing bulletpoint or want to win a pointless argument with a total stranger.

    Beyond that, MacOS is all about it's own thing completely separate and distinct from all of the other Unixen. It has always been it's own thing, even before the bolted all of the visible parts onto something else.

    If you care about the Unix-y bits, you are just as likely to be completely unimpressed by the rest.

  • by http ( 589131 ) on Thursday December 26, 2013 @05:38PM (#45790595) Homepage Journal

    No. Argument ad homenium is not needed.

    It's got nothing to do with the arrogance or competence of the builders. GUIs tend to suck at automation because of the assumption that each interface, when presented, shall be manipulated by a human. This assumption is a reasonable one, and destroys automation before you start - the best you can hope for is applying the presented default after a timeout period, which makes for exceptionally slow progress. Automation that needs constant human intervention is (and I'll be kind here) not automation.

  • Re: Stop trying (Score:3, Insightful)

    by Anonymous Coward on Thursday December 26, 2013 @06:02PM (#45790837)

    There's a Chrom(e|ium) extension for a terminal emulator with SSH if that's what you mean?

  • Re:Huh, what? (Score:3, Insightful)

    by Anonymous Coward on Thursday December 26, 2013 @06:13PM (#45790925)

    I hate to break it to you, but I can ALSO write a black box executable that you can call with "connect-nacontroller ctrl1.dom.local \; get-na vol" and have it do magic shit behind the scenes. The fact that, on unix, I do not need to and can use teh tools the OS provides is the whole fucking point. This is why powershell sucks. You can only do the tasks someone else already programmed for you. Get it through your dense head.

  • Re:A step backward (Score:5, Insightful)

    by bonehead ( 6382 ) on Thursday December 26, 2013 @06:24PM (#45791017)

    Wow... Just wow...

    Expanding on your example, what was the MacOS way to set the color on 7,000 items, out of 10,000 that were in that location? Did the GUI tool that you are so certain is the "One True Way" provide an easy way to do that?

    GUIs may be great for the type of work you do, but I assure you, there is a LOT of work to be done for which GUI tools are absolutely horrible.

  • Re:Stop trying (Score:4, Insightful)

    by geminidomino ( 614729 ) on Thursday December 26, 2013 @07:33PM (#45791621) Journal

    As it ever was, grasshopper.

  • Re:Stop trying (Score:2, Insightful)

    by Anonymous Coward on Thursday December 26, 2013 @07:45PM (#45791705)

    That said, I will agree with you to the extent that having the ability to open the box when necessary makes a world of difference. But going back to TFA, that doesn't mean squat to someone who only sees pixies even when they do look inside. ;)

    That's not true. I'm a computer engineer. To me, the field of medicine or automotive repair might be about as known as gremlins slaving away. But knowing that the field of medicine is based on scientific principles, including ideally fully described and reproducible experiments and logical analysis and conclusions of those experiments, does do something for me. It enables me to better trust the field. I certainly can imagine living in some fascist regime where I have to take their medical knowledge on faith instead of on open research any sufficiently educated person could investigate, reproduce, challenge in a public forum, etc. So even for those who don't understand source code and the internals of computation, there are many of them that could benefit from knowing that the foundations of it are scientifically publicly available for inspection and debate in a free speech environment. (let's not debate reality deviating from that ideal until you agree it's a pretty decent ideal to strive for)

"Experience has proved that some people indeed know everything." -- Russell Baker

Working...