Slashdot Mirror


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

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.

606 comments

  1. Stop trying by Anonymous Coward · · Score: 5, Insightful

    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

    1. Re:Stop trying by Anonymous Coward · · Score: 0

      Holy shitty autocorrect batman. My perfectly fine first post destroyed by typos and autocorrect stupidity :(

      BitZtream

      Those who do care, will learn the power of the command line. Those who don't, will be happy with the GUI.

    2. Re:Stop trying by fisted · · Score: 3, Insightful

      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.

    3. Re:Stop trying by jones_supa · · Score: 1

      I don't see why that would be necessary.

    4. Re:Stop trying by fisted · · Score: 5, Insightful

      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.

    5. Re:Stop trying by NotSanguine · · Score: 2

      In what way exactly? I can use all the same GNU tools on Windows and OS X as you can on your enormously more cost effective Loonix box.

      There. FTFY.

      Oh, and yes that's completely true. cf. Cygnus Tools for Windows and, well, OS/X *is* UNIX.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    6. Re: Stop trying by Anonymous Coward · · Score: 0

      I'm a 38yo Windows user and .net developer. The last couple years I've gotten more and more into unix environments and cli for almost everything. The cli is great for doing complex, repetitive tasks but can be a pain for 'quickies' where a GUI comes in handy. Try commanding a hundred machines with a GUI that can not be scripted against and the suicide rate skyrockets. Both are good. Cli - so powerful and so close to the metal, it's pretty cool. Btw, I've seen at most companies, we'll all, that their Linux side of things is a freaking messy disaster. Why is that?

    7. Re:Stop trying by AJH16 · · Score: 5, Insightful

      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.

      --
      AJ Henderson
    8. Re:Stop trying by Anonymous Coward · · Score: 1

      Cygwin is an abomination.

      No, seriously.

    9. Re: Stop trying by bonehead · · Score: 3, Insightful

      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.

    10. Re:Stop trying by fisted · · Score: 5, Insightful

      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

    11. Re:Stop trying by fisted · · Score: 1

      I wasn't talking about what 'the tools do, under the hood' (dammit, typical windows speak), my point was that your operating system is a black box. dammit there isn't even source code available.

      IOW, windows experts know how to use windows, unix experts know how unix work (and therefore, due to the openness and clarity, a lot more about how their computers work).

    12. Re:Stop trying by NotSanguine · · Score: 5, Insightful

      Cygwin is an abomination.

      No, seriously.

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

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    13. Re:Stop trying by Anonymous Coward · · Score: 3, Insightful

      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.

    14. Re:Stop trying by LordLimecat · · Score: 3, Informative

      The "standard windows commandline" is now powershell, and it is wonderful in many ways despite its quirks.

    15. Re:Stop trying by danlip · · Score: 5, Insightful

      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.

    16. Re:Stop trying by LordLimecat · · Score: 3, Insightful

      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.

    17. Re:Stop trying by Runaway1956 · · Score: 4, Informative

      " well, OS/X *is* UNIX."

      Easy there, Cowboy. You don't want all these pilgrims to just drop dead of coronary arrest, do you? Break the news to them gently, please?

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    18. Re:Stop trying by Anonymous Coward · · Score: 0

      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.

      Stupid analogy. Programming for OS X or Windows is not like that at all.

      It's pretty much the same when it comes to CLI vs GUI

      Which both Windows and OS X both have. OS X has all the GNU coreutils and other CLI tools. All the same CLI tools are ported to Windows as well.

    19. Re:Stop trying by HarrySquatter · · Score: 5, Informative

      I wasn't talking about what 'the tools do, under the hood' (dammit, typical windows speak), my point was that your operating system is a black box. dammit there isn't even source code available.

      Darwin source code no longer exists? This link no longer works? In an education environment you can also get access to the NT source code. Either way, it's all irrelevant to most programmers even those on Linux.

      IOW, windows experts know how to use windows, unix experts know how unix work (and therefore, due to the openness and clarity, a lot more about how their computers work).

      So OS X is no longer Unix? No longer bundles all the Unix utilities? No longer uses POSIX?

    20. Re: Stop trying by Anonymous Coward · · Score: 0

      Because in the last 10 years, linux has exploded, and there aren't enough qualified people to run it cleanly. Saw the same thing with windows in 2000. Saw the same thing with Mac in 1992.

    21. Re:Stop trying by Desler · · Score: 0

      Exactly, fisted's comment about OS X is particularly retarded in an article about Unix. I can only hoping it was some sort of clever troll and they aren't really that fucking stupid.

    22. Re: Stop trying by Andtalath · · Score: 2

      3: Recruiting competent linux sysadmins and limiting their selection of software immensely.
      For instance, requiring that they make everything work with a web interface...

    23. Re:Stop trying by Desler · · Score: 5, Insightful

      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.

    24. Re:Stop trying by Desler · · Score: 1

      Powershell. Welcome to 7 years ago.

    25. Re: Stop trying by Anonymous Coward · · Score: 0

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

      Observer bias.

      You admit you're a Windows user and .net developer. You are unlikely to be hired into an all (or even mostly) Unix/Linux shop. Therefore you've never worked in environments where the Linux side is just fine, thank you.

      I've worked in quite a few well-run Unix/Linux shops. Typically they also use Windows for typical office desktop stuff, but where they try to use it for anything beyond that, it's the Windows side of things that is a freaking messy disaster.

      I haven't quite been using Unix longer than you've been alive, but it's close.

    26. Re:Stop trying by Anonymous Coward · · Score: 1

      "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."

      This is just childish social bigotry. Whether or not you use command line or a GUI has nothing whatsoever to do with how good of a programmer you are or are not. This is fucking ridiculous.

    27. Re:Stop trying by Anonymous Coward · · Score: 0

      Yeah! I mean, let's face it: most "programmers" only know how to use a compiler, but only real experts (like us) know how compilers work, right? Wait, that's what an idiot would think.

      At some point, abstraction lets you farm out difficult problems to people who specialize in them, so more people can focus on higher level problems. You don't need every driver to understand how a transmission works in order to get their drivers' license, and you don't need every delivery driver to understand routing algorithms to be able to drive their route.

    28. Re:Stop trying by fisted · · Score: 1

      The first statement is not true for the share of developers among the Linux or unix users, which is substantial.

      Your second statement, meh. I am a sysadmin, and quite frequently we fix bugs in open source software ourselves.

    29. Re:Stop trying by Anonymous Coward · · Score: 5, Funny

      The "standard windows commandline" is now powershell, and it is wonderful in many ways despite its quirks.

      Absolutely. Indeed, it is approaching the Bourne shell of the 1970s, almost approaching late '70s C shell.

    30. Re:Stop trying by sjames · · Score: 1

      Because there is no known GUI 'language' that is Turing complete.

    31. Re:Stop trying by fisted · · Score: 0

      OS X, despite having some unix anchestry, and using some NetBSD code here and some FreeBSD code there, can nowadays hardly be called 'unix', for it shields nearly everything behind the apple-proprietary GUI, and the whole ecosystem is tuned to "walled-garden". that contradicts unix philosophy in so many ways, therefore, no.

    32. Re:Stop trying by fisted · · Score: 2

      What? If something crashes, I sure as hell inspect the core dump(*), which usually leads me right into the source code you think nobody every looks at.

      (*)unless it's, say, the damn flash plugin, by far the most crashing program here. Those times, while bending over to take it up the ass from adobe, i'm reminded of how your proprietary world feels.

    33. Re:Stop trying by LordLimecat · · Score: 1

      I cant speak to whether there are things that bash does that Powershell does not, but I get the feeling you havent actually used powershell or understood what it can do.

    34. Re:Stop trying by sjames · · Score: 2

      GUI can sometimes be handy, but I much prefer that there be an underlying CLI available. CLI can fit through a degraded connection, a serial connection, etc. It's much easier to get someone to type the right thing than to click on the right picture of a squished bug. CLI scripts readily.

      The ideal GUI admin tool will generate the necessary CLI commands and either just run then of show them to you.

    35. Re:Stop trying by jedidiah · · Score: 1

      Powershell looks like a bunch of C programmers got let out of the asylum and were allowed to run amok. It kind of misses the point.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    36. Re:Stop trying by jedidiah · · Score: 4, Insightful

      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.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    37. Re:Stop trying by pla · · Score: 4, Insightful

      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. ;)

    38. Re: Stop trying by Wootery · · Score: 1

      Ah yes. Windows technologies aren't meant to last more than 5 years.

    39. Re:Stop trying by epyT-R · · Score: 1

      kinda.. cygwin works ok, most of the time, but usually it's more of a pain in the ass than it's worth.

    40. Re:Stop trying by epyT-R · · Score: 1

      No way. C syntax is sensible for the most part. powershell is cmd.exe run amok.

    41. Re:Stop trying by Anonymous Coward · · Score: 0

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

      Typical developer outlook. Sysadmins have always dealt with source code, and any sysadmin worth their salt knows at least two languages of any importance.

      Having the source allows us to debug misbehaving software (runnin g strace/ltrace/dtrace and compare the output to the source), it allows us to patch bugs or patch to add new features, it allows us to back-port newer software and recompile software against different library versions.

    42. Re: Stop trying by Anonymous Coward · · Score: 0

      If you mean make everything that an end user needs to do work with a web interface (as opposed to admins) this seems like a reasonable corporate goal.

    43. Re:Stop trying by DutchUncle · · Score: 2

      I know that an internal combustion engine works by exploding gas in the cylinders and pistoning the camshaft yadda yadda. This does not help at all, and is in fact a useless distraction, during the normal task of driving back and forth to work. It also does not help with the normal maintenance of checking the oil and topping off the windshield washer fluid. 90% of what 90% of programmers do similarly doesn't need the under-the-hood stuff. BTW I do embedded systems programming, where EVERYTHING matters . . . except that I'd rather use an RTOS than hand-code every single thing every single f'ing time, and concentrate my efforts on the new hardware and special control rather than the same old menu crap I've done dozens of times before.

    44. Re:Stop trying by Anonymous Coward · · Score: 0

      > say -v Alex "There's no reason to lump OS X, a POSIX-compliant OS with a full CLI, in with Windows."

    45. Re:Stop trying by epyT-R · · Score: 0

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

      It is when intractable problems crop up. Often, a quick glance at the source gives more insight into what's going on than calling vendor support, as well as saves a lot of time. Good luck getting that from microsoft even if you are a fortune 100 shop.

    46. Re:Stop trying by epyT-R · · Score: 2

      The point is, when problems do arise, you have the option to look, and often times, it's a better look than any army of vendor support drones could give you. This cannot be done with windows in typical shops.

    47. Re:Stop trying by NotSanguine · · Score: 1

      I cant speak to whether there are things that bash does that Powershell does not, but I get the feeling you havent actually used powershell or understood what it can do.

      I know you weren't responding to me with this, but I *have* used Powershell and, for what it is, it can be very useful. However, in a heterogeneous environment, having scripts (and not just shell scripts either, we're talking perl, python, ruby and a fully functional GNU dev environment) that can run unmodified on both Windows and UNIX[like] systems is extremely useful, IMHO.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    48. Re:Stop trying by epyT-R · · Score: 1

      NT kernel source under educational license != complete kernel and userland source access under any circumstance for any user.

      Apple does not grant complete source access either. It's only marginally useful assuming you can get the same revision you're actually running, and the problem lies in the part of the code they opened...

    49. Re:Stop trying by NotSanguine · · Score: 1

      Powershell looks like a bunch of C programmers got let out of the asylum and were allowed to run amok. It kind of misses the point.

      yes. Powershell can be a huge pain in the ass to use. However, for some purposes it can be usefu;.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    50. Re:Stop trying by Anonymous Coward · · Score: 0

      No way. C syntax is sensible for the most part. powershell is cmd.exe run amok.

      Care to expand on that?

    51. Re:Stop trying by Anonymous Coward · · Score: 0

      No it isn't, CMD.exe is still standard. Most people don't even know what powershell is. Don't get me wrong, powershell is pretty sweet, but it's far from the standard command line to anyone but sysadmins and Windows nerds.

    52. Re:Stop trying by NotSanguine · · Score: 1

      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.

      As I mentioned above, it's not just the shell and coreutils. Perl, python, ruby and the GNU dev (yes, I know it's very quirky) tools as well as X11 (in multiple window mode), make using Windows quite tolerable for me. Of course, using *NIX is prefereable, but you can't always get what you want, especially in corporate environments.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    53. Re:Stop trying by epyT-R · · Score: 1

      The ones having problems writing code or using programs that touch kernel services? It doesn't have to be the kernel, though. The whole userland system is open as well, which allows a sysadmin to get as detailed info as he needs to in order to solve problems. Yes, it requires a sysadmin to have some basic understanding of programming. He doesn't have to be a hotshot programmer, but just good enough to parse code, know where to look, and how to use the development tools..ie, what every sys admin should be able to do. With proprietary systems, you're stuck calling the vendor, and paying them huge sums to fix what they should've fixed before they sold you a license.

      This doesn't happen often, but when it does, having this access is a godsend.

    54. Re: Stop trying by Anonymous Coward · · Score: 3, Insightful

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

    55. Re:Stop trying by NotSanguine · · Score: 1

      There. FTFY.

      Not all of us are poor or need mommy and daddy to give us an allowance. $2000 for a computer isn't even 2 weeks of pay and I'm not even a highly paid programmer.

      Oh, and yes that's completely true. cf. Cygnus Tools [cygwin.com] for Windows and, well, OS/X *is* UNIX.

      Yes, you've actually gotten the point.

      And when you need 100 VMs? Or 1000? Mommy and daddy better have pretty deep pockets then, eh?

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    56. Re:Stop trying by Krishnoid · · Score: 1

      ...even including devs, Linux may as well run on caffeine and enslaved pixies for all we passively know about the internals.

      Aapo Veden Vaki: I think they're on to us!

      Irja Piru: We'll have to deal with that later -- we're out of Jolt, and the espresso machine's having problems again.

    57. Re:Stop trying by epyT-R · · Score: 1

      A programmer should be able to use either environment, which ever one he sees as better suited to the task. However, knowing how the black box works is essential. It's one aspect that separates the great programmers from the decent ones. Even as an end user, many times, I can tell whether a programmer understands how pointers and memory allocation works just by using his program binaries. It does make a difference.. A big one.

    58. Re:Stop trying by NotSanguine · · Score: 1

      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.

      Absolutely. As an admin, what's important to me is being able to manage the systems I'm responsible for in a sane, sensible, repeatable and documentable fashion. Depending on the situation and the platform(s) involved, that may be a CLI or it may be a GUI. Often, using a scripting environment is superior to both the CLI or the GUI.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    59. Re:Stop trying by Anonymous Coward · · Score: 3, Interesting

      I wrote a SCSI driver for OSX, because OSX specifially disallows generic SCIS access, even to root. That part of the kernel is not (or no longer) open source, so you are on your own when writing the driver, which by the way is a horrible, horrible experience with XCode and layer and layers of C++ abstraction and inheritance. Why do storage drivers panic so much on Macs (LaCie, etc, they all need custom drivers because OSX _knows_ you don't need SCSI CDBs of your own)? This is why.

      On Linux, the source is right there, you can even recompile the kernel with your own debugging in there, you can read the other drivers, you can do whatever you please, and at the end of it, you have a tidy driver, and you know why it works.

      Guess which driver has had no issues since release? One guess, and no peeking now....

    60. Re:Stop trying by NotSanguine · · Score: 1

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

      Typical developer outlook. Sysadmins have always dealt with source code, and any sysadmin worth their salt knows at least two languages of any importance. Having the source allows us to debug misbehaving software (runnin g strace/ltrace/dtrace and compare the output to the source), it allows us to patch bugs or patch to add new features, it allows us to back-port newer software and recompile software against different library versions.

      Wish I had mod points. This is spot on.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    61. Re:Stop trying by angel'o'sphere · · Score: 1

      The sourcecode of the application/program that crashed, very likely not the "linux code" ( what ever that is ment to mean)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    62. Re:Stop trying by angel'o'sphere · · Score: 1

      And I don't know anyonw who actually uses it.
      Either they write bash scripts in cygwin or batch scripts for cmd.exe.
      Heck, I don't even know how to start powershell, but well likely it is just a "powershell.exe" (but I dont want to try it anyway, as Instick with cygwin or more usually work on the host with real shells)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    63. Re:Stop trying by NotQuiteReal · · Score: 3, Funny

      destroyed by typos and autocorrect stupidity

      You see how powerful a GUI is! Good thing your typing is perfect, I am sure the command line never gives you syntax errors.

      --
      This issue is a bit more complicated than you think.
    64. Re:Stop trying by Anonymous Coward · · Score: 0

      Here's an example: you can ONLY use a GUI for stuff that's *already* been programmed for. You can't make a GUI do something that it wasn't designed for.

      On a UNIX box, you can use the command line for stuff that it was NEVER was intended for. Wanna take those files, process them in such and such way, dump them into a database, make a backup on another machine, and maintain a rolling 20 days of those on that other machine? G'luck finding a GUI for that.

      But via unix shell, you can bang that out in a few minutes if you know what you're doing...and no, this is NOT "programming"... this is mostly USING the computer to do stuff. This is what power-users are all about.

      If you have to resort to C# for something like the above, you're doing it wrong!

    65. Re:Stop trying by user32.ExitWindowsEx · · Score: 1

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

      ... allows us to patch bugs or patch to add new features....

      At that point, your job is half developer, half admin

      --
      "Evil will always triumph because good is dumb." -- Dark Helmet
    66. Re:Stop trying by mevets · · Score: 2

      Have you ever used a mac? Your great spouting of cliches suggest you havenâ(TM)t.
      OS X is UNIX(tm) - not UNIX-like, UNIX-wannabe, etc... UNIX. http://www.opengroup.org/openbrand/register/brand3602.htm/
      When did the shielding of lower layers become contradictory to UNIX philosophy?
      Why do you think it is called a shell?

    67. Re: Stop trying by Anonymous Coward · · Score: 0

      No. powers hell looks like a bunch of Windows programmers were let out of Redmond, and reimplemented Unix, poorly.

      If you don't understand why text is a very sensible lingua franca, I'd suggest that perhaps you shouldn't be writing parsers.

    68. Re:Stop trying by Yunzil · · Score: 2

      It's pretty much the same when it comes to CLI vs GUI

      OK, but sometimes the GUI is hammer (held the correct way) and CLI is a sledgehammer. Yeah, the sledge can probably drive in a small nail with one well-aimed swing. But it's really heavy, and if you get it wrong you'll flatten the nail and possibly break the thing you were trying to nail.

      Sometimes you just want to drive in a nail, not construct a railroad. The right tool for the right job.

    69. Re:Stop trying by LordLimecat · · Score: 3, Informative

      I dont disagree, but one of the reasons I love powershell is because there is so much vendor support for it. Rather than having to use crappily written vendor provided scripts, or learn a new set of syntax and instructions for everything, you can just use one set of cmdlets to manage everything. For example, managing storage units, virtual infrastructure, and networking (if you were using Cisco UCS for example) would involve a unified set of syntax and command structure (verb-noun-- GET-nacifsshare; REMOVE-cluster), with output that can easily be manipulated and passed around. Everything is an object; everything can be piped into get-member to discover its methods, properties, and data types.

      Obviously it will depend on what platform youre on; if your work involves primarily *nix boxes I imagine you would want to stick with bash. But Ive found that it is incredibly rewarding to work with powershell in a windows environment just because of how easy it is to take knowledge from one task and apply it to many others, and how easy it is to get your bearings in an unfamiliar task.

    70. Re:Stop trying by AJH16 · · Score: 2

      Windows users know how Windows works too. We may not have access to the source code details exactly, but most of the underlying structure of the system is extensively documented as to how it behaves. Symbol builds are also available for debugging purposes. True, it isn't as simple as it would be with an open source system, but you are overblowing the difference between the two. The main advantage of open source software is being able to change how something behaves rather than knowing how it behaves. It can be a pain to have to work around an issue while waiting for it to be fixed, but that has nothing to do with understanding how the system works.

      --
      AJ Henderson
    71. Re:Stop trying by AJH16 · · Score: 1

      Yeah, I can agree with that. My favorite file management utility of all time is Total Commander and I love it specifically because it is both a fantastic GUI file manager but also has a fully functional command line built right in. If something happens to be easier with a command, I use that, if it is easier with the GUI, I use that. For server administration, I also have to admit that having the option to do things through a command line is super nice, though my goal with that is still always to get a UI working so that I can recover the rest of the way more easily.

      --
      AJ Henderson
    72. Re:Stop trying by LordLimecat · · Score: 1

      Is there such a thing as a "quick glance at the source" with the Linux kernel?

    73. Re:Stop trying by TheRealDevTrash · · Score: 0

      Who cares?

      --
      I used to be /dev/trash but Slashdot no longer allows slashes for usernames.
    74. Re: Stop trying by EvanED · · Score: 2

      If you don't understand why text is a very sensible lingua franca, I'd suggest that perhaps you shouldn't be writing parsers.

      Text has a lot of positives, but it also has a lot of drawbacks. Very frequently, I want to carry out tasks that are made somewhere between 'somewhat annoying' and 'completely impossible' because of it. In some sense, what's the core principle of the Unix command line? At least according to me, it's "have lots of composible programs, each of which does exactly one thing well." Except Unix doesn't have that. ls has sorting flags despite the presence of sort. Why? Because the textual output of ls is at best poorly-suited and at worst impossible to sort by piping it to sort. So instead of having ls be good at one thing -- listing files -- and composing it with sort, you have to learn a different set of flags. And then ps comes along, and the people writing it and using it have to implement and learn yet another set of flags, because it can't be composed with sort. This sort of problems crops up all over the place, and while I'm mostly a Linux dev and so haven't really played around with Powershell, it's something I think that Powershell would be able to do way better. If Unix utilities were set up to pass around structured data instead of the same text meant for human consumption, the entire toolset becomes more Unixy, not yes. At least that's my hypothesis. (This doesn't necessarily mean you have to go as far as Powershell does in terms of passing around true objects with behavior, but I would loooove a set of Unix replacement utils that passed around, say, JSON. Actually I'm theoretically writing a set, but I haven't worked on it for a year or so. :-))

      I actually have a whole rant about this I can link later if anyone is interested.

    75. Re:Stop trying by Anonymous Coward · · Score: 0

      Yeah. Opening line in the article:

      There are now two main cultures in computing: Most computer users treat software as a tool for getting tasks done, while programmers hold conversations with their software. One big challenge when teaching programming, no matter in what language, is getting students used to a conversation-oriented programmer culture, which is very different than a tool-oriented user culture.

      It's not a hammer, it's my best friend you insensitive clod!

    76. Re:Stop trying by AJH16 · · Score: 1

      Not true. A good GUI should also support shortcuts and some level of scripting. Granted, that does start to blur the line between GUI and Command Line, but I could just as easily say you can't do something with a command line if a command line tool hasn't been written yet that can handle it. GUI and Command Line are no different in that respect though there are lots of crappy GUI interfaces that don't offer much flexibility. A good GUI interface should be just as flexible though, maybe even a bit more so since it should be easier to visualize what it is you are doing.

      As for your specific example, doing that with SSAS is trivially simple while being entirely GUI based with no programming. I only mentioned C# because two topics were touched by the GP. They touched on needing to know how things actually work for programming and command line being "lower level". I was just illustrating that if you know why and how things work, you don't have to work low level. You can work abstracted if it will get the job done quicker, but it is important to know what your abstraction will do.

      Also, sometimes a quick script or batch file is the fastest way to get something done, but not everything has to be command line based. I know a lot of command line stuff, but I still have GUI tools that I prefer for speed and simplicity. If I encounter something they can't handle then I'll either role my own or script my own depending on the complexity of my needs.

      --
      AJ Henderson
    77. Re:Stop trying by jc42 · · Score: 2

      You don't need every driver to understand how a transmission works in order to get their drivers' license, and you don't need every delivery driver to understand routing algorithms to be able to drive their route.

      You're right, of course. Except that the topic here isn't about the general population of computer users; it's about teaching maybe 1% of people to develop the software for those computers.

      With autos, it's true that 99% of us will never need to understand how a transmission or other internal subsystems work. But if you're considering a career either designing or maintaining vehicles, you'd damned well better be learning about the mechanics (and chemistry and electronics) of their internal mechanisms, or you'll never get a job in the field.

      Similarly, drivers might not need to understand routing, but the people who manage the routing system (or the computers that run the routing software) need to understand the topic, or they'll just screw it up. If you want a job developing their routing software, you'd better understand routing algorithms, or the people hiring developers will just laugh at you and toss your resume in the trash.

      Most users of computers can do what they want using just a GUI. But we're talking about the future programmers, and if they don't understand the CLI approach as well as the GUI, they'll be crippled as developers. Without understanding both levels of your gadgets' command system, any time it gets flakey, you'll be dependent on the people who do understand the internals to get it working. Either that, or you'll be sold a new gadget because your old one is "broken", although it might have been fixed in a few minutes by someone with full knowledge of how to query its internals.

      (This latter point has been important to the spread of unix/linux behind the scenes. You might be impressed to find out how many of the machines behind the Internet started life as DOS/Windows systems, and were discarded by their owners because they no longer "worked". I have two such servers myself. Free cast-off windows boxes are often quite serviceable as gateways/routers/servers when their disk is reformatted with a unix system. I run several web sites on "small, slow" machines no longer usable with Windows, but quite able to handle a million or so web requests per day and still be 90% idle. Most of these don't have a windowing system installed. Right now I have 5 Terminal windows open on this Macbook Pro that are ssh'd into 3 such servers, running OpenBSD, FreeBSD and linux on 10-year-old previously-Windows boxes. Plus one ssh'd into a server machine that was born running Ubuntu. The Macbook has a faster cpu and more memory than any of them, but at 4 years, it's nearing the end of its useful life running OS X and Darwin, and I'll have to replace it soon. Maybe I'll reincarnate it as a linux server. It's overpowered for that job. ;-)

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    78. Re:Stop trying by sjames · · Score: 1

      Because that means a CLI can express anything that can be computed (that is, that the computer can do) but the GUI can't.

      In other words, there are things the computer can do for you that you cannot request from any GUI.

    79. Re:Stop trying by Anonymous Coward · · Score: 0

      Did you actually rtfa?

      The entire point is that you can't learn to write code unless you are willing to read and write code. If you can already do that, then using a gui for a given task is irrelevant. If you can't do that, then getting off of your excel spreadsheet (it's a tool) in order to use Python (it's a language) will make you a better programmer. If you want to be a programmer, then solving your normal problems by writing your own code is really helpful. If you don't want to be a programmer, then don't, nobody cares.

    80. Re:Stop trying by Anonymous Coward · · Score: 0

      Your analogy agrees with GP. If a driver doesn't know how a transmission works, would you call them an expert driver?

    81. Re:Stop trying by Guy+Harris · · Score: 1

      Exactly, fisted's comment about OS X is particularly retarded in an article about Unix. I can only hoping it was some sort of clever troll and they aren't really that fucking stupid.

      Perhaps he meant that many developers on OS X do all their development inside Xcode and never see the command line, whereas few developers on other UN*Xes do all their development inside KDevelop or Eclipse or the Oracle Studio IDE or... and never see the command line.

    82. Re:Stop trying by LordLimecat · · Score: 2

      Its almost sad to me that so many techies are falling back into the "I dont understand it so I hate it" mentality.

      StackExchange has a pretty good explanation of the whole Powershell vs Bash thing, with the takeaway being, they have different designs and are good at different things.
      http://stackoverflow.com/questions/573623/is-powershell-ready-to-replace-my-cygwin-shell-on-windows

      There are a lot of reasons to criticize powershell (startup time for one, memory usage for another), but sadly the ones here basically amount to "I hate closed source" or "I gave it 5 minutes and I didnt like it" or "im a unix guy and see no need for it". Those may be true, but theyre not faults with powershell

    83. Re:Stop trying by Anonymous Coward · · Score: 0

      Identify the strengths and weaknesses of each application interface layer. Stop trying to force everyone to use one application interface. Ie unix.

    84. Re:Stop trying by next_ghost · · Score: 2

      Actually, there are. Turing completeness is not that hard to achieve. I've seen quite a few attempts to reinvent programming exclusively in GUI and all of them were utter failures that are painful to use for anyone who can code in a real text-based programming language. The biggest pain often comes from their single-minded focus on making insertion of new "code" trivial even for idiots and complete lack of attention to maintenance of existing code.

    85. Re:Stop trying by Anonymous Coward · · Score: 0

      What are you on about? 3 clicks, and I'm on a command line on ANY Mac box shipped in the last 10 years:

      Applications -> Utilities -> Terminal.app - you're at a bash command line.

      Want to install a bunch of standard Unix tools? You can find plenty of free / cheap stuff to install, or go right the Homebrew project and start 'brew installing' a host of utilities.

      Want an IDE? XCode & a bunch of its ancillary tools are available with a few clicks in the App Store. Or, feel free to roll your own using the Eclipse project which works as well on a Mac as it does anywhere (which is to say, not that well, but not bad for free.)

      There is literally zero barrier to entry on the Mac, and its underpinnings are ENTIRELY Unix. Trying to pretend that working on the Mac is somehow anywhere near as constrained as working on iOS is ridiculous. Get fucked, moron.

    86. Re:Stop trying by fisted · · Score: 1

      Yes. So? I'm not even a Linux user.

    87. Re:Stop trying by Guy+Harris · · Score: 1

      OS X, despite having some unix anchestry, and using some NetBSD code here and some FreeBSD code there, can nowadays hardly be called 'unix', for it shields nearly everything behind the apple-proprietary GUI

      What are some examples of this that differ from, say, Ubuntu or Fedora shielding things behind a GUI? (If the key is "proprietary", note that, prior to the free desktop environments that run atop X11, several UN*Xes offered proprietary GUIs.)

    88. Re:Stop trying by geminidomino · · Score: 1

      Your point is valid, but to be fair, this is a CS professor saying this. At the point that you're studying CS in college, I don't think it's unreasonable that you're expected to hit a command line.

    89. Re:Stop trying by bjwest · · Score: 1

      It would be more accurate to say it was destroyed by neglecting to proofread in your desire to get a first post.

      --

      --- Keep the choice with the user..
    90. Re:Stop trying by fisted · · Score: 1

      Yes, the keyword is proprietary, another keyword is 'optional', and the time of proprietary UNIX GUIs is only of historical interest, probably even predates the free software movement as we know it now.
      So i really don't see your point here.
      Also, you completely ignored the 'walled garden' argument.

    91. Re:Stop trying by fisted · · Score: 1

      IOW, they predate not only X, but also W.

    92. Re:Stop trying by geminidomino · · Score: 3, Insightful

      As it ever was, grasshopper.

    93. Re:Stop trying by Anonymous Coward · · Score: 2, Insightful

      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)

    94. Re:Stop trying by Guy+Harris · · Score: 1

      Yes, the keyword is proprietary

      So the issue isn't the shielding per se.

      And what stuff is shielded in such a way as to make it inaccessible from the command line (i.e., that can't be manipulated with scutil/scselect, defaults, etc.)?

    95. Re:Stop trying by Anonymous Coward · · Score: 0

      I do, and I'm not a particularly special case.

      Your experience != everyone else's

    96. Re:Stop trying by fisted · · Score: 1

      Yes. Especially when compiled with debugging symbols, and a call stack points you right at the line where it crashed.

      That being said, this isn't at all only about the Linux kernel.

    97. Re:Stop trying by NotSanguine · · Score: 1

      I dont disagree, but one of the reasons I love powershell is because there is so much vendor support for it. Rather than having to use crappily written vendor provided scripts, or learn a new set of syntax and instructions for everything, you can just use one set of cmdlets to manage everything. For example, managing storage units, virtual infrastructure, and networking (if you were using Cisco UCS for example) would involve a unified set of syntax and command structure (verb-noun-- GET-nacifsshare; REMOVE-cluster), with output that can easily be manipulated and passed around. Everything is an object; everything can be piped into get-member to discover its methods, properties, and data types.

      Obviously it will depend on what platform youre on; if your work involves primarily *nix boxes I imagine you would want to stick with bash. But Ive found that it is incredibly rewarding to work with powershell in a windows environment just because of how easy it is to take knowledge from one task and apply it to many others, and how easy it is to get your bearings in an unfamiliar task.

      I know. I've used Powershell for a variety of vendors and it can be quite nice. However, if it's not just proprietary vendors stuff or just UNIX/Linux boxes or just Windows boxes, using Perl or Python scripts (written or at least customized by me, of course) can be the best way to manage across platforms. As far as just a general command-line goes, BASH kicks Powershell's ass every day of the week and twice on Sundays IMHO.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    98. Re:Stop trying by fisted · · Score: 1

      Windows users know how Windows works too.

      Sure. Especially Granny.

      By definition you can't find out how a black box works, and being a black box clearly is the design goal of Windows, otherwise it wouldn't ship without source.
      OTOH, if you /can/ point me to official documentation which explains fundamental design concepts of windows - I will stand corrected.

    99. Re:Stop trying by marcosdumay · · Score: 1

      I hate closed source

      Nope, that's not hate. it's enlightenment. Depending on closed source software is a liability in so many ways that people don't even care to enumerate, they just don't depend on it.

      And sorry, but I'm not taking the time to learn another closed enviroment for administrating Windows. If cmd.exe (that I learned in other times) is not powerull enough, I'll use some open source alternative (likely cygwin).

      If somebody creates an open source powershell-like environment, I may take the time to learn it. If it runs on Linux, I'll quite likely do so. By the way, the fact that nobody did that in those years that powershell is out is evidence that it's not really as good as you claim it to be.

    100. Re:Stop trying by fisted · · Score: 1

      On the flip side, i know how my clutch works, and that helps me a lot. For instance, i have a buddy who used to clutch in pretty hard, making every gear shift pretty uncomfortable. When i asked him why the hell he does that, his response was "to get the gears together fast, reducing wear and stuff, yaknow?".
      I explained how a clutch works, that it's rather disks being pushed together, not gears.

      He understood, and stopped ruining his transmission as a result.

      Speaking of transmission - knowing how it works makes it last longer, too.

    101. Re:Stop trying by fisted · · Score: 1

      Often, using a scripting environment is superior to both the CLI or the GUI.

      Wow...just..wow. This is probably the dumbest comment I have ever read. Need I explain why?

    102. Re:Stop trying by fisted · · Score: 1

      Not true. A good GUI should also support shortcuts and some level of scripting.

      Which doesn't enable it to do things it was originally not supposed to do.

      but I could just as easily say you can't do something with a command line if a command line tool hasn't been written yet that can handle it.

      No, because it's in the combination of general-purpose tools. Did you even read the post you're replying to. Go learn some unix.

    103. Re:Stop trying by NotSanguine · · Score: 2

      Its almost sad to me that so many techies are falling back into the "I dont understand it so I hate it" mentality.

      StackExchange has a pretty good explanation of the whole Powershell vs Bash thing, with the takeaway being, they have different designs and are good at different things. http://stackoverflow.com/questions/573623/is-powershell-ready-to-replace-my-cygwin-shell-on-windows

      There are a lot of reasons to criticize powershell (startup time for one, memory usage for another), but sadly the ones here basically amount to "I hate closed source" or "I gave it 5 minutes and I didnt like it" or "im a unix guy and see no need for it". Those may be true, but theyre not faults with powershell

      Let me clarify my point from a few replies ago. As an admin, it's not about BASH vs. Powershell, it's about having tools I can use across multiple platforms *without modification*.

      If I have to write Powershell scripts to accomplish something on Windows and then Perl or Python scripts to accomplish *the same thing* on UNIX/Linux, I'm duplicating effort in creating and maintaining those scripts.

      Us admins hate duplicating work. We like to do things in a way that takes the least effort to do the job correctly. Any kind of "religious war" about this is stupid.

      I don't have time to worry about which tool is "cooler" than another. I have real work to do.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    104. Re: Stop trying by fisted · · Score: 2

      ls has only sort flags because you might sort on internal values (say, timestamps), which are made human-readable before output.

      that being said, sort can sort on arbitrary colums (-k)
      Your point is moot.

    105. Re:Stop trying by Anonymous Coward · · Score: 0

      We dont want want them. Bloody kids raised on Harry potter!
      They aint real Wizards!

        THEY SHALL NOT PASS MUSTER !!!

    106. Re:Stop trying by fisted · · Score: 1

      Stupid analogy. Programming for OS X or Windows is not like that at all.

      Can't really tell for OSX, but for Windows it clearly is exactly like that. At all.

    107. Re:Stop trying by NotSanguine · · Score: 1

      Often, using a scripting environment is superior to both the CLI or the GUI.

      Wow...just..wow. This is probably the dumbest comment I have ever read. Need I explain why?

      Probably not. After all, "'Tis better to remain silent and be thought a fool..." and all that.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    108. Re:Stop trying by fisted · · Score: 1

      Sure. That's what users who are strictly users do, and it's okay that way, let them use their GUIs. This is about developers, though...

    109. Re:Stop trying by LordLimecat · · Score: 1

      Thats a fair response; my point is that youre basically saying youre a unix guy or youre in a mixed environment. If you were in a mostly homogenous Windows + infrastructure environment, powershell would almost certainly be a better tool.

      With the environment Im in, I learned powershell just to simplify daily tasks. Ive become familiar with it over the last year or so, and while ive often wondered whether I should take the time to learn Perl or python, there would be basically no benefit here other than personal learning (and thats generally not sufficient for me to really learn something).

      What we're both really saying is, use the right tool for the right job.

    110. Re:Stop trying by NotSanguine · · Score: 1

      What we're both really saying is, use the right tool for the right job.

      Amen, Brother!

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    111. Re:Stop trying by Anonymous Coward · · Score: 0

      ...just like I doubt too many of you guys know how to milk a cow...

      Pinch if off at the top. Then gently squeeze towards the bottom. What? You never had your hand on a teat before?

    112. Re:Stop trying by dbIII · · Score: 1

      Absolutely. Indeed, it is approaching the Bourne shell of the 1970s, almost approaching late '70s C shell.

      Seriously? It's really that good now?
      I've got some old books here on csh and you can get a hell of a lot more done in it than I would expect to be able to do in an MS shell. It actually is as good as bash for a lot of tasks, just different.

    113. Re:Stop trying by dbIII · · Score: 1

      In 2001 I had the enlightenment window manager on the screen of a Win2k machine using cygwin, which freaked a few co-workers out. Of course it was running remotely from a linux box to cygwin's X but the important thing was to have a more usable environment where I could see it. It didn't do shaped windows (they came up as rectangles) but I wasn't doing it for the looks.

    114. Re:Stop trying by dbIII · · Score: 1

      It depends on what you want to do. If there is no GUI tool to make a small change to hundreds of files and that's what you have to do then the GUI way of doing it one at a time sucks.
      If someone has sorted out your workflow for you so it can be done well entirely by pointing at pictures then you don't need to be able to write.

    115. Re: Stop trying by Anonymous Coward · · Score: 0

      Says the guy who doesn't use a Mac.

      My Mac ... Actually runs a certified UNIX. Your little desktop running a knock off of a clone of UNIX can't say the same so why don't you drop the ignorant holier than thou attitude and get a clue before you make such stupid statements, mmmmkay?

      BitZtream

    116. Re:Stop trying by grcumb · · Score: 3, Informative

      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.

      No, actually, that's a horrible analogy.

      If we must analogize, Linux is deep water. Almost infinitely deep. So deep, in fact, that few choose to plumb it all the way down. But it remains visible and accessible to the level of every sysadmin or developer's needs. The fact that most people prefer to skim along the surface takes nothing away from the volume of information waiting to be explored.

      And now, because I'm forced to indulge in silly analogies, I find myself compelled to say that Windows is a swimming pool. A large one, it's true, and a crowded one, too. But you cannot easily move beyond its (broad) confines, you have no insight into where the water comes and goes (a topic which increasingly preoccupies my thoughts as I consider the statistical likelihood of people pissing in the pool), and you have little control even over your own course as you are buffeted and blocked by the arbitrary actions of others.

      Finally, to get things back on a more practical level, PowerShell may do wonderful things, but the thing that makes Bash so compelling is the environment it runs in. Bash itself is a bit awkward and limited, but it's just glue for binding together countless ingenious (and sometimes even elegant) commands and utilities that can allow you to do things in minutes you couldn't really contemplate doing on Windows in comparable time. In fact, the only way that Windows seems to be able to compete with *nix on the server side is by appropriating the very things that make *nix so compelling.

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    117. Re: Stop trying by Guy+Harris · · Score: 1

      If Unix utilities were set up to pass around structured data instead of the same text meant for human consumption, the entire toolset becomes more Unixy, not yes.

      Somebody had an idea like that a while ago.

    118. Re:Stop trying by Anonymous Coward · · Score: 0

      First off, my Mac ... on Apple hardware ... is a certified UNIX. You're trolling me while probably running a half assed copy of a UNIX clone written in some guys spare time for fun, so climb off your high horse and pull your head out of your ass. As Apple guys ARE RUNNING UNIX, YOU AREN'T. Ya fucking tool.

      Second ... You do realize that all those Apple people use the EXACT same tools you do, well, except we have a better compiler ... ironically, the Windows guys also have a better compiler and tool chain in almost every conceivable way ... except 'ZOMGOPENSOURES!$!@#^!'.

      So ... you're too ignorant to know Apple is selling a real unix while you're using a pretend UNIX clone, and you're too stupid to know that your development tools are some of the worst on the planet. Microsoft's compiler is faster in both terms of code compile times AND better optimizations.

      You really have nothing to be proud of when comparing these things to Apple and Microsoft you ignorant twit.

      BitZtream

    119. Re:Stop trying by Guy+Harris · · Score: 1

      IOW, they predate not only X, but also W.

      CDE doesn't predate X, for obvious reasons.

    120. Re:Stop trying by Anonymous Coward · · Score: 0

      You really are ignorant.

      $10 says I've read/seen more of the Windows kernel source code than you have read of the Linux kernel source. On that same note, another $10 says I've seem 100 times more of the Linux and/or (take your pick, I'll beat you either way) FreeBSD kernels than you have.

      Its not all that difficult to see the Windows kernel source, so the black box isn't really all that black. Same is true for OSX. Of course, you would know that if you'd ever done any actual kernel development, wouldn't you?

      Let me tell you exactly how many times I've given a flying fuck about kernel source ... when I wasn't writing a device driver .... 0.

      If you weren't so ignorant and had half the clue you try to act like you have, you'd know that having the kernel source and it being useful or helpful are 2 entirely different things that may not be at all related.

      You are demonstrating your complete ignorance of real world development, and just calling 'the WINAPI' horrible shows your utter ignorance. Thats roughly the same as calling the LINUXAPI horrible, in that it makes no sense.

    121. Re: Stop trying by EvanED · · Score: 1

      that being said, sort can sort on arbitrary colums (-k)
      Your point is moot.

      It's amazing how you basically agreed with half of my exact point -- that utilities have internal representations that they have to force into a human-readable format even when that makes consumption by downstream utilities problematic or impossible -- and still say that I'm wrong.

    122. Re: Stop trying by EvanED · · Score: 1

      I'm not surprised, and thanks for the link. (Although god is it hard to read.) It's really interesting how old it is. I also have some things I'd really like to see the terminal emulator do (I think restricting ourselves to an N x M block of monospaced characters doesn't make sense any more and we can do a lot better) that are in sort of the same spirit as what he suggests, and there are a number of neat projects along that line as well, but all of the other projects that I know of are recent in comparison.

      I also disagree with XML as the interchange format; I think it's too heavyweight, and I think it's still important that the output be consumable by other tools and still be somewhat more human-readable than XML is, even if it's not as ideal raw as current command output is. Like I said, I think JSON strikes a better balance, as much as there are a couple things I don't like about it and as superficially resistant to it from a buzzword standpoint. :-)

    123. Re: Stop trying by fisted · · Score: 1

      No, I don't agree with your moot point. And no, the utilities don't have internal representations blah, bleh. The internal representation of, say, a file creation timestamp is stored in the filesystem. ls is being nice and makes it human-readable, but that's about it.

    124. Re:Stop trying by pnutjam · · Score: 1

      My problem with powershell is the poor documentation built into it. The commands are ridiculously long and there doesn't appear to be an easy way to figure out the proper names for things you want to manipulate.

    125. Re: Stop trying by Guy+Harris · · Score: 1

      Like I said, I think JSON strikes a better balance, as much as there are a couple things I don't like about it and as superficially resistant to it from a buzzword standpoint. :-)

      Too buzzword-compliant, or not buzzword-compliant enough? (XML is probably Grade A when it comes to buzzword compliance.)

    126. Re:Stop trying by Anonymous Coward · · Score: 0

      For trivial things, a gui can be acceptable. Beyond the trivial, it is a horrible idea.

      Say you have an application with a gui only interface, and you need to make 30 configuration changes at various levels in the gui.

      Another application that does the same thing has a text file configuration.

      You get both working well.

      Now, you want to replicate that configuration.

      Seconds later, the text file version is ready to go. Hours later, you are still clicking around menus with two screens side-by-side, trying to find the setting you must have missed since the second gui instance still won't work.

      Another example:

      You have both a text and a gui application that has been humming along for years, but there was a recent change. For the text application, its configuration was stored in svn, git, etc., and you can within seconds, see what the recent change was that broke things. With the gui app ::shrug:: nope, no idea... still no idea.

      So, while I agree with the original article that guis are an impediment to getting things done efficiently, and the above makes that point as well. GUI configured applications are also completely unmaintainable. The only folks promoting gui as a good way to configure complex applications are, frankly, clueless (yes, there are a lot of these folks).

    127. Re:Stop trying by Anonymous Coward · · Score: 0

      Yes you are. The vast majority of application developers never go beyond the abstraction level of their toolkit.

    128. Re:Stop trying by AJH16 · · Score: 1

      Did you ever learn a good GUI interface? It supports stringing together the same kinds of general purpose tools as the command line. I'm not questioning the power of the command line, I'm saying that a good GUI can do the vast majority, if not all, the stuff that can be done with a command line if you know all the tricks of how to best use it. There are a few things command lines do better and there are a few things GUIs do better, but one isn't inherently better than the other. They are both tool sets.

      --
      AJ Henderson
    129. Re:Stop trying by Anonymous Coward · · Score: 0

      If you need that then clearly you'd be buying a couple of servers not a consumer desktop.

    130. Re:Stop trying by AJH16 · · Score: 1

      This is bad GUI design. A good GUI should allow you to hit one button to export those settings and another one button to import them. It should also save out to almost an identical file to what the Command Line tool did.

      --
      AJ Henderson
    131. Re:Stop trying by Billly+Gates · · Score: 1

      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.

      Even in Visual Basic you need to learn repetition structures, choice structures like else/if, and calling another library and using all its methods cough procedures from that class namespace etc.

      You can't program with a mouse.

      So I disagree. Unix is from a different time frame which is useful if everything is a text file and you need to manipulate text files and pipe arguments all back and forth with thousands of commands that glue it together. How sweet.

      These days we use SQL and Google to gain information. Windows 7 includes instant search and MacOSX has something similar. Everything is object based today and unless you have a system that relies on text files and pipes it is baraquise on non Unix systems.

      W3C HTML 5 and CSS 3 is what the new rage is today with SQL. I look at Unix as solving something from a different era. Today it is server based because of its apps and is not needed at all for even developers unless they do automation or something.

    132. Re: Stop trying by EvanED · · Score: 1

      XML is definitely more buzzword-compliant, but that doesn't mean JSON doesn't have a smaller case of the same problem. :-)

      But I couldn't think of any other serialized format that seems better on balance.

    133. Re:Stop trying by fisted · · Score: 1

      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.

      Even in Visual Basic you need to learn repetition structures, choice structures like else/if, and calling another library and using all its methods cough procedures from that class namespace etc.

      You can't program with a mouse.

      Actually, most of the coding in VB /does/ happen with the mouse - when you click together the GUI - the evil source of which is hidden from you, however. Ridiculous.

      So I disagree. Unix is from a different time frame which is useful if everything is a text file and you need to manipulate text files and pipe arguments all back and forth with thousands of commands that glue it together. How sweet.

      These days we use SQL and Google to gain information.

      Haha oh my god you

      Windows 7 includes instant search

      can't be

      and MacOSX has something similar.

      serious!

      Everything is object based today

      Is it? what does that even mean, 'object based'. As in, everything in /your/ world is encapsulated into some proprietary binary format which only one special and soon-to-be-obsolete program can decode? Thanks, but no thanks. I rather stick with text files.

      and unless you have a system that relies on text files and pipes it is baraquise on non Unix systems.

      Big surprise, since those platforms apparently consider text files evil (read: no vendor lock-in, bad bad bad)

      W3C HTML 5 and CSS 3 is what the new rage is today with SQL.

      You seem to be one confused individual.

      I look at Unix as solving something from a different era.

      I look at windows as - oh wait, i don't look at windows at all.

      Today it is server based because of its apps and is not needed at all for even developers unless they do automation or something.

      What a rare case that a developer needs automation. /facepalm

    134. Re:Stop trying by fisted · · Score: 1

      No, I'm not aware of such a "general purpose" GUI, which would let me do the vast majority of things I can do on the CLI. Sounds interesting, though, care to drop a name?
      So far my GUI experience was, even after learning a GUI completely, I still was kind of limited to only things which make sense in the application domain of that particular piece of software.
      Want to do other stuff? Different program, different GUI, start from zero.

      So it seems like i have the choice between learning every existing GUI completely, or learn one CLI. I think i know what i choose here.

    135. Re:Stop trying by Nivag064 · · Score: 1

      If you have command line tools, then you can write a script to document and automate the process. You can not do this with GUI tools!

      If you have a sequence of instructions in a script, it is easy to debug, and once you've got it right you simply execute the script. With a GUI you have to remember to do the actions correctly and in the appropriate order each & every time, and you have a far higher chance of making a mistake.

      I have a bash script (I wrote the first version over 10 years ago) that installs the Wildfly Java Enterprise Application Server in the directory of my choice and converts it from using an in memory database to using PostgreSQL (amongst several other actions). The script runs in a second or so, to do this manually would take me several minutes with several different GUI tools. The script locates all the files that need changing, and locates & changes the relevant text in each such file. Over the last few months I've sometimes ran this script several times a day.

      Command line tools are also easier to document that GUI tools.

    136. Re: Stop trying by EvanED · · Score: 1

      You said "ls has only sort flags because you might sort on internal values (say, timestamps), which are made human-readable before output" [emphasis mine].

      Why does ls need to know how to sort? Because the output isn't sortable. It doesn't matter that sort can sort by column, because the information isn't there.

    137. Re:Stop trying by sirlark · · Score: 1

      Yes, different tool for different jobs, but presumably you expect your plumber to know how use his tools effectively and productively. Same for your electrician, car mechanic, etc. Also, you expect these guys to be able to do basic diagnostics and repairs on their own tools. Why then do you think it's okay for your local government admin clerk, or bank cashier, or receptionist to be able to competently use their tools, i.e. computers. Sure, they only need to know how to use MS Word, how to connect to the network, the internet, the filesystem, excel, how to burn a CD/DVD, ... wow, actually there's quite a bit to know. So much so it takes some time to learn it all. If you don't know all of it then you are not qualified to do your job. Yes, not everyone needs to know the command line, but everyone who uses a computer professionally does need some basic admin skills.

    138. Re:Stop trying by king+neckbeard · · Score: 1

      You are assuming that there is no benefit in going beyond the scope of your duty. If you work at a level beyond what you need to get your project done, you might have more 'breathing room', as it were, and be able to write better code.

      --
      This is my signature. There are many like it, but this one is mine.
    139. Re: Stop trying by EvanED · · Score: 1

      (I guess I should say: or the information is there at least to coarsely sort, but not in a format that sort can deal with. Take the output of ls -l; recent files are shown with something like "Dec 3 08:15", while older ones are shown with something like "Sep 13 2012". Show me the sort flag that will put those in the proper order. Hell, show me the sort flag that will put "Aug 13" and "May 13" in the proper order.)

    140. Re: Stop trying by EvanED · · Score: 1

      (OK, one more comment. "Aug 13" and "May 13" can be done. But what about "Aug 13 2012", "May 13, 2011", and "Sep 13, 2013"? You can do it with multiple iterations of sort, but now you're really turning the task into a PITA.)

    141. Re: Stop trying by fisted · · Score: 1

      Well, show me how to tackle the issue in, say, windows "power"shell, i guess. I have a hard time following your argument (and your follow-up posts).

    142. Re:Stop trying by Anonymous Coward · · Score: 0

      Nice post

    143. Re: Stop trying by fisted · · Score: 1

      the long listing of ls is intended to be consumed by humans. if you only care about the filenames, there's just ls, for all other stats there's stat(1)

    144. Re:Stop trying by ShoulderOfOrion · · Score: 1

      You are, of course, correct, but you fail at the human element. I've been using command lines since the early 1980s, and I've been around programmers long enough to know their limitations. Like a hammer, they're a powerful tool when used correctly. Like a hammer, it's a weapon of destruction when used in the wrong hands. Where your argument fails is when you make the assumption that some programmers, after they see the proper use of a hammer for coding, will follow suit and start hammering out great code. Wrong. All you've given them is a weapon of destruction. These are the same folks who will erase days of work with one misplaced asterisk as they don't back-up (or check-in) often either, among a number of other grievous habits...and all of these bad habits are amplified with this new way of hitting code. The good programmers have already heard of hammers, have googled how to use them, and know when (and when not) to use them. The others are best left to their GUIs as the resulting carnage is less severe.

    145. Re:Stop trying by gl4ss · · Score: 1

      sure there is.

      but it's shit, duh, and unless there's some text in there the numbers end up being displayed as blobs.

      hieroglyphs suck ass because they're harder to read than a good text is...

      --
      world was created 5 seconds before this post as it is.
    146. Re:Stop trying by ShoulderOfOrion · · Score: 1

      I also program on embedded Linux OS's, and I follow your philosophy. However, on those occasions when my vehicle stopped on the road, knowing that 'fuel, air and spark at the right time in the right proportion' is the key has always gotten me home. Admittedly, that happened much more often with my '67 Camaro and 650 Triumph than my modern vehicles. Fortunately modern cars are more reliable, as your only option today is to call for help because the odds of a problem being in some seriously overpriced proprietary POS computer module is approaching 100%.

      As for the knowledge being a useless distraction during a normal commute, well, I had a co-worker once whose car caught on fire and burned up (after she'd coasted to a stop on the side of the road and gotten out fortunately) because she didn't have any clue what the red 'Oil Pressure' light that had been illuminated for the preceding five minutes of her commute meant. I admit, I smile and laugh a little inside when I see out-of-the-area folks head off down dirt roads around here because their smartphone app told them it was a shortcut. Different era. Different tools. Same human foibles. Same results.

      GUIs and command lines are the same principle. Sure, use what works best for you at the moment, but make sure you understand and have access to the other when necessary and appropriate. Otherwise, your cluelessness will leave you stranded someday.

    147. Re:Stop trying by Anonymous Coward · · Score: 0

      Try developing using Qt on Windows, and then move to Linux. You need to fix tons of things that work differently. Then try Qt on OSX, and you realise things are even more different there. The event queues work very differently... Sure, Qt abstracts a lot of things away, but programmers still need to consider OS-specific quirks.

    148. Re:Stop trying by LordLimecat · · Score: 1

      There are several good tools, but after about 1 week with it everything will click. The naming convention makes it pretty easy to figure out what command you need, and the built in help tools are quite good.

      Generally its "verb-noun" for commands: GET-vm, REMOVE-childitem, SET-naoption, etc. To figure out what command you need, get-command works. It lets you specify what module / namespace you want a listing for too, so it believe "get-command vmware.*" would show all vmware cmdlets currently loaded.

      In terms of discovering methods and properties of objects, you can use get-member. For instance:
      $Printers = get-wmiobject Win32_Printer
      $Printers | get-member
      will show you all of the methods that a WMI printer object has, such as delete() or put(), and all of the properties such as name and drivername.

      Ive actually found the documentation to be quite good, with extensive examples and different levels of help, ie "Get-Help get-childitem -examples" or "Get-Help get-member -full". MSDN has full documentation on all available types, methods, APIs, etc that you might encounter, as well.

      Once you wrap your head around how they do things, its actually pretty easy; if Im working with NetApp and I know they prefix their commands with "NA", and I want information on snaplocks, I can guess that the command to get info on snaplocks is "Get-NASnaplock".

    149. Re:Stop trying by Anonymous Coward · · Score: 0

      That's mostly the fault of the $hitty NT kernel: Just traversing a file system tree takes about 100 times longer on NT than on Unix. Or spawing processes - also takes 10 times longer than on Unix. That kills performance of Unix scripts which expect spawning processes to be a cheap operation.

      E.g. $find . -name "*docx"|xargs -n1 processOneDoc.sh

      Windows simply is a crippled O$; solely developed with the objective of milking people for dollar$. You cannot see any love being put into this product, it is always "good enough", but never "excellent".
      There is a ton of money behind Windows and that will continue to attract all the suckers until it becomes clear even to them that eventually superior technology (made with love for the product and not just love for $$$) will succeed. Look at Android and see it happening.

    150. Re:Stop trying by Anonymous Coward · · Score: 0

      For system operations (copying files in a precise manner, doing reports on files and other things), bash and the Unix tools (find, wc, grep) simply rule. Windows is deeply inferior there.
      But when it comes to IDEs, I can see that Visual Studio is better than almost any other IDE. So I use cygwin, SVN and VS together. And sure as hell I won't touch the Toxic $hite called Visual Source Safe. This crapola destroys source code.

      And of course I hate the monopoli$tic $hite that Microsoft wants to pull every other day. I hate them $hoving Ribbon and Single-Window-OS down the throats of users. They actually destroy their most valuable technologies and people (especially in Server and Tools) in their mindless quest for $$$.

    151. Re:Stop trying by mpe · · Score: 1

      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.

      Interestingly Windows now has a CLI, in the form of "PowerShell". Though AFAIK there isn't, yet, the equivalent of SSH for Windows. There are also some things in Windows you can't alter via a GUI anyway.

    152. Re:Stop trying by mpe · · Score: 1

      It is when intractable problems crop up. Often, a quick glance at the source gives more insight into what's going on than calling vendor support, as well as saves a lot of time.

      Very often vendor "support" can have little or no access to the actual code (or anyone who had any part in writing it). They may have bought the product/company afterwards or subcontracted the development. That's before even considering that they may only provide "user support" which can be of little use if you actually need "sysadmin support" (but don't actually use the program at all.)

    153. Re:Stop trying by mpe · · Score: 1

      Having the source allows us to debug misbehaving software (runnin g strace/ltrace/dtrace and compare the output to the source), it allows us to patch bugs or patch to add new features, it allows us to back-port newer software and recompile software against different library versions.

      Many of these can potentially go against a vendors interests. Since then it's you rather than them (or their marketing department) decide what is a "bug" and what is a "feature". Also they may want to be able to sell you new versions of the software. Regardless of if the older version better fits the needs of you and/or your users.

    154. Re:Stop trying by Anonymous Coward · · Score: 0

      Unless you design chips for AMD or Intel*, the computer is always a "black box" with more or less well defined behaviour. The question is just at what level you interact with it.

      * and underlying their work is the material physics of the fab guys, and then there are research scientists at university, and then we don't really understand how stuff works.

    155. Re: Stop trying by Anonymous Coward · · Score: 0

      No, powershell wouldn't be the right tool even in a windows-only environment because by sticking to it you are locking yourself to a single vendor, which is a wrong thing to do all by itself.

    156. Re: Stop trying by Anonymous Coward · · Score: 0

      Why does ls need to know how to sort? Because the output isn't sortable.

      It can be sortable. E.g.
      ls --full-time
      gives the date/time in this format:
      2011-10-22 12:46:53.000000000
      which is human-readable and sortable

    157. Re:Stop trying by fisted · · Score: 1

      after they see the proper use of a hammer for coding, will follow suit and start hammering out great code.

      No, that's not what I was saying, or implying.
      My point was, seeing proper use of the hammer makes them start realize there's something wrong with their workflow, which gives incentive for improving things for all but the toughest cases of Dunning-Kruger.

      It frees their mind (and software;)), the rest is up to them.

    158. Re: Stop trying by Anonymous Coward · · Score: 0

      Well that's GNU. I.e. not unix.

    159. Re:Stop trying by fisted · · Score: 0

      So your argument basically is 'but mine is larger than yours', that somehow an OS consists of nothing but the kernel, and that i must be a linux zealot. Funny that you call me ignorant while coming up with that utter bullshit.

      FWIW, I'm a BSD person and I'm pretty sure you owe me $20. You could win a bet by claiming you'd seen more windows source than i have, but then again, that's probably nothing to brag about.

    160. Re:Stop trying by fisted · · Score: 1

      following your argument, everything is a black box, except for theoretical physicists maybe. You clearly haven't understood the concept.

    161. Re:Stop trying by fisted · · Score: 1

      Apparently, I have to. But it's a quick one:
      A CLI typically is a 'scripting environment', especially the unix CLI which is what TFA is about.
      So your statement really says that using the CLI is superior to using the CLI, or the GUI.

    162. Re:Stop trying by AJH16 · · Score: 1

      There is an SSH server for Windows, though it is pretty limited. Do note that I'm not saying a CLI doesn't have any use either. For some things they are still the best way to do things, but the importance of knowing them very strongly is not nearly the same as it was before the advent of modern, powerful, well designed GUI controls.

      --
      AJ Henderson
    163. Re:Stop trying by assertation · · Score: 1

      I'm a developer and I started off in a CLI environment before GUIs made it big.

      I still use a few commands in the CLI.

      I tried getting into it more, but like the person you replied to stated, unless you are sysamin, much of the CLI is not very useful to you.

    164. Re:Stop trying by Anonymous Coward · · Score: 0

      Powershell ISE is completely broken to me. Trying to use powershell from the cmd prompt ends up being not much better than cmd.exe.

    165. Re:Stop trying by bonehead · · Score: 1

      At that point, your job is half developer, half admin

      Every *good* admin I know would be perfectly competent working as a developer. Often even more so that those whose actual job title is "developer".

      (There are plenty of incredibly talented developers out there. The above comment is not directed at them.)

    166. Re: Stop trying by Anonymous Coward · · Score: 0

      The reason that anything that comes out of One Microsoft Way is irrelevant is quite simple: there are scores of Windows sources because of the insanity associated with the developers who actually think the next windows source will be the one that defeats UNIX once and for all. The reason for the plethora of Win sources is that, aggregate or singular, not a one of them has the legs UNIX does to stand alone.

    167. Re: Stop trying by DeathToThePatriarchy · · Score: 1

      Or by hiring a bunch of self-taught coders who do not understand the concepts of testing and stability. The other problem with getting folk to the *nix side is the sysadmins and others one will meet there.

    168. Re: Stop trying by The-Ixian · · Score: 1

      I am sure there are lots of reasons.
       
      I believe that some of the problem is that it takes a team of vastly experienced *nix admins to cobble together all the appropriate software projects AND make them work seamlessly together to do things that are fairly natural on the Windows side.
       
      I am thinking of things like deployment tools, central authentication and SSO systems, backup / restore systems, roaming profiles with automounts, file system quotas and ACLs, etc etc.
       
      Obviously, all these things are quite possible but it takes a team of very experienced people to pull all this stuff together. Whereas on the MS side, a single moderately experienced Windows admin can pull this stuff together relatively easily for even a medium sized business.

      --
      My eyes reflect the stars and a smile lights up my face.
    169. Re: Stop trying by Anonymous Coward · · Score: 0

      Sure heh. right :p

    170. Re:Stop trying by Byrel · · Score: 1

      Labview. It's evil and not fun, but turing complete, used by thousands of people, and regrettably graphical.

    171. Re:Stop trying by NotSanguine · · Score: 1

      Apparently, I have to. But it's a quick one: A CLI typically is a 'scripting environment', especially the unix CLI which is what TFA is about. So your statement really says that using the CLI is superior to using the CLI, or the GUI.

      Yes, you can write shell scripts. However, I was referring to things like Perl or Python as scripting environments. They not only provide powerful tools, they can also be used in cross-platform environments and, depending on the functions involved, run unmodified. That's why scripting environments like Perl, Python and Ruby are *often* (note I don't say always) superior to the CLI or GUI.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    172. Re:Stop trying by sjames · · Score: 1

      Labview HAS a GUI but is not itself a GUI.

    173. Re:Stop trying by fisted · · Score: 0

      Oh, right, because python, perl or ruby scripts totally don't need a python, perl or ruby interpreter/runtime to run.
      There is no difference between that, and, say, posix shell.
      Brain. Do you use it?

    174. Re:Stop trying by NotSanguine · · Score: 1

      Oh, right, because python, perl or ruby scripts totally don't need a python, perl or ruby interpreter/runtime to run. There is no difference between that, and, say, posix shell. Brain. Do you use it?

      Please. Perl/Python/Ruby are many times more powerful than any POSIX shell and I *can* install ports of those interpreters/runtimes on multiple platforms (including *nix, Linux, Windows, OS X, etc, etc, etc) allowing me to run my management tools *unmodiifed* on multiple platforms. Use my brain? Why would I want to develop/maintain different tools on different platforms to perform the same management and admin tasks, when I can develop and maintain a single set of tools? This is not rocket science here, just simple logic. So, either you're on drugs, never had to manage/maintain large numbers of systems in a heterogeneous environment or you're a troll. Your pick. Have a nice day!

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    175. Re:Stop trying by kloro2006 · · Score: 1

      cd you give us your sources for "95+%"? what kind and how much of applications work have you done?

    176. Re: Stop trying by LordLimecat · · Score: 1

      Aside from the excellent vendor support that powershell has (like NetApp / VMWare / Exchange / SQL / Amazon AWS etc etc), you would be out of your mind in a homogenous windows environment to scorn powershell-- especially considering it is the primary method of managing Server 2012+. What youre suggesting is like saying "screw GPOs, because theyre single vendor."

      The "lockin" occurs because you have tens of thousands of workstations on one system and its very difficult to change, not because you wrote some scripts or took the time to learn a particular language. If you need to change things, learn a new language.

    177. Re:Stop trying by Rakarra · · Score: 1

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

      ... allows us to patch bugs or patch to add new features....

      At that point, your job is half developer, half admin

      I've found a nice chunk of the job of admin is convincing the developer that the problem the users are seeing exists in the code and is not just a system misbehaving.

    178. Re:Stop trying by fisted · · Score: 1

      Clearly you have no clue about the fundamentals of computing. Let's break it into small pieces:
      Perl: turing-complete.
      Python: turing-complete.
      Ruby: turing-complete
      POSIX shell: turing complete.

      So how exactly are they ``many times more powerful''?
      All you're doing is demonstrating how little you actually know, so will happily skip the second half of your gibberish and repeat:
      Brain. Do you use it?

    179. Re:Stop trying by NotSanguine · · Score: 1

      Clearly you have no clue about the fundamentals of computing. Let's break it into small pieces: Perl: turing-complete. Python: turing-complete. Ruby: turing-complete POSIX shell: turing complete. So how exactly are they ``many times more powerful''? All you're doing is demonstrating how little you actually know, so will happily skip the second half of your gibberish and repeat: Brain. Do you use it?

      Yes, they are. But that it's *possible* to do the same things with any of those tools says nothing about which one provides functionality which makes the job easier. For example, writing a script to gather, parse and reformat log files across multiple, heterogeneous systems is immensely simpler to write with Perl (and its associated modules) than to do so with BASH. Sigh.

      Apparently, you've never had to manage large environments or you'd know that. Or worse yet, you're probably a coder with no clue about large-scale systems and network administration. Go upstairs and get another Red Bull from your parents' fridge and let the adults do their job.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    180. Re:Stop trying by Anonymous Coward · · Score: 0

      This is incorrect, since GUIs can deal with text as well as graphics.

      Remember, 'GUI' isn't a language or a protocol, it's a presentation layer. Your statement is like saying "there are things you can't express in Times New Roman."

    181. Re:Stop trying by sjames · · Score: 1

      Most people would not consider an xterm open on a bare X window to be a GUI unless there were things like a drag and drop file manager available. They would consider that to be a CLI.

      If you disagree, then you will also accept that the original IBM PC with a Hercules card was a hardware accelerated GUI.

    182. Re:Stop trying by Anonymous Coward · · Score: 0

      No, I'm not aware of such a "general purpose" GUI, which would let me do the vast majority of things I can do on the CLI. Sounds interesting, though, care to drop a name?

      Smalltalk-76.

    183. Re:Stop trying by Anonymous Coward · · Score: 0

      and that's why driver support on Linux is so much better than under Windows. Now I understand. Thx for clearing that up.

    184. Re: Stop trying by Anonymous Coward · · Score: 0

      Some Unixes also support this or equivalent options.

    185. Re: Stop trying by kenh · · Score: 1

      No, powershell wouldn't be the right tool even in a windows-only environment because by sticking to it you are locking yourself to a single vendor, which is a wrong thing to do all by itself.

      So a "windows-only" environment needs to avoid "locking (itself) to a single vendor"? Seriously? I think that ship already sailed...

      In a "windows-only" environment what value would a multi-vendor solution offer? That's like arguing that a US auto repair shop that only works on metric-based imports should also have imperial measurement tools, to allow them to also work on domestic cars.

      --
      Ken
    186. Re:Stop trying by Anonymous Coward · · Score: 0

      I'm not talking about terminal windows, I'm talking about things like AppleScript, which not only lets you do things like manipulate files, it lets you script objects in applications. It's not a replacement for CLI because it's intended for different purposes - but the point is you're comparing apples and oranges.

      GUI is an alternative to text-based interfaces, regardless of whether they have a command line or not. You can make menu-driven mouseable apps and utilities in text mode (e.g. Midnight Commander). You can make GUI interfaces for Unix commands (e.g. A/UX 'Commando' dialogs).

      So, it's simply not true that a GUI can't "express anything that can be computed." It's all in how you implement it. I would agree that most existing GUI tools are not as powerful as a *nix CLI, but you'd have to make specific comparisons like Finder vs. BASH, not just "GUI vs. CLI."

    187. Re:Stop trying by fisted · · Score: 1

      jumping from POSIX shell to bash, i.e. implicitly assuming i was a linux zealot, gibbering about how much easier language A is than language B, arguing with portability where POSIX is all about portability, and portable scripts run on any POSIX compliant system, further demonstrates how little you know. Perhaps take a bit of your own advice and learn the shell command language, the quality of your straw-men would probably double.

      Also, your assumptions are plain wrong. Yes, i'm a coder, but yes, then again, i'm a sys- and network admin of a mid-sized network (~200 hosts, not counting the VLANs for guest, wifi, isolation, etc) We do nearly everything in posix shell, even the damn server configuration automation. - the prime reason being that the scripts will not bother whether they run on our BSD servers or the linux boxen. But why don't you tell me some more about how vastly superior some-language-you-know-better-than-sh-is

    188. Re:Stop trying by NotSanguine · · Score: 1

      jumping from POSIX shell to bash, i.e. implicitly assuming i was a linux zealot, gibbering about how much easier language A is than language B, arguing with portability where POSIX is all about portability, and portable scripts run on any POSIX compliant system, further demonstrates how little you know. Perhaps take a bit of your own advice and learn the shell command language, the quality of your straw-men would probably double. Also, your assumptions are plain wrong. Yes, i'm a coder, but yes, then again, i'm a sys- and network admin of a mid-sized network (~200 hosts, not counting the VLANs for guest, wifi, isolation, etc) We do nearly everything in posix shell, even the damn server configuration automation. - the prime reason being that the scripts will not bother whether they run on our BSD servers or the linux boxen. But why don't you tell me some more about how vastly superior some-language-you-know-better-than-sh-is

      Oh Technology god, I am but a toad at the feet of your incredibly knowledge and power! Please don't vaporize me with your incredible wisdom and power. Everything you say is absolute truth and I am just a retarded splotch who should have been aborted.

      You are right about everything and I am wrong. Always and ever wrong. Compared to you, I don't deserve to live. Please come and take my possessions, my wife, my children so I can relieve this world of a brainless, worthless loser.

      You win. Happy now? Jackass.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    189. Re:Stop trying by Anonymous Coward · · Score: 0

      > Because that means a CLI can express anything that can be computed (that is, that the computer can do) but the GUI can't.

      There is nothing, in principle, that you can do with a command line that you can't do with a GUI.

    190. Re:Stop trying by sjames · · Score: 1

      In principle, perhaps but in practice, nobody has ever managed it in a GUI, certainly not in a form anyone would willingly use.

    191. Re:Stop trying by Anonymous Coward · · Score: 0

      I think you need to look at more GUI-based tools. Nobody has made a single "does-it-all" GUI, but the functionality is all there in one form or another.

    192. Re:Stop trying by pnutjam · · Score: 1

      Thanks, that's very helpful.

    193. Re:Stop trying by sjames · · Score: 1

      AppleScript is very much text rather than graphical in nature. More specifically, it is a scripting language that sends events to objects. Those objects may happen to be represented by graphics for the user but that is orthogonal to the scripting. And, as you say, it's not an interactive interface.

      The specific comparison is any existing GUI shell vs BASH (or similar).

    194. Re:Stop trying by sjames · · Score: 1

      More specifically, in a little over 40 years, nobody has successfully made a 'does-it-all' GUI in spite of trying. Since it's not there now, and I see no evidence that it'll be there in the near future, the point stands: if you want to have full use the computer, you'll have to use CLI because there is no turing complete GUI.

    195. Re:Stop trying by fisted · · Score: 1

      Nice way to demonstrate you're out of arguments, indeed.
      Oh, wait, no. It's pathetic, actually.

    196. Re:Stop trying by Anonymous Coward · · Score: 0

      > AppleScript is very much text rather than graphical in nature.

      Did you read what I wrote? GUIs handle text too. That doesn't make it a command line.

    197. Re:Stop trying by sjames · · Score: 1

      So you DO accept that an original PC with a Hercules card running DOS was a hardware accelerated GUI.

      I don't.

    198. Re:Stop trying by Anonymous Coward · · Score: 0

      You're a narrow-sighted pedantic idiot. We're done here.

    199. Re:Stop trying by Anonymous Coward · · Score: 0

      If you have command line tools, then you can write a script to document and automate the process. You can not do this with GUI tools!

      Yes you can.

    200. Re:Stop trying by Hognoxious · · Score: 1

      The only way a GUI can do what a command line can do is by having one of the thespians (or whatever you UX twats call "on-screen thingies") actually be a command line.

      By your logic parsnips can be used to destroy aircraft because I could feed one to a fighter pilot.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    201. Re:Stop trying by Anonymous Coward · · Score: 0

      Something like "Windows Internals", the MSDN docs, development documents including the DDK, or the public debug symbols that help you look at what the code is doing at the kernel level using a debugger?

    202. Re:Stop trying by Anonymous Coward · · Score: 0

      DOS has a command line, but is not itself a command line.

      Doesn't make sense, does it? But that's what you're saying about GUIs, and it doesn't make sense there either.

    203. Re:Stop trying by sjames · · Score: 1

      It makes perfect sense as long as you're not willfully missing the point to prop up a failed argument.

    204. Re:Stop trying by Anonymous Coward · · Score: 0

      No, it doesn't, because you're using the word "GUI" to mean "desktop/window manager/file manager" and it is more general than that.

      It makes no sense to say "it's not a GUI itself" unless you're talking about the interface, not the program itself. GUIs are something programs have, not what they are.

    205. Re:Stop trying by sjames · · Score: 1

      GUI in this context is an interface to the OS itself. Labview HAS a GUI but isn't one. X11 with associated libraries *IS* a GUI. The Windows shell *IS* a GUI.

    206. Re:Stop trying by Anonymous Coward · · Score: 0

      I disagree about X11 and Windows, but it doesn't matter - you're narrowly defining what GUIs are capable of by using specific examples of GUI-based software.

      It's really quite simple if you take a step back and look at it - there is no particular reason that using graphics should make an interface *less* capable. In fact, it only *adds* capabilities that aren't available in text mode.

    207. Re:Stop trying by sjames · · Score: 1

      Fine, YOU replace your OS's interface with LabView if you want.

    208. Re:Stop trying by Anonymous Coward · · Score: 0

      Again, you're conflating particular pieces of software with interfaces. You think because there's no 1:1 graphical replacement for a Unix shell, that means a CLI is always-and-ever suprior to GUIs.

      An OS is not an interface is not an application. Stop comparing apples and oranges. Step outside your box.

    209. Re:Stop trying by Anonymous Coward · · Score: 0

      > X11 with associated libraries *IS* a GUI.

      No it isn't. It's a software library that supports GUI applications. GNOME and KDE are GUI desktops/file managers, not GUIs.

      > The Windows shell *IS* a GUI.

      No, it is a desktop/file manager with a graphical interface. How thick are you?

    210. Re:Stop trying by sjames · · Score: 1

      Into cloud cuckoo land? No thanks. You can't seem to follow english conversation and understand that the topic here is an os shell (be it bash, windows, Mac, whatever). That's why labview, whizz-bang button designer 3.14159.26 and such are irrelevant.

      The topic at hand is interfacing with the OS in order to tell it to do things.

    211. Re:Stop trying by sjames · · Score: 1

      Not so thick as to forget to say:

      *PLONK*

    212. Re:Stop trying by Anonymous Coward · · Score: 0

      What is your problem? I fix/resolve the problem and does not need to check the kernel and what is your problem?

    213. Re:Stop trying by lsatenstein · · Score: 1

      Re reading Linux code or the code of an application that they use that failed? If you are paid by the hour to repair such code, then there will be many, if you are paid to KLO, (keep the lights on, do housekeeping), then you know the answer. -- NO TIME for such delightful excesses.

      --
      Leslie Satenstein Montreal Quebec Canada
    214. Re: Stop trying by Anonymous Coward · · Score: 0

      Maybe with Windows you don't need to understand what is under the covers because it actually works.

    215. Re:Stop trying by Anonymous Coward · · Score: 0

      Not...quite.

      OS/X is mostly a derivative of BSD, but is missing several important components. It even runs GCC (don't ask me how they do it without binutils). Their C library is incredibly obtuse (some would say the same about glibc!). Mostly, their path structure for everything is totally weird. Try to add in objective-C, and things tend to steer you right into XCode, an artificial universe that has nothing to do with Unix underpinnings.

      Yeah...technically, it's Unix. But it's the weirdest Unix I've seen yet.

    216. Re:Stop trying by Shadowmist · · Score: 1

      I wasn't talking about what 'the tools do, under the hood' (dammit, typical windows speak), my point was that your operating system is a black box. dammit there isn't even source code available.

      Darwin source code no longer exists? This link no longer works?.

      the link worked for me just fine.

  2. Huh, what? by Runaway1956 · · Score: 3, Interesting

    People - the Unix-likes advanced far beyond command-line utilities ages ago.

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

    --
    "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    1. Re:Huh, what? by rmstar · · Score: 3, Insightful

      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.

    2. Re:Huh, what? by Anonymous Coward · · Score: 0

      I use the command line probably 1-2x a year managing windows servers. Normally just to kick out stupid TS sessions that don't default kick out after X time.

    3. Re:Huh, what? by Anonymous Coward · · Score: 0

      Windows administrators do the same thing.

      Umm.. No. No they don't. They might use it occasionally, but it's so wholly lacking in the functionality of a UNIX shell that it's hardly a power tool of the same calibre.

    4. Re:Huh, what? by Sarten-X · · Score: 2

      I'm currently a Windows sysadmin.

      Fuck PowerShell.

      I have nothing more to say.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    5. Re:Huh, what? by LordLimecat · · Score: 0

      Yea, you dont know what youre talking about. Windows Powershell is often MORE capable than Unix, in practical terms.

      Examples:
        * Getting NetApp Volume information
      ---Windows: Connect-NAController ctrlr1.dom.local; Get-NAVol
      ---Unix: Fire up SSH, connect to the controller head, and dust off your NetApp CLI manual
      * Working with VMWare vCenter
      ---Windows: Connect-VIServer vcenter01.dom.local; Get-VM | where numcpu -gt 2 | sort Name
      ---Unix: no real commandline access; web interface, or SSH (for maintenance tasks only)

      Im not trying to knock bash, but youd have to have been under a rock for the past 7 years to not know about powershell or understand its strengths.

    6. Re:Huh, what? by LordLimecat · · Score: 2

      Youre missing out. How on earth do you manage huge batch jobs like modifying 100 print queues or getting reports on your VMs?

    7. Re:Huh, what? by Sarten-X · · Score: 1

      As infrequently as possible, in Windows.

      In Linux, I throw together a few dozen lines of Perl or Bash, and drop that into a cron job. Then I forget about it, and my boss just enjoys having reports emailed to him.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    8. Re:Huh, what? by Anonymous Coward · · Score: 3, Insightful

      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.

    9. Re:Huh, what? by ArhcAngel · · Score: 1

      Youre missing out. How on earth do you manage huge batch jobs like modifying 100 print queues or getting reports on your VMs?

      REXX of course!

      --
      "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
    10. Re:Huh, what? by LordLimecat · · Score: 1

      That is completely not true. Creating your own powershell modules does not require anything to be blackboxed, and it doesnt require anyone else to do it for you. Theres a huge community of folks writing modules and scriptlets for powershell.

      If youre arguing that having utilities is useless without the source, Im going to guess theres no way I can convince you that, practically speaking, it is not useless. But suffice it to say I can get a lot more done with the NetApp and VMWare powershell modules than I can by SSHing into those boxes and working with them.

      You sound like you have a gigantic axe to grind with Powershell. Rather than fuming about how much you hate closed source software, you would be better served to educate yourself on what the relative strengths of this particular tool are so you can understand when it is useful and when it is not. Youre gonna have to accept that Microsoft is a huge player in enterprise, and VMWare is the biggest dog in virtualization out there; both are best administered by powershell, and theres just no way around that.

    11. Re:Huh, what? by LordLimecat · · Score: 1

      I wasnt aware that you could administer VMWare with Perl or Bash. Either way, Id recommend you take some time to learn powershell: its not going away, and as it sounds like you have to deal with windows at times, you might as well learn to use the native scripting language

    12. Re:Huh, what? by dbIII · · Score: 1

      I seem to remember you as one of the "linux sux because of the command line" people. It's good to see that you have grown up and come to your senses.

    13. Re:Huh, what? by dkleinsc · · Score: 1

      People - the Unix-likes advanced far beyond command-line utilities ages ago.

      There's an implication that doesn't make sense to me with the phrase "advanced far beyond": the idea that the GUI, because it is newer than the CLI, is necessarily superior.

      I know which one I want when the task is "Go through my entire code tree and replace all quoted instances of the previous database password with the new one" (yes, that implies bad code/configuration separation, but the problem crops up). There are probably GUI tools somewhere that can do the job if you know where to look, but some basic CLI skills makes this a a much easier task.

      As for the "That's for sysadmins" argument, I'll just point out that it has always benefited me as a mostly-developer to have a decent sysadmin skillset as well. That helps when working with sysadmins on deployment strategies, when responding to crises, and being able to manage my own systems when needed. Sure, professional sysadmins are better at it than I am, but that I can do it at all makes a difference.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    14. Re:Huh, what? by Sarten-X · · Score: 3, Informative

      Yes, you can enable SSH on ESXi. There are also varying levels of support from third parties, most of which are easier to deal with than Microsoft.

      Perhaps I should clarify what I mean when I say I'm a "Windows sysadmin"... For the past two years, I've been doing systems work with Windows. For the first year, it was mostly in a bog-standard admin capacity, but for the past year I've been working exclusively on a project in Windows Server 2012, using PowerShell heavily. I'm now in charge of maintaining and improving about 10k lines of PowerShell scripts.

      Powershell is the second-worst language I've encountered in almost two decades of programming. Here's a few reasons why:

      • It's supposedly all based around objects, but you can't natively define your own classes. You have to embed C# for that.
      • The "pipeline" passes objects from one command to the next, but there is no standard for what semantics a passed object must support.
      • Opaque objects can't easily be manipulated or constructed for debugging.
      • Commands are loaded modularly, but there are no namespaces. Collisions are inevitable.
      • No include-like functionality for scripts. You can import (with .) a modular script multiple times, but it'll run multiple times.
      • Multiple overlapping APIs. In addition to the PowerShell native commands, there are interfaces to .NET, WMI, COM, and command-line executables, any one of which may be the expected (or only) way to accomplish a given task, and of course the available features change with every revision of Windows.
      • Context-sensitive errors. Assign several kinds of Get-* results to variables, and you can check that variable safely in an IF condition. Checking the Get-* directly in the condition will throw an error if the Get-* operation returns an empty set.
      • Moving to an inner scope is copy-on-write.
      • Far too much boilerplate to declare constants (38 characters) or globals (27 characters).
      • Symbol aliases like "%" and "?" are not obvious when reading old code, and text aliases are also rarely intuitive unless you use them frequently.
      • No cross-platform support whatsoever.
      • Incomplete support in older OS versions, and no upgrades.
      • No unified documentation (due mainly to aforementioned modularity hell and split APIs)
      • Whitespace sensitive.
      • No native support for test-driven development.
      • No support for multiple entry points.
      • Worse multithreading support than Perl.
      • Little control over command output. Either you nitpick each command to accommodate its error, warning, and output streams, or you change the global error-handling variables
      • As with all Microsoft products, absolutely no guarantee of support beyond the current version. As soon as Microsoft decides that SuperShell is the next big thing, PowerShell will go join other abandoned systems like COM, WSH, and VBScript.

      My theory is that PowerShell started as a way to tack .NET support onto batch files, but then some brain-dead executive thought it'd be a suitable competitor to Bash, so they had to add pipes, but it's just gotta use objects, because Windows is all about the objects! Then somebody actually tried to use it for something productive, and realized it was still limited, so they added half-assed module support so it could be more useful later. Executives saw the progress, and declared that it had to be integrated into all the new 2012 stuff, so that meant that each team had to figure out their own way to make PowerShell make sense. Of course, in typical Microsoft fashion, nobody thought to look over a

      --
      You do not have a moral or legal right to do absolutely anything you want.
    15. Re:Huh, what? by Runaway1956 · · Score: 1

      Alright, I'll clarify my intent with that post.

      Since the name Torvalds became internationally known, people have been bashing Linux as a CLI operating system. 85% and more of the population of earth has refused to understand what happens under the hood. It's safe to say that 75% of earth's population has never opened a terminal to perform maintenance on their system, or to perform tasks like connecting to a remote machine.

      Within Linux, there has been a determined drive to provide GUI users with the tools necessary to maintain their systems. Ubuntu has lead that drive in recent years.

      In point of fact, Linux has reached the point that administrators of single boxes and small networks can actually do a decent job with minimal use of the terminal. Not a good job, mind you, but a decent job. If those administrators are keeping good, reliable backups, they can totally wreck a system, and restore it, and convince less knowledgable people that they are Linux gurus.

      From the point of view of all those unwashed masses, Linux has advanced beyond the CLI.

      Hey - when I saw that I might head off a totally meaningless first post from AC, I rushed my post a little. Forgive me. ;^)

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    16. Re:Huh, what? by Anonymous Coward · · Score: 0

      Worse multithreading support than Perl.

      Perl threading support is fine despite all the whining going on. (See the threads module on metacpan)

      Wanna talk about Python threading and the GIL? Or were you just looking for an excuse to bash Perl?

      In general, threading makes much more sense on Windows than it does on Linux, because task switching on Linux is optimized for forking, while Windows is optimized for threading. There has been some improvement with newer Linux kernel versions.

    17. Re: Huh, what? by Anonymous Coward · · Score: 0

      fuck powershell! amen! it came about because they've added .net to all their products and needed an easier way to use it then compiling c#

    18. Re:Huh, what? by Sarten-X · · Score: 1

      I've been using Perl for 10 years. It's actually one of my preferred languages. I've encountered far better excuses to bash Perl, but that's not the point.

      What I don't like about threading in Perl is that nothing is shared by default, unless you use threads::shared, but that only works on variable that are explicitly defined as being shared, which cannot easily be done deeply. You can easily make a deep copy whose first level is shared, but often that isn't sufficient.

      It's fine if your threads are just going to be trivial workers running independently, or large processing engines passing small amounts of data (but in that case I'd rather just fork). For parallelizing complex tasks, though, I find Perl's threads unwieldy.

      PowerShell works on a similar design: Everything is local, except a few things explicitly passed to a new job. Everything must be passed into the new job all at once as the job is started, though, and that job will run in a separate context which may or may not inherit settings from the parent.

      --
      You do not have a moral or legal right to do absolutely anything you want.
  3. Several thoughts by Registered+Coward+v2 · · Score: 1

    Each user is coming in with a set of experiences that has conditioned them to prefer one way over the other. Someone who has used a CLI a lot may simply prefer it because they are familiar with it and can do things quickly vs. learning a new way to do things with a GUI. They are predisposed to think their way is better; just as a GUI user is towards their preferred interface. to that end:

    1. Don't assume that the CLI is always better, even if you can do something faster or easier. If the GUI gets the job done without frustrating the student or taking a long time, let them use the GUI.

    2. For instances where the CLI is clearly a better choice; have them use both and let them draw their own conclusions.

    In the end, unless one way causes a lot of extra work or cannot accomplish the task neither is inherently better; just different ways to do the same thing.

    --
    I'm a consultant - I convert gibberish into cash-flow.
    1. Re:Several thoughts by Anonymous Coward · · Score: 1

      No that is totally the incorrect approach especially when dealing with hundreds perhaps even thousands of servers(ie Virtualization).

      The name of the game is automation in the Admin world.. that involves using Vi or VIM to edit puppet scripts as well as writing shell scripts that can automatically deploy tasks to groups of servers, such as a patch or code deployment using subversion.

      Of course once the scripts are written, an admin's job becomes infinitely easier than even remotely attempting a similar task from a GUI.

    2. Re:Several thoughts by pr0fessor · · Score: 3, Interesting

      We are talking about CS students the CLI is very important piece for them to learn as those basic commands stay the same {or mostly the same} where as there are many GUIs for the same thing. I can teach you about the CLI and it will be there but I can't guarantee that everywhere you work and every system you use will have that specific GUI installed.

      When you settle into a new job, understand all those basics learned from the CLI, and you open up a GUI you have never seen before {unless it is poorly designed} you will understand what those buttons are for.

    3. Re:Several thoughts by kcmastrpc · · Score: 1

      I have to agree with this. I am a software engineer, I get paid modestly for my work - enough to support a family. I can make my way around a *nix command line, write some scripts, install/compile some packages, apply patches, etc. Having said that, any time I have to use Git for anything other than pulling into a test/production environment I want to gouge my eyes out.

    4. Re:Several thoughts by Anonymous Coward · · Score: 0

      what's this rubbish? guis may change but to perform a given task you do the same basic set of actions with a few variations which you learn as you do it. how one task is performed in a CLI varies wildly depending on the shell and linux alone has half a dozen of them, windows has gone through two, one of which is shared with DOS. Then you have all these devices with their own psuedoshell, they all use different commands and don't have any sort of menues or context hints that give you some sort of clue as to how to use it. If you don't have the internet in front of you telling you what to do you are screwed. This is 2013, going on 2014, front ends need to be ubiquitous, having to use a cli to use any given tool is a thing that should die in a fire and the devs that can't come up with a full, rich frontend for their program should be tortured to death.

  4. It's an Exclusionary Club by CanHasDIY · · Score: 1, Insightful

    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.

    --
    An enigma, wrapped in a riddle, shrouded in bacon and cheese
    1. Re:It's an Exclusionary Club by SgtKeeling · · Score: 4, Interesting

      Essentially this.

      I had a prof who would do all his lectures & demos from the command line.
      Need to write a short C program to demonstrate forking? Boom! Into vim and coding up a basic example in a minute or two.
      Typo in his LaTeX slides? Boom! Switch over to fix it, then recompile the slides, and on with the lecture.
      Student asks a question about a command line argument? Boom! Man pages up on the big screen.

      It was a little intimidating to see this CLI master hopping around typing crazy little combinations of letters and making magic appear on the screen, but at the same time it was inspiring. It was an example of what we could aspire towards.

    2. Re:It's an Exclusionary Club by bonehead · · Score: 4, Insightful

      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.

    3. Re:It's an Exclusionary Club by EvanED · · Score: 1

      I don't find most of your examples very convincing, and this is coming from someone who does 95% of his work via SSH into a Linux box.

      Write a short simple program to demonstrate some API? Fast in IDEs as well. (Well, with a caveat: I have a dedicated "cppscratch" project in Visual Studio that I open for throwaway tasks like that. If you actually have to go through and create a new project, that's another 30 seconds, and I'll agree that the IDE is getting a bit heavyweight there.)

      Type in PowerPoint slides? Escape, fix, F5 -- probably takes less time than just the recompile, especially when using Beamer.

      The manpages are somewhat more convincing, but on Windows you get help COMMAND.

    4. Re:It's an Exclusionary Club by CanHasDIY · · Score: 1

      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.

      Well, sure, but what about when you first started getting into computers? The dude's who could do everything from a CLI were considered the 'cool cats,' at least in the circles I ran with way back in the 90's.

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
    5. Re:It's an Exclusionary Club by freeze128 · · Score: 1

      Err.. in this context, what the hell is a BAMF? Do you mean BOFH?

      I thought that "BAMF" was the sound that the teleporting mutant from the X-men made....

    6. Re:It's an Exclusionary Club by 14erCleaner · · Score: 2

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

      I've always thought of it as the difference between watching TV and reading a book. Try doing this with a GUI:

      less `find . -type f -exec grep -il "useful information" {} \;`

      --
      Have you read my blog lately?
    7. Re:It's an Exclusionary Club by bonehead · · Score: 4, Funny

      Well, sure, but what about when you first started getting into computers?

      Um, there really weren't any GUIs back then...

    8. Re:It's an Exclusionary Club by Anonymous Coward · · Score: 1

      sounds more like you have no clue how to effectively use a GUI... most of the time, I don't even have to touch the mouse.

    9. Re:It's an Exclusionary Club by CanHasDIY · · Score: 1

      I thought that "BAMF" was the sound that the teleporting mutant from the X-men made....

      Ha!

      It is, but not in this context.

      Have you tried Google? I bet you haven't.

      Google it.

      Err.. in this context, what the hell is a BAMF? Do you mean BOFH?

      No, but in retrospect that would have been a good one to use.

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
    10. Re:It's an Exclusionary Club by CanHasDIY · · Score: 1

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

      I've always thought of it as the difference between watching TV and reading a book

      That seems like a fair assessment.

      Just earlier today I heard a co-worker say "I don't read books, I just wait for the movie to come out." My guess is, she'd be completely unable to compute without a GUI holding her hand the whole time.

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
    11. Re:It's an Exclusionary Club by Anonymous Coward · · Score: 0

      Bad Ass Mother Fucker

      English. Do you speak it?!

    12. Re:It's an Exclusionary Club by Dragonslicer · · Score: 1

      It was a little intimidating to see this CLI master hopping around typing crazy little combinations of letters...

      Most of those were just to be able to create the C file in vim, though.

    13. Re:It's an Exclusionary Club by Dragonslicer · · Score: 1

      That's a fairly poor example, though. In most decent text editors, that's just Edit -> Find in Files, then check the "Ignore case" checkbox.

    14. Re:It's an Exclusionary Club by angel'o'sphere · · Score: 1

      Thats a super bad example, because exactly that is super easy in a GUI.
      You write "interesting stuff" into the search field and hit enter.
      Unfortunately both windows and Macs Finder lost the last few years as they now rely on indexing and find 1000 times more shit the user wants (and rely on "query languages" for the search field, both are now completely useless)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    15. Re:It's an Exclusionary Club by CanHasDIY · · Score: 1

      Well, sure, but what about when you first started getting into computers?

      Um, there really weren't any GUIs back then...

      That's cool, I was just trying to get you to show your age, dinosaur :P

      --
      An enigma, wrapped in a riddle, shrouded in bacon and cheese
    16. Re:It's an Exclusionary Club by MoneyT · · Score: 1

      So basically, type some text that I want to find into spotlight? I'm pretty sure that was example #1 in TFA.

      --
      T Money
      World Domination with a plastic spoon since 1984
    17. Re:It's an Exclusionary Club by Yunzil · · Score: 1

      It was an example of what we could aspire towards.

      Wasting a lot of braincells memorizing obscure keystrokes?

    18. Re:It's an Exclusionary Club by Anonymous Coward · · Score: 0

      There were, but they were *extremely limiting*. As opposed to now, when they're.....

      Hmm. Nevermind.

    19. Re:It's an Exclusionary Club by colinrichardday · · Score: 1

      Type in PowerPoint slides? Escape, fix, F5 -- probably takes less time than just the recompile, especially when using Beamer.

      Fair enough, but Beamer produces nicer mathematical output.

    20. Re:It's an Exclusionary Club by dbIII · · Score: 2

      Wasting a lot of braincells memorizing obscure keystrokes?

      It's the MS Windows8 way now isn't it? That's how people seem to be justifying the new GUI anyway.

    21. Re:It's an Exclusionary Club by ToasterMonkey · · Score: 1

      Essentially this.

      I had a prof who would do all his lectures & demos from the command line.
      Need to write a short C program to demonstrate forking? Boom! Into vim and coding up a basic example in a minute or two.
      Typo in his LaTeX slides? Boom! Switch over to fix it, then recompile the slides, and on with the lecture.
      Student asks a question about a command line argument? Boom! Man pages up on the big screen.

      It was a little intimidating to see this CLI master hopping around typing crazy little combinations of letters and making magic appear on the screen, but at the same time it was inspiring. It was an example of what we could aspire towards.

      Why don't we have command lines... with GUIs?

      Like your slideshow example, there are plenty of cases where you have a command line interface to something that's easier to understand visually, or a graphical interface to something that could also be driven quickly via command interface. Yes, even low level system tasks like drilling down into directory structures using the most space, or working with historical performance analysis and statistics is more efficient with visual feedback.

      Hey, look at any modern first person shooter game, point and click graphical interface, AND an interactive console. 'nuff said.

      I feel bad for people who see this simply as an either/or subject, we should be looking for progress not clinging to old ways, just because.

    22. Re:It's an Exclusionary Club by Anonymous Coward · · Score: 0

      Bullcrap. Atari and Amiga had nice GUIs and I guess Apple had those, too.

    23. Re:It's an Exclusionary Club by Common+Joe · · Score: 1

      Yup... both types of tools have their place. I'm sort of the opposite of you. I deal more with the GUI stuff because I'm not a great administrator. I'm a programmer by profession. Still, when I need to hit hard and heavy, I pull out the command line. On the flip side (before the ribbon), I made people's jaws drop when I handed them the mouse and used the keyboard for everything... and I did everything faster than they could. (The ribbon, unfortunately, has greatly slowed down my speed in using the keyboard in Word.)

    24. Re:It's an Exclusionary Club by Ginger+Unicorn · · Score: 1

      i hope he handed out ear plugs to stave off the tinnitus from all those cannons he kept setting off

      --
      (1.21 gigawatts) / (88 miles per hour) = 30 757 874 newtons
    25. Re:It's an Exclusionary Club by bonehead · · Score: 1

      Apple? No, you're not thinking far enough back. Apple didn't have a GUI until the Lisa, and didn't have one worth mentioning until the Mac.

    26. Re:It's an Exclusionary Club by Anonymous Coward · · Score: 0

      pipe, don't fork. seriously people X_X.

    27. Re:It's an Exclusionary Club by SigmundFloyd · · Score: 1

      less `find . -type f -exec grep -il "useful information" {} \;`

      This is better:

      less `grep -Ril "useful information" *`

      --
      Knowledge is power; knowledge shared is power lost.
  5. I wonder . . . by Kimomaru · · Score: 3, Insightful

    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. :)

    1. Re:I wonder . . . by Anonymous Coward · · Score: 0

      A deeper computing experience? I call bullshit. Tools are tools. A glitsy GUI? Because I don't want to ignore the last 30 years of progress and prefer to use a mouse? Christ, get over yourself.

    2. Re:I wonder . . . by Zontar+The+Mindless · · Score: 3, Funny

      How fast can you rename all files whose names contain the string 'numbskull' in a different directory without leaving the current directory using Windows Explorer?

      I'll be down at the dock with my fishing pole. Come find me when you're done.

      --
      Il n'y a pas de Planet B.
    3. Re:I wonder . . . by DexterIsADog · · Score: 1

      Sorry, I rarely (never) get the chance to rename masses of files, as I am usually engaged in adding value to my company.

      Ensuring the requirements are accurate, and reflect what is actually needed, and then designing the solution to correctly express the requirements, and also be maintainable, none of those things benefits from CLI over GUI. And when building the solution, any advantage by using arcane CLI arguments is minor compared to GUI.

      Did you know that the dock is actually a lousy place to catch fish? I analyzed success rates for catching fish in the area, and found a spot that is quite productive. I'll drop by the dock and give you some fish later.

    4. Re:I wonder . . . by Anonymous Coward · · Score: 0

      My experience with CLI every time I try to get back in...

      https://xkcd.com/1168/

    5. Re:I wonder . . . by sjames · · Score: 1

      The CLI is Turing complete. Anything computable can be expressed through CLI. No GUI can make that claim.

    6. Re:I wonder . . . by BaronAaron · · Score: 1
    7. Re:I wonder . . . by Kimomaru · · Score: 1

      Tools are not all the same. I don't know how you can say that, except that I suspect that you've not used a cli effectvely before so you can't really know. I recommend learning how to do some involved tasks and compare both methods.

    8. Re:I wonder . . . by Dragonslicer · · Score: 1

      The CLI is Turing complete. Anything computable can be expressed through CLI. No GUI can make that claim.

      I don't think any interface can be Turing complete. I had always thought only programming languages could be Turing complete, but I'm happy to be corrected.

    9. Re:I wonder . . . by Anonymous Coward · · Score: 0

      My experience with CLI every time I try to get back in...

      https://xkcd.com/1168/

      tar cf - . | (cd ~luser/;tar xf -)

      Have a nice day.

    10. Re:I wonder . . . by epyT-R · · Score: 1

      you complain about his appeal to mastery, yet respond with appeals to 'progress'?

    11. Re:I wonder . . . by angel'o'sphere · · Score: 1

      You already had a "turing complete" post above. And I already had the impression you don't know what the term actually means.
      This post proved it ... CLI means command line interface.
      There are hundrets of CLIs that are not turing complete, and the only reason that some are is: they are a CLI *and* a programming language at once, like bash or tcsh.
      Hint: Apple ][ had an Apple Soft Basic / Apple DOS CLI , which certainly was not turing complete, neither was the CLI of the latest IBM mainframe I used (yeah, 30 years ago).

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    12. Re:I wonder . . . by epyT-R · · Score: 2

      also be maintainable, none of those things benefits from CLI over GUI.

      ..all of which might just be more quickly and efficiently done with a CLI, thus adding value to your company. Using a GUI alone does not automatically bring value. It depends on the task bringing that value. If you can automate it with a few CLI commands, you should.

    13. Re:I wonder . . . by DexterIsADog · · Score: 1

      My point was that (in my experience, which encompasses a majority of what IS does for business), the interface is irrelevant. What's important is the human creativity and analysis to address what actually benefits the business.

      That almost never coincides with the tricks one can do with a CLI.

    14. Re:I wonder . . . by sjames · · Score: 1

      Arguably, that is a CLI rendered as a GUI for some odd reason.

      It would be incredibly awkward to use much beyond teaching children.

    15. Re:I wonder . . . by sjames · · Score: 1

      Unix shells support Turing complete scripting languages that are immediately executable as commands. For example the following is a command entered on the commandline OR a line in a shell script:

      for i in `seq 1 10`; do echo "And a $i"; done

    16. Re:I wonder . . . by sjames · · Score: 1

      Yes, a CLI CAN be turing complete and a GUI cannot be. The CLI TFA was talking about *IS*.

      I guess you were too busy looking for an excuse to be insulting to engage in intelligent thought.

    17. Re:I wonder . . . by Anonymous Coward · · Score: 0

      Using any bulk file renaming tool that makes it as easy as doing find/replace ? :)

    18. Re:I wonder . . . by Dragonslicer · · Score: 1

      Yes, and that language is Turing complete. Please don't conflate the command interface with any programming languages that a specific shell may support.

    19. Re:I wonder . . . by Anonymous Coward · · Score: 0

      So, being able to check your admin, utility, setup and backup scripts into source control (and get team input/review) adds no value?

    20. Re:I wonder . . . by fisted · · Score: 1

      The shell /is both/ the language, and the interpreter of said language. Commands are words of that language, no matter how simple or complicated.

    21. Re:I wonder . . . by fisted · · Score: 1

      If you had read TFA (last part), you'd know this is about the unix or unix-like CLI. Call it a bourne shell.

    22. Re:I wonder . . . by sjames · · Score: 1

      That conflation happened before my time and is by design. The command was for BASH. The language is called BASH. Every command to bash is also a valid statement in the language.

      It's a powerful concept.

    23. Re:I wonder . . . by Dragonslicer · · Score: 1

      For Unix shells, that's true, but Unix shells are not the only possible command-line interfaces. In terms of general definitions, "CLI" and "Unix shell" are not the same thing.

    24. Re:I wonder . . . by dbIII · · Score: 1

      You seem to have missed that the command interface is the programming language. That applies even with cmd.exe.

    25. Re:I wonder . . . by DexterIsADog · · Score: 1

      To the overall business? No, what the geekheads in the back room do adds no observable value. If that back room function costs 20% more, it makes no appreciable difference.

      I say this as one with experience in the back room, the front room, and the boardroom.

    26. Re:I wonder . . . by Blakey+Rat · · Score: 1

      Fucking Minecraft is a Turing-complete GUI app. One of dozens. Did you even briefly think about that statement? It's so obviously proven wrong it boggles my mind.

    27. Re:I wonder . . . by sjames · · Score: 1

      If all you have to fuck is minecraft, it's no wonder you posted like a shrill little toad.

      Minecraft HAS a GUI. Minecraft is not itself a GUI. What OS uses minecraft AS it's user interface (either natively or as a 3rd party replacement)?

    28. Re:I wonder . . . by angel'o'sphere · · Score: 1

      I read that part :D
      I even read the article, lol.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    29. Re:I wonder . . . by angel'o'sphere · · Score: 1

      Lol, a GUI can not be turing complete? Tell that the graphical programming environments ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    30. Re:I wonder . . . by Anonymous Coward · · Score: 0

      Uh...

      ren \*numbskull* \*windowsidiot*
      ren \*.txt \*.log

      In powershell;

      Dir | Rename-Item –NewName { $_.name –replace “ “,”_” }

      Not to mention you can type command directly into the path bar at top. Try it. Open a folder, want to open a cmd prompt IN that folder? Type cmd and hit in the top path bar. There you are. Want to do the reverse? Type "start." and hit in the cmd prompt.

      I swear to god you Unix clowns are so tunnel visioned all of your Unix\Windows comparisons are against some obscure NT 4 release. I've used both Unix and Windows since their inception and I prefer Windows. Regardless of the mess, shit is still 10 times easier and faster. I'll be over here dragging files to folders, you go ahead and keep pecking a mile long pipe.

    31. Re:I wonder . . . by mikechant · · Score: 1

      Yes, a CLI CAN be turing complete and a GUI cannot be.

      No, you're wrong. Just because *most* GUIs are not Turing complete doesn't mean they can't be. Informal proof: Take a Turing complete text-based language, convert the keywords, structures, operators, constants, variables etc. into GUI editable objects, write a GUI that allows these objects to be assembled in arbitrary ways, e.g. by drag-and-drop, and there you go. Effectively you are visually constructing some sort of flowchart which is mathematically equivalent to a textually expressed program. Some GUI IDEs are actually like this, which shows that the principle is possible in practice.

      You might object that such a GUI IDE is not Turing complete on the grounds that it can't do this or that function with the underlying hardware/low-level OS etc.. but that's not valid; a general Turing complete language does not have to have access to lower levels of software/hardware. A concrete example is that many 'normal' text based Turing complete languages might not be able to do direct I/O or access raw devices of any sort, or handle DMA or interrupts, and thus might be unable to perform certain functions (like read the disc partition table for example) without invoking routines in some *other* (lower level) Turing complete language. But that's not what Turing completeness is about; it's about being able to express an arbitrary algorithm on an abstract machine.
      Doing this through a GUI may be clumsy in many cases but not impossible.

    32. Re:I wonder . . . by sjames · · Score: 1

      Got an example that isn't really a CLI in GUI clothing? Thjat can actually be used? Better yet, that anyone actually likes to use?

    33. Re:I wonder . . . by sjames · · Score: 1

      What graphical programming environments? All i've seen is graphical frameworks around a text editor. Certainly, those were not shells.

    34. Re:I wonder . . . by angel'o'sphere · · Score: 1

      Erm, a CASE system with executebale UML e.g.?
      Why not googeling? Graphical programming environments (not IDEs) where you can put algorithms together with drag and drop exist since minimum 30 years.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    35. Re:I wonder . . . by sjames · · Score: 1

      UML is a text format. CASE tools tended to let you drag blocks of text around. Googeling shows little more than mapping words onto alternative glyphs that are then organized exactly as words would be in a text file. By that definition, a conventional C program using clever macros so you could program in Chinese would count.

      The one thing they all have in common is that they eventually resort to text written on the graphical elements somewhere. None of them actually exploit any innate expressiveness of the graphical display.

      They also aren't self hosted for the simple reason that actually writing something that complex with such clumsy tools is impractical.

      But more to the point, none of that is a shell. They have GUIs but they are not GUIs.

      Perhaps someone will eventually figure out some way to manage it, but thus far, nobody has. Not even to the point of being able to tell the computer "see this group of files named as report-MMDDYY? Make them YYYYMMDD-report.txt".

      Upon more thought I believe it may be posable but I doubt it will be practical.

    36. Re:I wonder . . . by angel'o'sphere · · Score: 1

      UML is a text format.
      Ah ... ja, did not know that. Thanx for the info.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    37. Re:I wonder . . . by Anonymous Coward · · Score: 0

      Ensuring the requirements are accurate, and reflect what is actually needed, and then designing the solution to correctly express the requirements, and also be maintainable, none of those things benefits from CLI over GUI.

      If the GUI designer doesn't anticipate your work flow, and they rarely do, the command line is almost always going to be more productive because command lines scripts allow you to capture whatever your work flow is with a script. It's an easy-to-use programming language with deep hooks in the system with all the power that implies. Gui's only really make sense for one off operations and since administration is mostly repetitive GUI's are not very productive.

      The PP is just one example of mass renaming. There are thousands of possibilities. For example it's often necessary to rename to avoid clashes when systems are merged. Another possibility is when storage volumes fill. Another is when things are renamed due to organizational changes. Or when a name class proves to be confusing to the general user population. Or when debugging system name based references. etc.

    38. Re:I wonder . . . by Anonymous Coward · · Score: 0

      This is a really late time to reply but ...
      If I never have to work with you or people like you, I will be a very very happy person.

      You are a muppet.

    39. Re:I wonder . . . by Anonymous Coward · · Score: 0

      As I was trying to get across to stjames, you can also do scripting in a GUI. GUI doesn't mean just "click, drag and drop," as if you're expected to get your work done without any typing. GUI doesn't mean "no text," it means "no commands to type in."

      The point is, knowing your way around a GUI will not help you when you're facing a command line. If you're well versed in CLI and suddenly facing a GUI, you just need a little time to familiarize yourself with it. With a command line you have to remember all the commands, utility names, paths, arguments etc. that you are working with. What GUIs are good for is putting options in front of you so you can explore, and utilize spatial memory to organize things. Recognition is less taxing than recall. That's what GUIs are good for.

    40. Re:I wonder . . . by Anonymous Coward · · Score: 0

      How fast can you rename all files whose names contain the string 'numbskull' in a different directory without leaving the current directory using Windows Explorer?

      How fast can you type 'rm xyz.gif abc.tiff readme.doc foobar.txt barfoo.html'? Probably not faster than I can click those files in a GUI and hit "delete."

  6. In the beginning was the Command Line by Simon+Brooke · · Score: 1, Flamebait

    Read Neal Stephenson's In the beginning was the Command Line, or, better yet, give it as a set book to the students. It's available for download from his website for free, or you can buy it as a paperback from all good booksellers (and some bad ones)

    --
    I'm old enough to remember when discussions on Slashdot were well informed.
    1. Re:In the beginning was the Command Line by Anonymous Coward · · Score: 1

      I wish I had mod points, to mod the last part of your post as flamebait. If you aren't going to provide justification for calling Amazon, one of the number one book retailers in the US, a "bad one" as far as booksellers go, then that's all your post really amounts to.

    2. Re:In the beginning was the Command Line by Anonymous Coward · · Score: 0

      "I'm a butthurt fanboi" is much shorter.

    3. Re:In the beginning was the Command Line by epyT-R · · Score: 1

      What does his opinion of amazon have to do with his position that 'In the Beginning..' is a good primer?

    4. Re:In the beginning was the Command Line by Anonymous Coward · · Score: 0

      Exactly. What does it have to do with anything? He could've left his comment at "buy it as a paperback", and left out his stab at Amazon with no justification.

  7. Because job security by Anonymous Coward · · Score: 1

    It's better to know the niche market, because less competition.

  8. Command line is more error-prone by jones_supa · · Score: 4, Interesting

    It's easier to shoot yourself in the foot with the command line. A wrong character at some position might cause a lot of unexpected behavior and leave a good mess to clean. Just offering a counter-argument for the sake of discussion.

    1. Re:Command line is more error-prone by Xipher · · Score: 3, Informative

      User error can happen regardless of user interface really.

      --
      I don't know everything.
    2. Re:Command line is more error-prone by Anonymous Coward · · Score: 1

      thats pretty much backwards

      if a gui goes wrong, unless the designers thought of that circumstance, you're left with some internal state
      inconsistency that you can't even diagnose much less address.

      with crappy old log files, config files, and commands at least you have a prayer of fixing the problem

    3. Re:Command line is more error-prone by jones_supa · · Score: 1

      if a gui goes wrong, unless the designers thought of that circumstance, you're left with some internal state inconsistency that you can't even diagnose much less address.

      Right. But that's a bug in the software, while I was talking about user errors.

    4. Re:Command line is more error-prone by speckman · · Score: 0

      I agree, and with the command line, you have to remember all the commands. :) It's nice having a windowed/menu interface for getting to something, and it's nice to have a GUI telling you hey, you're about to wipe your HD with that command or even limit your choices to stuff that won't hose your HD... thinking about installing linux and dual-boots and such before the tools had nice gnome equivalents. ... now, was it a 0 or a 1 that I put here?

    5. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      It's easier to shoot yourself in the foot with the GUI. A wrong click at some position might cause a lot of unexpected behavior and leave a good mess to clean. Just offering a counter-argument for the sake of discussion.

    6. Re:Command line is more error-prone by sl4shd0rk · · Score: 1

      It's easier to shoot yourself in the foot with the command line

      Depends how you learn. If you sit down with a table saw, never having operated one, you're in for a hard learn. Same as any tool. I would say the same goes for a gui too....that damn Voiceover is error prone enough to qualify for the-icepick-of-death-in-the-speakerhole treatment.

      --
      Join the Slashcott! Feb 10 thru Feb 17!
    7. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      no, the point was more subtle. for the most part guis are based around scripts, or wizards, or use cases.

      you click a thing and some machine installs the right state for you.

      almost without exception, these forseen use cases are finite...there are only so many menu items.

      so its very likely that of all the possible external and internal state manipulations can leave the system in
      a funky place that is not reported because that eventuality wasn't forseen by the ui designer, and has
      no corresponding action to correct.

      interface should be composable languages, you chould be able to discover and effect anything, not just
      one of the 10 menu items that someone thought were a good idea

    8. Re:Command line is more error-prone by jones_supa · · Score: 1

      It's easier to shoot yourself in the foot with the GUI. A wrong click at some position might cause a lot of unexpected behavior and leave a good mess to clean. Just offering a counter-argument for the sake of discussion.

      Good counter-argument, actually. With command line you have the chance to describe accurately what you want and review it, instead of your mouse accidentally poking some widget along the way.

    9. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      maybe a better summary -

            with a gui, when it works fine, great, when it doesn't work fine you're basically screwed

            with the command line, things are more difficult, and when they go bad, it gets harder.
            but there is basically always a way out

    10. Re:Command line is more error-prone by chispito · · Score: 1

      It's easier to shoot yourself in the foot with the command line. A wrong character at some position might cause a lot of unexpected behavior and leave a good mess to clean. Just offering a counter-argument for the sake of discussion.

      "The wrong character" is only going to affect you if you are the sort of gung-ho user who does not believe in iterating. Perfect your filtering first. Then and only then, act on it. At that point, you are no worse off than a GUI user who made a typo or ticked the wrong box. Or is the problem an inability to type?

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    11. Re:Command line is more error-prone by jones_supa · · Score: 1

      True.

    12. Re:Command line is more error-prone by LordLimecat · · Score: 1

      Clicking 3 pixels to the left in a GUI rarely causes you to hose your SAN. Hitting a letter 3 to the left in a command can easily do something like that.

      Remember the old "rm -rf /...{hits enter}" Whoops, slip of your finger just cost you your whole root directory structure.

    13. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      unlike a wrong mouse click which can... oh wait.

    14. Re:Command line is more error-prone by LordMyren · · Score: 1

      A wrong character at some position might cause a lot of unexpected behavior and leave a good mess to clean

      Absolutely!

      The user experience in the command line is very demanding: a user has to marshal up the strings that describe their action. They have to be able to form sentances that say what they want.

      Having the leeway and room of a language, a syntax, is the point: as long as you have the grammar, it's expressive. And whether that expression does what you want is question #2. But this chain, being able to form sentances that mean what you intend: that mastery of language is very much something I do wish to see advanced as a worthy cause, as indeed more important an experience than whether or not you know X or Y menu option in Z application.

      Computer literacy can begot in a meaningful way only by calling upon people to form their own thoughts, not tap thoughts made available to them.

    15. Re:Command line is more error-prone by waveclaw · · Score: 1

      It's easier to shoot yourself in the foot with the command line. ... Just offering a counter-argument for the sake of discussion.

      Well, the UNIX camp would just point out this is an argument for using crusty typing instead of click-n-drag pictures. The appropos quote from wikipedia is:

      "Unix was not designed to stop its users from doing stupid things, as that would also stop them from doing clever things." – Doug Gwyn

      The original poster has more than two different problems conflated and it reads like 'I took a bad class and this is why.'

      The study of computer training, as a part of the larger pedology, frequently brings up the user vs programmer paradigm. But the whole framing is captive and derogatory. It's parishioner verses priests and proletariat verses bourgeois. Some people use some tools differently. This is not culture, it is just label-ism, that first step on the road to racism, at its finest. We should call that black sheep what it is and move away from it.

      One of the problems the article points out, graphics verses typing, nothing new to even to slashdot. It may be that he is encountering this for the first time but others have written better on it. I see whole books published by Sun Microsystems on Graphical User Interfaces(GUI) verses Command Line Interfaces(CLI) on my shelf without even standing up.

      To teach people to program in the 21st century you have to be prepared to show them both graphical tools and the command line. But you do have to explain them and why and when to use them to new people. They each have their uses. Tower for the mac and good ol' git in the terminal for version control. Google docs or Microsoft Windows and RestructureText and LATEX. Sales and Marketing may claim training's purpose is to get free swag and charge an arseload for support. But that's the point of training: to explain stuff.

      If you don't know enough to explain that, why are you trying? (nobody else? boss + deadline? free t-shirts? It's your "job?")

      However, it looks like the preparation for the training class that the article is based on wasn't even up to a standard where such mechanisms could be addressed directly.

      • They reported people failing to get a Linux laptop to use $RANDOM_BRAND projector. Noob trainer mistake #1 - prepare to present by practicing with what you'll actually use.
      • The trainers presents follow-along training using stunt-configured terminals different from what the students saw. Noob trainer mistake #2 - eat the same dogfood your students do or you'll waste the student's time explaining and dealing with the differences.

      If you are dealing with people who are starting out you will spend most your time on jargon and concepts. Diving into the command line would be fine, but you would be putting artificial constraints on your presentation. A good trainer needs to be aware of and explicitly mention that.

      Adult education is a different form children's education. Usually the one that never gets the adequate funding. We expect different from and for adults. Kids are used to walls of new unrelated stuff. Adults usually are not or are good at ignoring it. You can convince a child that 'this is just how you do it' most the time where as an adult probably has some biases built in from previous experience.

      That's the only good point I see in the article: people aren't blank slates. But one person's trivial obvious fact is another person's mind blowing revelation.

      --

      "You cannot have a General Will unless you have shared experiences. You cannot be fair to people you don't know."
    16. Re:Command line is more error-prone by reikae · · Score: 2

      Your finger needs to slip quite a few times to add the --no-preserve-root to that command (it might be GNU coreutils exclusive though). :)

      I've clicked the wrong button on a GUI several times, just as I've made typos on the command line. Both have the potential to screw things up unless I'm being careful.

    17. Re:Command line is more error-prone by thegarbz · · Score: 1

      I have never used a properly written GUI configurator for a program which would allow a program to be unable to start because it can't parse it's config file, throwing weird errors into the depths of /var/log or worse still failing silently. Hell some programs even come with external utilities which you must run to identify why said program was unable to read it's config file.

      Mistyping one letter can hose a program. Bonus points if the letter you misstype is a location on your file system.
      By comparison not checking a checkbox while unlikely to have the desired effect will not usually break an application. Using a file browser to fill in the box for file name is unlikely to make a mistake.

      You're right user error can happen regardless of interface, however the command line gives the user infinite opportunity, a GUI will bound the user in some finite ways to screw things up.

    18. Re:Command line is more error-prone by Threni · · Score: 1

      I'm sorry, I see your point but you are wrong. There's no single equivalent GUI "typo" that's going to have the same disastrous consequences as typing a \ instead of a . in an rm command.

    19. Re:Command line is more error-prone by NotSanguine · · Score: 2

      Your finger needs to slip quite a few times to add the --no-preserve-root to that command (it might be GNU coreutils exclusive though). :)

      I've clicked the wrong button on a GUI several times, just as I've made typos on the command line. Both have the potential to screw things up unless I'm being careful.

      I don't know how many times at my previous job that some Windows admin deleted whole sections of our AD database via the GUI. That GUI doesn't even have an option to prompt before deletion, whereas I can just insert "alias rm='rm -i'" into root's ~/.bashrc. Just sayin'.

      --
      No, no, you're not thinking; you're just being logical. --Niels Bohr
    20. Re:Command line is more error-prone by MurukeshM · · Score: 1

      Shitty context menu with 'Rename' just on top of 'Delete'. 'Delete' bypasses Trash. Guess which I clicked.

    21. Re:Command line is more error-prone by epyT-R · · Score: 1

      ..just like slamming enter on a bunch of "did your mom say it was ok" dialogs out of habit without realizing that their dire warnings actually apply this time?

      GUIs don't prevent idiocy, they just breed better idiots.

    22. Re:Command line is more error-prone by epyT-R · · Score: 1

      just like slamming enter on a bunch of dialogs out of habit can cause loss of data too..

    23. Re:Command line is more error-prone by MoneyT · · Score: 1

      Here's a better one for you that bit me in the ass:

      crontab has two options next to each other on the (qwerty) keyboard. "-e" opens the current crontab file for editing. Care to guess what "-r" does? In the infinite wisdom of the developers, it removes the current crontab file. No confirmation, no backup, just delete. They have added a new option "-i" which asks for confirmation before deleting the file, of course that doesn't actually solve the mis-type problem.

      --
      T Money
      World Domination with a plastic spoon since 1984
    24. Re:Command line is more error-prone by angel'o'sphere · · Score: 1

      GUI's usually have the miraculous "UNDO" option, unlike CLIs.
      So your parents point (sorry could not find him, for some reason some links on /. are bugged since a while) is complete mood.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    25. Re:Command line is more error-prone by EvanED · · Score: 1

      They have added a new option "-i" which asks for confirmation before deleting the file, of course that doesn't actually solve the mis-type problem.

      You should be able to alias crontab="crontab -i" and it will at least solve it for you. (Or something like that. I didn't test it and use crontab once in a blue moon.)

    26. Re:Command line is more error-prone by geminidomino · · Score: 1

      Just one example up there.

      Someone else mentioned bouncing on the enter key to get through dialog nag boxes... (like the one that says "are you sure you want to do this" when you hit "delete" instead of "home" on C:\)

      Or the more subtler issue of click-dragging the wrong gui resource file out of where it's supposed to be, which you don't find until the next reboot.

      The simple fact is, CLI or GUI, if you're not careful, you can and will break things, often badly.

    27. Re:Command line is more error-prone by WuphonsReach · · Score: 2

      On the flip side, documenting the configuration of a system that *only* has a GUI interface for accessing that configuration is a masochistic art form.

      If it is text based or (shudder) XML based configuration files, then you can easily stuff the file into any version control system and easily see the differences between what you started with and what you are now running with.

      For server administration, documenting what you did to configure the system is a very big deal. Text based configuration files make that a trivial issue with no fancy tools required.

      --
      Wolde you bothe eate your cake, and have your cake?
    28. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      It's easier to shoot yourself in the foot with the command line. A wrong character at some position might cause a lot of unexpected behavior and leave a good mess to clean. Just offering a counter-argument for the sake of discussion.

      rm * [shift].bak

      EOM

    29. Re:Command line is more error-prone by dbIII · · Score: 1

      You can also click on the wrong thing in a GUI. I do not see your point as relevant.

    30. Re:Command line is more error-prone by dbIII · · Score: 1

      For years not even photoshop had an undo. "Real pros save often" was the excuse when I asked why.
      You can't always depend on the author of a GUI to have given you enough pictures to point at. That's when you have to learn how to write.

    31. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      A week ago at my job, hitting a button 3 pixels to the left did bring down a SAN and a cluster dependent on it. Web interfaces to things like storage controllers don't always ask: "Are you sure?". The wrong GUI left open can be just as dangerous as a root shell left open. At least with rm, you can write a wrapper to prevent it. Here is a good starting point:

      #!/bin/bash

      rootdir=$(ls /)
      i=1
      while [[ $i -le $# ]]
      then
          targetdir=$(ls $1)
          if [[ $rootdir == $targetdir ]]
          then
                echo "You are deleting /, idiot"
                return 1
          fi
          shift
          i=$(($i + 1))
      done

    32. Re:Command line is more error-prone by Nivag064 · · Score: 1

      Selecting the wrong menu option, or not clicking the right check boxes in a GUI, can stuff you up big time!

      I use Eclipse which is a GUI IDE for Java development. I also use the command line and a simple text editor like pluma to create scripts to run on the command line. For running SQL then a command line tool like psql (PostgreSQL) beats any GUI. I am learning to use git, so I use the command line commands, as they are a lot easier to document & I have far more control over what happens.

      Fortunately, I use Linux and the Mate Desktop Environment. I have 35 virtual desktops, about 2/3 in use. Some of my terminals have multiple tabs, as do some of my directory windows.

      To be a good developer, it is essential to know how to use both command line and GUI tools.

    33. Re:Command line is more error-prone by Blakey+Rat · · Score: 1

      GUIs have safety features like the recycling bin (or trash for Mac users) and the Undo feature.

      The saddest thing is that there's no reason CLIs couldn't have these same safety features, except that the people who develop CLIs are (generally speaking) grumpy old codgers who hate change and want computers to behave exactly the way they did in 1974.

    34. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      You sir, have never experienced the horror named drag and drop.

    35. Re:Command line is more error-prone by thegarbz · · Score: 1

      Irrelevant. What has the graphical interface got to do with the configuration file? Nothing. Most Unix based GUI configuration tools simply write out a config file which can just as easily be put through version control or anything similar. Or if you're so inclined you can even *shudder* open up the resulting config file in your favourite text editor.

    36. Re:Command line is more error-prone by bill.e.gloat · · Score: 1

      It's easier to shoot yourself in the foot with the command line.

      I disagree. I make far more errors with a GUI because I often don't know exactly what it's ultimately doing behind the scenes. I get accurate repeatability with the command-line, not with a GUI. It all depends on what your most comfortable using. I think one of the finest examples was SMIT in AIX. Press a function key (F4 IIRC) to see what the curses-based tool was going to execute on the command-line on your behalf. A great way to learn in a guided fashion. Too bad more tools don't follow this example.

    37. Re:Command line is more error-prone by angel'o'sphere · · Score: 1

      Sorry, that argument is pretty mood, as not for every GUI program exists an command line equivalent. However you can perhaps circumvent the need for the particular GUI program.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    38. Re:Command line is more error-prone by bonehead · · Score: 1

      GUI's usually have the miraculous "UNDO" option, unlike CLIs.

      There are many ways to "undo" on the command line, assuming you're experienced enough to take advantage of them.

    39. Re:Command line is more error-prone by dbIII · · Score: 1

      You have it backwards since a GUI is limited to what the designer thinks of putting on the buttons or menus while a CLI can use pipes, loops whatever. It's a bit odd that you can read stuff on this site without managing to pick that up. It used to be high school stuff.

    40. Re:Command line is more error-prone by angel'o'sphere · · Score: 1

      You got it backward too. You simply don't understand that are programs that ONLY have a GUI. So: how do yo want to use the CLI in that case? Or did you never hear about 4GLs, expert systems or other stuff which you simply can't replace with a set of pipes?
      Ofc the GUI is often limited to what the programmer thought about, on the other end there are plenty of GUIs which can be scripted. On Macs e.g. basically everything can be scripted.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    41. Re:Command line is more error-prone by dbIII · · Score: 1

      News just in - if it can be scripted without a macro mouse player it's obviously not 100% GUI.
      Is this some game where you argue that black is just a different shade of white and see how long you can string someone along? What's going on here? I very much doubt that you are as stupid as you are pretending. Please stop fucking about and take this discussion seriously. Pretending to be so dense is insulting both of us and shit like that is ruining this site.

    42. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      For server administration, documenting what you did to configure the system is a very big deal. Text based configuration files make that a trivial issue with no fancy tools required.

      This a thousand times over... When your options are to go through a 100 page 50mb word doc with countless screenshots and explanations of which things on each screen you need to change, or instead just pull the latest git branch from your puppet repo and apply the manifest it is easy to choose. Make all of your changes through the same automated method and then nearly the entire process becomes self documented (and enforced).

      Text files for configuration just make administration so much easier.

    43. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      it removes the current crontab file. No confirmation, no backup, just delete

      This is just their way of making sure to remind you to have a proper (and tested) backup/restore strategy ;)

      Hopefully btrfs will bring in some larger changes in the Linux world that will help with things like this (i.e. more use of scheduled snapshots similar to shadow copies on Windows).

    44. Re:Command line is more error-prone by Larry_Dillon · · Score: 1

      Personally, I think GUI mistakes are WAY harder to undo, sometimes impossible.
      1. For one thing, there's no history of what was done so you can't see the exact mistake.
      2. Windows that pop up, steal focus and take the next keystroke as response.
      3. Accidentally hitting some sequence that's interpreted as a special command in a GUI. Sometime doing something like rearranging said GUI and having no idea what happened.
      4. Many GUI interfaces have no way to export the settings in a human-readable form so you can see what the differences are from default. Makes migrating those setting very difficult. With text-based configuration files and diff, it's trivial.

      At the end of the day, if you have no idea what you're doing you want the hand holding of a GUI to direct you into the most likely choices. But if there's no button, you can't do it. With a command line you can do about anything, but you might have to read up on it. The next time it's easy.

      I agree with an earlier poster that the ideal GUI would generate a list of commands that it ran so you could see exactly what it was doing. It would also have ^z for all operations.

      --
      Competition Good, Monopoly Bad.
    45. Re:Command line is more error-prone by angel'o'sphere · · Score: 1

      The point is that you always claim you can do X with a script, when in fact there is no single unix utility on your computer suited to do an X.

      However if I have an GUI application that does an Y and I can simply script it to do an X, by adding a new button which augments the ordinary Y doing into an X ... then I'm still using an GUI.

      Yes, I only argue for the arguments sake, as you and one of the others in this thread simply over simplificated the issue.

      If there is no suitable scripting language and no suitable "utility" (like sed, awk etc.) then by definition: you can do nothing at all with the CLI. And the GUI app you hate: wins. Still: you can only do the stuff the programmer of the GUI app foresaw, but that is more than you can do with your non existing command line program which you desperately try to find with "apropos".

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    46. Re:Command line is more error-prone by kevmitch · · Score: 1

      Maybe it's just me, but I've made far more mistakes with GUIs. It's very easy to accidentaly drag folders into eachother and loose them if you don't notice right away.

    47. Re:Command line is more error-prone by dbIII · · Score: 1
      The issue IS simple.

      If there is no suitable scripting language

      Stop moving the goalposts.

    48. Re:Command line is more error-prone by angel'o'sphere · · Score: 1

      Sorry, you moved the "goal post". You said: CLI is always faster than GUI, you said CLI is better than GUI because there are only so many buttons.
      I only pointed out: there are plenty of GUI applications for which no CLI equivalent exists.
      Then you started arguing ... instead of admitting that I'm right.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    49. Re:Command line is more error-prone by dbIII · · Score: 1

      Now you are misquoting me.

    50. Re:Command line is more error-prone by angel'o'sphere · · Score: 1

      Oh, then you misquoted me as well, or? Or you simply could not follow my point.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    51. Re:Command line is more error-prone by dbIII · · Score: 1

      Don't blame me for your mistake or most likely deliberate strawman construction.

    52. Re:Command line is more error-prone by angel'o'sphere · · Score: 1

      Lol, says the man who is not listening not comprehending, or at least does not seek comprehension :D

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    53. Re:Command line is more error-prone by dbIII · · Score: 1

      Dishonesty impedes communication. Deliberately putting false words in the mouth of another more so.

    54. Re:Command line is more error-prone by angel'o'sphere · · Score: 1

      Well, then touch your own nose.
      I suggest you just scroll back and read the thread again.
      You started with putting "wrong meaning" into my words. I did not. So? Who is the culprit?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    55. Re:Command line is more error-prone by dbIII · · Score: 1
      Culprit - obviously the one putting words in the mouth of the other that were never even hinted at:

      You said: CLI is always faster than GUI

      You have reached to point of merely playing with yourself. This is no discussion, no debate, not even a mass debate, you are just wanking yourself onto the page.

    56. Re:Command line is more error-prone by Anonymous Coward · · Score: 0

      You can use pipes, loops etc. in a GUI as well. What can you really do with a CLI?

      * Activate a built-in command
      * Launch a program
      * Specify arguments and input to programs
      * Pipe the output of programs to other destinations

      You can do all those things graphically. These guys made a GUI pipeline:

      http://bioinformatics.org/loci/screenshots/

      Whether it's faster/easier/"better" than command line is another question, but it is obviously possible.

  9. Apeal to us lazy people. by Anonymous Coward · · Score: 0

    First, ask them to look up how to do some esoteric thing via the GUI and then do by following the long directions - open panel, go to menu, get dialog, go to tab, click on option, get another dialog, blah, blah, blah , etc .....

    Then the command line version: copy paste command into terminal - enter. Done!

  10. Give me a break professor... by Anonymous Coward · · Score: 0

    In my professional experience I have observed two types of people in various IT roles. The first group is the highly technical, analytical, command-line folks. The second group is mostly point-and-click user support and administration folks. Both groups are necessary in any moderate sized information system environment. Personally, given the choice between command-line versus GUI applications/tools I favour command-line because I am exceedingly productive without the distractions present within GUI environments. The only time I expect my colleagues to be proficient at the command-line is when working in a *nix environment. But again some people do not belong anywhere near a command prompt so there are tools available for them. Granted my first exposure to computers was in the early 1980s with Commodore PET BASIC and 6502 assembly language followed later by numerous languages and operating systems including GW-BASIC, FORTRAN, WATFIV, iAPx86 assembly language, PERL, BASH, Korn Shell, et. al.

  11. no need to gently move by rubycodez · · Score: 3, Informative

    They can learn the command line the same way people 40 years ago learned command line.

    Put those students on a system that can only do command line, and require them to do things. Problem solved.

    Don't pander to lazy, unmotivated fucks. we don't need any more windoze weenors trying to develop systems that run on real computers. half the java developers at my employer are totally useless and cause downtime because of their ignorance of posix systems

    1. Re:no need to gently move by dskoll · · Score: 1

      Don't pander to lazy, unmotivated fucks.

      This.

      I work in (actually, I own) a small software company and everyone is on Linux, even the non-technical people. Most of the non-techies do not normally use the command-line. However, I have written small CLI utilities for various things and the non-techies were perfectly fine learning enough CLI to use my tools. It's not that difficult and if people are too lazy or stupid to learn something new, then they don't deserve to be employed.

    2. Re:no need to gently move by gweihir · · Score: 1

      Indeed. And fail those that cannot cope permanently. They have no business managing or creating IT systems. A professor I know requires everybody to learn C and use it competently in order to pass his OS course. Students complain of course, because all they learn is Java. But that attitude changes for most of them later, when they realize what things they would have real trouble with, without that experience. When this guy retires, the quality of the education there will drop markedly.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    3. Re:no need to gently move by jklovanc · · Score: 2

      Don't pander to lazy, unmotivated fucks.

      Is that like those "lazy, unmotivated fucks" who use an electric drill instead of a bit and brace? Or those people who drive a car instead of walk everywhere? Technology changes and calling people names does not motivate them to stay stuck in the past.

    4. Re:no need to gently move by Anonymous Coward · · Score: 1

      the non-techies were perfectly fine learning enough CLI to use my tools

      I hate to break it to you, but they didn't learn anything. They either memorized or wrote down your recipe.

      "To clear the foo out of the bar, I have to do that one thing that IT nerd showed me. I just type grep foo /etc/bar/barconf | clrfoo > ~/foofound and it'll all be fixed up and I can see what it cleared in the 'foofound' file. Let's see here, open a CLI window... g-r-e-p... (*snip*) OK. I ran it. Did that work? It's blinking again, it must have worked. I'll look in the foofound file... I don't know what this all is. It must have worked. I'm done here."

      They didn't learn at all. You could've created a single window with a single button, run the same commands and reported the error code as a green "It worked!" or red "It failed! Oh no!" and the user would have been better off by far.

      GUI's aren't rocket science, and they are how computers work for most people these days.

      (Alternatively, if you want to clear anything out of a bar, you could just yell "Last call!" and be done with it.)

    5. Re:no need to gently move by bonehead · · Score: 2

      Technology changes and calling people names does not motivate them to stay stuck in the past.

      If the students in question are going to spend their careers in Marketing or HR, you might have a point.

      If the students in questin are going to spend their careers in IT, the inability to use the CLI == incompetent.

      Sorry if you don't like it, but that's the way it is.

    6. Re:no need to gently move by jklovanc · · Score: 2

      the inability to use the CLI == incompetent.

      So is the over reliance on a CLI. There are many things a GUI can to faster than a CLI.

      Learn CLI's and use it for what it is good for but also learn GUI and use them for what they are good for.

    7. Re:no need to gently move by Kijori · · Score: 1

      They can learn the command line the same way people 40 years ago learned command line.

      Put those students on a system that can only do command line, and require them to do things. Problem solved.

      Stand obstinately in the way of making the subject more accessible, and you will get two types of students: those who are keen, motivated and passionate about technology, and those who choose technology because they can't make it anywhere else. The latter group is not going to yield many great programmers. So congratulations - you've managed to retain the group who will always do your subject, no matter what, while keeping everyone else away.

      You don't have to dumb-down. You don't have to give everyone an A+. The point here is just to make it so that more people can engage with the subject initially, which opens it up to a lot more people with the potential to be great programmers.

    8. Re:no need to gently move by Kijori · · Score: 1

      This isn't saying that students should not use the CLI, nor that they should not be proficient in it.

      The point is that wanting to use a GUI for lots of common tasks is not lazy or incompetent. It's often the quickest and easiest way to get the job done. As a result, if you want students to appreciate that the CLI is important you need to explain why it is better to spend time learning its eccentricities rather than relying on the GUI applications.

      The alternative is to do what the GGP advocates, and just put them on the CLI and make them use it. That seems like a great way to sap their motivation with what seems like a pointless task.

      To reiterate: this isn't to detract from the power of the CLI. The point is that if you want students who are used to slick GUI applications to appreciate that power, you need to make it clear what the benefits are. Initially at least, the students will be able to do almost any task you set them much more quickly and easily with GUI applications than using the command line, and so if you do not set out those benefits clearly, they are liable to think that the CLI is a waste of time.

    9. Re:no need to gently move by Yunzil · · Score: 1

      Yeah, those lazy unmotivated fucks who just want to get some work done and not spend a bunch of time reading man pages.

    10. Re:no need to gently move by angel'o'sphere · · Score: 1

      While you are right I would wager you are also a bit harsh.
      I doubt a CTO or CIO needs to be able to hack away on a CLI ...
      But most CTOs, CIOs I know about have no clue, hence the computing world is since 30 years in the stone age.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    11. Re:no need to gently move by Anonymous Coward · · Score: 0

      They can learn the command line the same way people 40 years ago learned command line.

      It'll take them 40 years to become as good, then.

    12. Re:no need to gently move by Anonymous Coward · · Score: 0

      Don't pander to lazy, unmotivated fucks.

      That's a pretty shitty way to look at it, you narrow minded, arrogant cunt.

      I grew up on the command line from the early DOS days. I got a bit caught up in the GUI shiny when Word2 came out and Win3.11 let me run two.. yes two.. DOS windows at the same time. I was young, it was shiny. I have since repented for my sins.

      Then Windows 95 came along and I discovered Linux. That was back in the days when computers only had a few megabytes of RAM and it wasn't best used running a GUI. Also, the GUI tools to do anything were woefully clunky and inadequate so one was forced to the command prompt to do anything really useful.

      This day and age, the GUI tools bundled with Windows, Mac and Linux are sufficient to configure the computer for what 99.9% of users want. The other tools you can add on (word processors, web browsers, email clients, IDEs, etc) are so powerful, and reasonably intuitive, that they accomplish everything you could really think of. There is no real need to open a command shell to use your computer any more. Hell, I still prefer a good GUI over the command shell for casual tasks like mail reading, web browsing, IM chatting, etc. It's little wonder there are so many users who have never even heard of the command shell.

      I'd hardly call someone who really hasn't had a chance to know better a "lazy, unmotivated fuck". If the GUI is doing everything they need it to then it stands to reason a person will be reluctant to approach a new technique, which, by virtue of not being so shiny, appears to make things less easy for someone who is used to having all the options laid out in clearly clickable menus. There is a lot to learn to make proper use of a command prompt, and that person *will* be less efficient during the learning curve. Insulting that person's abilities/intelligence when they have these valid concerns is only going to scare them further away from the path of enlightenment.

      If you want to encourage someone to try a better tool then you need to examine how they are using their current tool (not hard while watching them struggle with a task for a few minutes), ask/confirm what they're trying to achieve and then suggest a better way to achieve it using a better tool. If they aren't really on-board try to give them a practical demonstration where you borrow their keyboard and show them how easy the task is using a string of command line tools.

      If you prefer to hurl insults instead then you are part of the problem and should shut the fuck up.

    13. Re:no need to gently move by fisted · · Score: 1

      Where's the difference between the user memorizing a command, or memorizing having to click a button? The difference here is sysadmin time.

    14. Re:no need to gently move by fisted · · Score: 1

      Figuratively speaking, what those people are busy doing is walking, and what they are ignoring is the manual page on 'running'.

    15. Re:no need to gently move by dbIII · · Score: 2

      Very stupid analogies. The GUI tools and CLI tools don't completely overlap. A better analogy would be like learning to drive without being aware of gears - fine going forward in an automatic but eventually there will be a situation where changing into reverse will be useful.

    16. Re:no need to gently move by martin-boundary · · Score: 1
      Why? This is nonsense. People who are unmotivated to begin with won't be good programmers, because programming involves lots of reading of boring reference manuals, lots of attention to detail, and mind-numbing repeats of the same running program, over and over, to drill down exactly where it's not doing exactly what's required.

      Being a mental masochist is not sufficient for being a good programmer, but it is certainly necessary. Anyone who isn't even willing to master a semi-boring CS class doesn't pass muster.

    17. Re:no need to gently move by Anonymous Coward · · Score: 0

      The Command Line is as much "past" as "proper writing skills, proper grammar, proper vocabulary" is something of the past. Illiterates will claim that reading and writing is an unnecessary skill. They will claim that they can always draw a picture and that it will be "worth a thousand words". MBA people with their destructive and stone-age mindset will throw their pseudo-knowledge into the discussion.

      But you know what ? Books/script rolls transcend thousands of years while we cannot fathom what those paintings in those french caves mean to us today. So, the Command Line is the supreme method of interacting with an information system and it will always be. That's because these commands are already equivalent to simple programs, with all the power, precision and efficiency that comes with programs.

      GUIs can be thought of as Manual Labor or Stone Age Cave Drawings. The command line is on par with the Bible or other books that can precisely communicate what was of important to the men and women who wrote it.

      If you want to be computer-illiterate (ignorant of the Command Line), that's your free choice. Just don't tell me this is something to cheer of.,0

    18. Re:no need to gently move by Kijori · · Score: 1

      It's only nonsense if you accept that, to be a good programmer, you have to be motivated right at the start of the course - being motivated after you've done some of the course, and the importance has been made clear, is not enough.

      I don't see any reason that that would be the case. In fact, I suspect that the biggest difference between the people who are motivated at the outset and the others, is that the former have already seen the importance and power of the CLI. In such a case, there's no obvious difference between their motivation once the importance and power have been explained.

    19. Re:no need to gently move by bonehead · · Score: 1

      While you are right I would wager you are also a bit harsh.
      I doubt a CTO or CIO needs to be able to hack away on a CLI ...
      But most CTOs, CIOs I know about have no clue, hence the computing world is since 30 years in the stone age.

      I would argue that CIO and CTO are "management" jobs, not tech jobs. As long as those guys can work with Outlook and Excel, they're in good shape.

    20. Re:no need to gently move by bonehead · · Score: 1

      the inability to use the CLI == incompetent.

      So is the over reliance on a CLI. There are many things a GUI can to faster than a CLI.

      I'm not arguing against using a GUI at all. I'm arguing against ONLY being able to use a GUI, and thinking you're qualified for an IT job.

    21. Re:no need to gently move by angel'o'sphere · · Score: 1

      Yes they are management, but both work in deciding what technologies and software to use/buy. That means they should have (and surprisingly often they have) a technical background.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    22. Re:no need to gently move by bonehead · · Score: 1

      Yes they are management, but both work in deciding what technologies and software to use/buy. That means they should have (and surprisingly often they have) a technical background.

      Equally surprisingly often, Outlook and Excel are the sum total of their technical ability. And in many cases, their Excel skills are "read-only".

      Probably descending into semantics at this point, but while many of them have come up from a tech background, those positions themselves don't require it. Anecdotally, it's been my observation that lower level managers are much more likely to have good tech skills, while the upper levels are mostly populated by people who spent their careers honing their political, rather than technical, skills.

    23. Re:no need to gently move by jklovanc · · Score: 1

      My comment was in response to the posters idea that anyone who uses a GUI is a "lazy, unmotivated fuck" which is patently not true. CLI's have their place as to GUI's. Use them both for what they are good for.

    24. Re:no need to gently move by jklovanc · · Score: 1

      Exactly, use the tools be they CLI or GUI to their best tasks.

    25. Re:no need to gently move by rubycodez · · Score: 1

      no, those lazy unmotivated fucks would use a wood bit to drill metal, becaus they're too lazy to change

    26. Re:no need to gently move by rubycodez · · Score: 1

      oh really, they click and point on 200 files because they can't do a wildcard on a command line. you call that efficiency?

  12. Try GnuWin32... by xxxJonBoyxxx · · Score: 4, Informative

    >> so wholly lacking in the functionality of a UNIX shell

    That's why I use the GnuWin32 http://gnuwin32.sourceforge.net/ tools: basically your standard Unix utility set on Windows.

    1. Re:Try GnuWin32... by Common+Joe · · Score: 1

      I last used this a couple of years ago. It's a pretty good set of utilities, but I will say this: it is slower than the native stuff in Windows. Despite that, it is much more powerful than the cmd.exe.

  13. I don't see the overlap by Anonymous Coward · · Score: 1

    Why would they use Spotify in their studies or their work?

    1. Re:I don't see the overlap by Anonymous Coward · · Score: 0

      Well, I'm not a student, and yet I use Spotify on 4 devices running Linux: Nexus 5 Android phone; Nexus 7 Android tablet; laptop; and desktop computer.

    2. Re:I don't see the overlap by EvanED · · Score: 1

      I use Spotify while I work, even though I'm not working on Spotify per se.

      Actually I put in a fair bit of effort into trying to get it to run on my machine when I was a grad student before giving up.

    3. Re:I don't see the overlap by bonehead · · Score: 1

      And how does that Spotify usage relate to your job function?

      I think you missed the entire point of the question you responded to...

    4. Re:I don't see the overlap by Anonymous Coward · · Score: 0

      I was just commenting on how stupid the article is. I use UNIX like operating systems almost exclusively, yet I still use Spotify just fine. The article makes no sense.

      Also, to make it more to the point, back when I was a student I used to listen to music while studying. So, I guess, students like me have a use for Spotify.

  14. If it's better, how hard do you need to sell it? by fuzzyfuzzyfungus · · Score: 4, Insightful

    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.

  15. Re:Command Line Not Necessary by jedidiah · · Score: 4, Insightful

    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.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  16. The FA is backwards by spasm · · Score: 4, Insightful

    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.

    1. Re:The FA is backwards by gweihir · · Score: 1

      Indeed. But that is only true if you have bright people with potential. The others will stick to the GUIs, as they are completely lost without them. Hell, many "programmers" or "system administrators" are mostly lost _with_ a GUI. The state of IT competence that you can routinely find in the OT field is a disgrace. I think you could kick out something like 50-80% of these people and productivity and quality would improve.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    2. Re:The FA is backwards by Anonymous Coward · · Score: 0

      I agree with you but would like to expand a bit:

      When is using a graphical interface (especially X or the OS/X desktop) not using UNIX? To pick one item mentioned in the original post, Spotify guis are available for Linux, surely for OS/X, and probably Solaris if not even AIX. Text versions of interfaces to Spotifiy also exist.

      The drive toward UNIX platforms surely shouldn't be a drive away from all graphical interfaces. It should be fueled by portability, security, an reliability. (Yes, I understand that Linux is not UNIX too, but to the public, it UNIX-like is enough to count.)

      Graphical interfaces, as you state, provide what the code writers envisioned the users' desiring/needing to do. The ability to flip to command line and do more is as important as being able to drop a plugin to a browser or media player to get a new format to work.

      Not everyone will ever code even a single line. But all of us want out systems to work and all of us dislike spending the time/effort/money (or CPU time / memory) equired to keep a Windows box clean when they are used by average people for average tasks. Forget about setting all the user's "free" ... they simply don't want it; a better approach is give them a smaller headache to do their tasks on and let them know if they want more it's available too.

    3. Re:The FA is backwards by martin-boundary · · Score: 1

      When is using a graphical interface (especially X or the OS/X desktop) not using UNIX?

      Quite often. The UNIX philosophy effectively requires programs to not make a distinction between human users, and scripts or robots. When a UNIX program produces output, it can be accepted directly as input to some other program with very little (awk)wardness (pun intended). When a UNIX program requires input, all of the requirements can be specified formally, using the command line or the standard input. Thus is makes no difference if a human operates the program, or a bash(1) script, or an expect(1) session.

      By contrast, GUI interfaces are ONLY intended for humans using a particular combination of screen and pointer technology (think Desktop vs Tablet as the latest example of this), have no way to specify inputs in a script friendly way, and do not produce output that any other program can use, only a human being. Yes these limitations of GUI programs can be remedied in various ways by introducing command line paraphernalia, but this usually ends up in a haphazard implementation which is almost, but not quite, in sync with a limited subset of the GUI interface's capabilities, causing uncertainty as to which interface is the most capable.

  17. Maybe you should get them OFF the UNIX farm by larry+bagina · · Score: 2

    I shit you not: this morning, one of my neck beard coworkers did a command-line sql query ('select * from table') piped through cut, sort, and uniq. Because, hey, 'distinct columns, i, actually, want' and 'order by column' is too much work.

    The point is, the best tool for the best job. Sometimes that's the command line, sometimes it's a text editor with regular expressions, and sometimes it's spotify.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

    1. Re:Maybe you should get them OFF the UNIX farm by bill_mcgonigle · · Score: 3, Interesting

      The point is, the best tool for the best job. Sometimes that's the command line, sometimes it's a text editor with regular expressions, and sometimes it's spotify.

      Yep. Depends what you want, too. I screwed around with a few different mp3 players, besides xbmc on my DVR trying to get a repeating elimination shuffle for the house holiday music, and wound up with this instead:

      while :; do find /storage/music/holiday_mp3 -type f -print0 | shuf | xargs -0 -n 1 mplayer ; done

      running on a screen(1) on the dvr. The only downside is that the folder is hand-curated because I couldn't get id3fs to do what I wanted because only the very latest Clementine can store ratings in id3 tags. Next year that'll be different (not that I need to buy any more holiday music...).

      Anyway, the command line does exactly what I want and I don't have to go submit an RFE to the various mp3 players or write such a patch myself. Obligate-GUI users might just have to accept "I can't do that". Unix lets you combine tools in new ways - GUI's let you easily do things that the GUI developers have already thought of (and to be fair, worked out all the steps involved for you).

      --
      My God, it's Full of Source!
      OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    2. Re:Maybe you should get them OFF the UNIX farm by TechyImmigrant · · Score: 1

      I shit you not: this morning, one of my neck beard coworkers did a command-line sql query ('select * from table') piped through cut, sort, and uniq. Because, hey, 'distinct columns, i, actually, want' and 'order by column' is too much work.

      The point is, the best tool for the best job. Sometimes that's the command line, sometimes it's a text editor with regular expressions, and sometimes it's spotify.

      I don't know what spotify is. Have I been missing a trick? I usually use the command line, but from time to time I've found a GUI IDE to be nice, like when writing Macintosh applications back before System 7. Will spotify make me a better programmer?

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    3. Re:Maybe you should get them OFF the UNIX farm by Anonymous Coward · · Score: 0

      Unless the query is returning a gazillion rows and grinding the db server to a halt, why the fuck do you care that he's not doing the way you (or I) would? That's one of the features of CLI, there's usually more than one way to do things. At least he's aware of cut, sort and uniq.

    4. Re:Maybe you should get them OFF the UNIX farm by msobkow · · Score: 1

      But he's not aware of how to use SQL effectively. And I'd bet you dollars to doughnuts this bozo is supposed to be programming database interfaces.

      --
      I do not fail; I succeed at finding out what does not work.
    5. Re:Maybe you should get them OFF the UNIX farm by LordMyren · · Score: 1

      Spotify's extensibility is really good! Their API is great, very flexible, and extends the common-est platform on the planet. Playing with Spotify made me a better programmer, for sure.

    6. Re:Maybe you should get them OFF the UNIX farm by Anonymous Coward · · Score: 0

      I have a nearly identical script playing educational videos in a loop on my wall TV----everytime I turn it on, it's right there... it's like having cable TV with only stuff that you want to watch.

    7. Re:Maybe you should get them OFF the UNIX farm by Anonymous Coward · · Score: 0

      iTunes -> Playlist -> Repeat All -> Shuffle -> Play was apparently too hard?

      I'm only half joking here, obviously one of the big problems with *NIX GUIs is that they tend to be bolted on after thoughts, and are therefore very incomplete. This leads to lousy experiences (like your own) and people deciding that "clearly the command line is better" when in reality, having a well designed program in the first place (like an MP3 player designed for average users and not *NIX geeks) is just as good if not better. There is always the problem you point out of the programmers having to have thought of what you wanted to do in the first place, but clearly the answer to that is that masterfully designed programs should be able to run both from the GUI and from the command line. From within a GUI I should be able to define scripts that run between steps (the delegate model would be an excellent starting point for this. A GUI that calls "shouldDo" and "didDo" functions for all it's various operations) and from the command line I should be able to access any data the program has access to (calling up the total play counts to use in another program say)

    8. Re:Maybe you should get them OFF the UNIX farm by Pembers · · Score: 1

      I didn't know the shuf command existed until now. You just gave me an easier way to pick my lottery numbers -

      seq 1 49 | shuf -n 6 | sort -n

      Thanks for that.

    9. Re:Maybe you should get them OFF the UNIX farm by Anonymous Coward · · Score: 0

      That's a terrible example. It's difficult to understand why you would even write that. Your creative usage of commas doesn't help, either.

      It's just an incomplete SQL query for the intended results.

    10. Re:Maybe you should get them OFF the UNIX farm by fatphil · · Score: 1

      There's a weapon that works against such behaviour - being patronising. It only works slowly, but it does work eventually. Don't snark here - just laugh "useless use of pipes", or "useless use of cat", or "useless use of $whichever_thing_he_used_which_was_useless" every time you see it. It's a hundred times easier and quicker to laugh than it is to type a dumb command line, so it's a very cheap remedy.

      I had a very bright co-worker who had never encountered the '-w' switch in grep. It took precisely one respectfully-made snark to fix that behaviour. He's optimised a few of the tasks that I commonly do too. Those who care learn, those who don't care get laughed at.

      --
      Also FatPhil on SoylentNews, id 863
    11. Re:Maybe you should get them OFF the UNIX farm by Anonymous Coward · · Score: 0

      Whenever you M$FT $hills from Burston-Marsteller write "Neckbeards", you paint big-fat crosshairs onto yourself. Now wait for the 155mm artillery to hit you.

    12. Re:Maybe you should get them OFF the UNIX farm by Anonymous Coward · · Score: 0

      Needs a remedial SQL class.

  18. Need motivation? Salary. by xxxJonBoyxxx · · Score: 1

    >> Convincing students from user culture to toss aside decades of advances in graphical user interfaces for a UNIX command line is a tough sell

    BS. Simply point out that GUI-only IT grunts are being replaced by the truckload by cheap Indian and Chinese labor (and why not) while those who have specialized in security, automation, programming and other areas that require you to use a keyboard continue to make top dollar and find interesting work even in this crappy economy...and I think you'll make your case.

    (Or...just point out that "decades of GUI advances" led us into the Windows 8 ditch - your choice.)

  19. The command line is more efficient by troll+-1 · · Score: 2

    In many ways the GUI system of icons is similar to the pictograph system of ancient Mesopotamia. You have one symbol for everything you want to express. The Phoenicians had a much better idea, an alphabet. You have a finite number of letters and an infinite number of words and sentences (I believe I'm quoting Noam Chomsky on the infinite part).

    If you are limited to commands that contain only five lower case letters, then the number of possible commands is something like 26 to the power 5 which is over 10 million. It would be difficult to navigate through that many icons. The point-and-click method of using icons is just not as efficient as an alphabet with letters that make up words that make up a language.

    1. Re:The command line is more efficient by TechyImmigrant · · Score: 1

      If you are limited to commands that contain only five lower case letters, then the number of possible commands is something like 26 to the power 5 which is over 10 million. It would be difficult to navigate through that many icons. The point-and-click method of using icons is just not as efficient as an alphabet with letters that make up words that make up a language.

      Right, but sometimes you might confuse the yyymy command with the yymyy command and that really sucks.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    2. Re:The command line is more efficient by reikae · · Score: 1

      Just like you might confuse the icon representing yyymy with yymyy.

    3. Re:The command line is more efficient by funky_vibes · · Score: 1

      I agree with what you say, but I don't think this really boils down to a GUI vs CLI argument. There are a lot of badly made CLI jumbo-apps too. Things where programmers have been too lazy to divide a program into constituent parts necessary for reuse, or create a proper UI.

      I think the problem is that GUIs only evolved for a short time in the 80s and beginning of the 90s, at which time people also dreamed of graphical interfaces that would some day allow advanced computer interaction. As seen in many of the cyberpunk movies from that time.

      But that never happened.
      Instead, for 20 years, all GUIs have continued to be rehashes of the same kind of simplistic UI mostly designed for small children to interact with games and leisure.
      The over-extension of these GUI systems well past their best-before date can be considered similar to the pictograph system. Which has become tedious and unusable for more complex tasks.

    4. Re:The command line is more efficient by TechyImmigrant · · Score: 1

      A modern GUI would provide a search feature and offer you both versions with tooltips(r) to guide you to the correct choice.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    5. Re:The command line is more efficient by angel'o'sphere · · Score: 1

      Most so called "pictographic" systems in fact where letter or at least sylable based (like egypt hiroglyphes) systems. They simply did not have the idea to invent a simpler letter. Very old Sumerian was indeed pictographs, but in less then one hundret years they started to use the pictograms as letters, that e.g. means translated into english terms the pictogram for SHEEP was used as the sound SH (but they did not invent a letter for S or H or SH).
      Complicated to write 'show' as a triple of pictograms: SHeep Ocean Woman .. yes, it is.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    6. Re:The command line is more efficient by Anonymous Coward · · Score: 0

      And a modern CLI has tab completion. And there exist these things caled man, --help and grep. Bet I can find the option in the man page before you've got the help borwser open, and managed to find the entry in there.

    7. Re:The command line is more efficient by marcosdumay · · Score: 1

      And a 70's CLI will provide you with completion that complains when you use the wrong kind of arguments, and a buffer from where you could edit your last command of "man yyymy" that you used to make sure it was the right one.

      Search and tooltips are CLI like tools, imported badly into GUIs.

    8. Re:The command line is more efficient by dkleinsc · · Score: 1

      One of ESR's Unix koans makes the point wonderfully, I think.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    9. Re:The command line is more efficient by TechyImmigrant · · Score: 1

      Er.. the both-options/tooltip thing was a joke to illustrate how crappy GUIs are.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    10. Re:The command line is more efficient by TechyImmigrant · · Score: 1

      That joke was clearly not nearly obvious enough.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    11. Re:The command line is more efficient by marcosdumay · · Score: 1

      I'm glad that was a joke. I think it'd be funny if I got it.

      The problem is that I've seen a few people honestly holding that same oppinion - there is a "law" about no joke being obvious enough in the Internet, I just don't remember its name.

  20. Simple by gweihir · · Score: 2

    Expose them all in a mandatory fashion. Those that have real potential will see the superiority of the command line. Many will not, but are no big loss. (If you can, fail them permanently later.) Incidentally, the same works with C programming.

    No, the problem is not the there are not enough programmers or software engineers. The problem is that there are far too many bad ones. Get rid of those and the good ones could not only implement everything that needs implementing, they could also do it a lot better.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  21. Best course is to give them working examples by Todd+Knarr · · Score: 2

    Don't just explain it, give them jobs where the command line works. For instance, automating builds. All developers will need to build the software they write. Give the students the task of automating their builds. Note that this means truly automated: it has to happen with no human interaction, not even to start the build. If it can't be set to automatically check out the latest code and run the build at 2AM without a user being up to trigger it, they haven't completed the assignment. Include jobs like generating necessary Web service support code from service definitions (which will run them up against the problem that there are no GUI tools to do this in the Windows/VisualStudio environment, it's all command-line tools and they aren't integrated into VS). Once they've gotten their heads around that, hand them complex automated maintenance jobs like "Find or create a program to identify images with a specific bit of metadata in them. Now, create a process to automatically scan all newly-uploaded files and move any that contain that metadata to a location under a "bad file" location matching their location under the "new uploads" location.".

    Long and short, don't explain to students why the Unix command-line environment's better than a GUI. Give them real-world jobs that're necessary for what they're doing that demonstrate how it's easier to do all this from the command line than via a GUI.

    If you truly want to be nasty, give them an assignment to get in and repair and restart a Web server that's broken because of a damaged config file. They must do this from their smartphone or laptop, from a remote connection (hotel WiFi or somesuch, they're out of the office and this is an emergency), with no remote-desktop access directly available (you can have a VPN available which would let them RDC in if it were working, but if their device isn't already set up for it there's nobody in the office who can help them get it set up and turned on so they're on their own). All they have is SSH access if it's Unix servers.

    1. Re:Best course is to give them working examples by ObsessiveMathsFreak · · Score: 1

      Give the students the task of automating their builds.

      Screw that. Give them a spindle of CDs and tell them that you want a complete rips in mp3, FLAC, AAC, and in multiple bitrates with appropriate tags from CDDB. For advanced students, give them a spindle of dvds and mkvtoolnix and tell them you want the works.

      By the time they've wriiten their own ripping scripts, most of them will grok the command line completely.

      --
      May the Maths Be with you!
    2. Re:Best course is to give them working examples by danlip · · Score: 1

      Give most students a spindle of CDs today and they'll probably start checking the room number to make sure they didn't accidentally walk into an archeology class.

    3. Re:Best course is to give them working examples by EvanED · · Score: 1

      Give them a spindle of CDs and tell them that you want a complete rips in mp3, FLAC, AAC, and in multiple bitrates with appropriate tags from CDDB.

      Incidentally, I can do all of that from a GUI as efficiently as you could from the command line -- and get more-assuredly-correct results (if you care about ripping accuracy). The limiting factor of that task -- and trust me, I've done it -- is waiting for the rips to complete and changing CDs out. Transcoding, with the right software, is as simple as right clicking the folder you ripped to, saying "convert to", then choosing the format from the pull-down list. If you gave more than 2 or 3 bit rates per format I might look at command-line options for the transcoding, but not with fewer.

      As I've said elsewhere in this thread, I do 95% of my work work via SSH into a Linux box, so I'm pretty-well versed in its strengths and weaknesses. And... IMO, you choose a very weird task if you intend to illustrate its strengths.

    4. Re:Best course is to give them working examples by angel'o'sphere · · Score: 1

      Exactly!
      When I teach martial aets I do the same!
      I demand them doing stuff and use words they can not even google for, and magically they all learn to jump 2 yards into the air and do a kick to break a brick above their head.

      Sorry, you are a complete moron.

      It would take me weeks if not monthes to even figure HOW to do what you demand besides writing a script for it.

      Might be my fault that I never ripped a CD besides putting it into my Mac and let iTunes do the work (which is set to rip it as an mp3).

      Sorry, you are an elitist asshole ... (and you very liklely use one of the famous rip programs and have no clue either how to do that from a bash shell)

      In other words: a semseter for a student who has lots of other stuff to do, simply has not enough time to answer your challange!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  22. I am confused... by Anonymous Coward · · Score: 0

    If they don't need it, why should they use it? A tool has no value in it self.

  23. Computer Science students by dskoll · · Score: 3, Insightful

    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.

    1. Re:Computer Science students by Anonymous Coward · · Score: 0

      Your notion of "worth" is kind of amusing.

      Imagine for a moment how many children are growing up now with iPads and Android tablets and probably won't be using keyboards at all. Using the command line is as arcane as using punch cards, and inevitably they will be phased out.

    2. Re:Computer Science students by Anonymous Coward · · Score: 1

      Can't be, as somebody has to write the stuff that people twiddle with on the screen.

    3. Re:Computer Science students by TechyImmigrant · · Score: 2

      Your notion of "worth" is kind of amusing.

      Imagine for a moment how many children are growing up now with iPads and Android tablets and probably won't be using keyboards at all. Using the command line is as arcane as using punch cards, and inevitably they will be phased out.

      For every ipad waving shop assistant scanning the barcodes on products, swiping your card down the side thingy and selling you the goods, there a poor sod somewhere with a keyboard typing in the product descriptions and barcode numbers so they can be printed on labels to be transacted keyboardless later. The keyboard is still part of the process, it has just been removed from the sight of the consumer.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    4. Re:Computer Science students by Anonymous Coward · · Score: 0

      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.

      I'm probably as old as you are, have programmed for a living in a dozen languages plus multiple frameworks. However I have also held most of the positions that exist in information systems in a dozen corporations, from tech writer, developer, software engineer, team lead, up through senior management, and because of that, I have the perspective and experience to tell you you're full of shit. CLI is not a benefit for most work in information systems, and your statement that CS graduates must be proficient in CLI is ludicrous.

    5. Re:Computer Science students by Cid+Highwind · · Score: 1

      Oh for fuck's sake. Yes. Memorizing tables is not math, it's an exceptionally boring party trick.

      --
      0 1 - just my two bits
    6. Re:Computer Science students by dskoll · · Score: 1

      Imagine for a moment how many children are growing up now with iPads and Android tablets

      The article was specifically talking about computer science students, not brainless drones who are merely content consumers.

    7. Re:Computer Science students by dskoll · · Score: 1

      Oh for fuck's sake. Yes. Memorizing tables is not math, it's an exceptionally boring party trick.

      Thus spake the expert on mathematical education...

    8. Re:Computer Science students by trongey · · Score: 1

      I don't know what article you were reading, but the one linked in the summary says he was teaching programming to librarians. I can't fathom why he was trying to do that though. I know some librarians, and writing software isn't something they get paid to do.

      --
      You never really know how close to the edge you can go until you fall off.
    9. Re:Computer Science students by Cid+Highwind · · Score: 1

      I'm an expert observer of my own environment, and have noticed that now that they're built into every phone OS it's been a decade since I was more than a few steps from the nearest calculator.

      What value does being able to rattle off the old times table have when you're sitting in front of a computer (with a calculator app), with a smartphone in your pocket (ditto), and probably a desk calculator with some vendor's logo on it (since they're about $0.99 in bulk)?

      --
      0 1 - just my two bits
    10. Re:Computer Science students by Blakey+Rat · · Score: 1

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

      What if they don't have the memory for a CLI? What if they're dyslexic? What if those people love computers and want to write software?

      You know the great thing about GUIs? They spend a lot of effort being accessible to everybody. They have tons of features to help those with disabilities, no matter how minor or severe. They have a handy "Undo" function so minor screwups don't become major disasters.

      It's grossly unfair to fail someone because they can't easily use a particular interface, when the job can be done equally-well using another interface. If you're teaching programming, teach programming... don't fail your students because they can't use a particular UI. If the student can complete the assignment perfectly using an IDE (with its accessibility features), but can't wrap their head around the CLI-- well, what's wrong with that? They completed the assignment!

      Should we refrain from teaching the multiplication table because we have calculators now to do it for us?

      Yes. ...oh were you looking for a "no" there? Because the answer is obviously "yes". Sorry.

      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.

      Discrimination is wrong. That is what you're proposing. That's really what everybody in this thread talking-up the CLI is proposing.

    11. Re:Computer Science students by Anonymous Coward · · Score: 0

      You seem to be arguing that just knowing that 7*8 is 56 in under 1s is useless since you could spend 100x as long getting the answer on your smartphone (get it out, unlock it, select and open calculator, etc.).
      Frankly, you're an idiot.

    12. Re:Computer Science students by Anonymous Coward · · Score: 0

      What if they don't have the memory for a CLI? What if they're dyslexic? What if those people love computers and want to write software?...Discrimination is wrong. That is what you're proposing. That's really what everybody in this thread talking-up the CLI is proposing.

      My cat loves computers, as evidenced by the fact that it is frequently found sitting on the keyboard. It particularly likes to do so when I'm programming. Clearly it wants to write software.

      Discrimination is wrong!

      Therefore, in order to not discriminate against potential feline programmers by imposing anything as mundane and boring as actual criteria, we must give all cats degrees in CS immediately!

      We can make them patent examiners at the same time, solving two problems at once.

    13. Re:Computer Science students by Anonymous Coward · · Score: 0

      People who think the CLI isn't relevant anymore do nothing except out themselves as ignorant.

      A machine without a decent CLI is a piece of junk...not even worthy to be called a toy...you can play with toys, but not a machine without a CLI.

  24. Comment about the User Culture Versus Programmer C by Anonymous Coward · · Score: 0

    [QUOTE]
    When I volunteered to help teach programming to a group of librarians earlier this year (read Teaching Librarians Programming for details), I witnessed this cultural schism firsthand.
    {/QUOTE]

    The first and most important question in my head was "Why do librarians need to learn about computer programming?" The article failed to expain the context of the situation which gave rise to the perceived need to conduct a training session for the librarians. There might have been a legitimate job-related benefit yet it was left unstated.

    The remainder of the article stated obvious differences in the mindset of computer programmers versus application/tool users. However, most of the examples cold have been illustrated at the command prompt if a suitable text-based application was available. We have plenty of console-based music player applications to choose from in the various *nixes to pick on Spotify for a moment. I understand the intent of the article but the underlying premise is about as insightful as a debate over the reasons some people prefer black pepper versus salt on their food.

  25. Unix is powerful by onyxruby · · Score: 2

    The problem isn't the capabilities of Unix, it's never been about that. The problem has always been about the usability of Unix from the average Joe's perspective. The fact that new users are typically told to RTFM and met with hostility certainly hurts the cause. It wasn't any different with DOS, it was a command line OS that was so counter-intuitive to learn that it spawned the entire 'For Dummies" series of books. By the time Windows 95 came out and put a useful GUI on DOS it was such a big deal that people lined up outside the stores at midnight just to buy it.

    Steve Jobs understood this and worked ruthlessly to make Mac OS easy to use regardless of the back end. Nowadays you have the argument that Android and Mac OS/iOS are out there an extremely popular, but again they are simply GUI shells to the back-end that hide everything. Cisco routers and switches also have GUI's that will happily hide everything that was previously done by a command line. Really, the bottom line is that unless your in certain fields in IT or a programmer you don't have anything to gain by playing with command line. I grew up on the command line, I have spent decades with it, but I can't justify it to anyone just because I went through it.

    Time's change, I remember supporting Novell Netware 2.x and 3.x and Token Ring, but I'm not about to suggest anyone spend time learning Netware or Token Ring either. I've had these conversations with people new to the field, they don't see the point, they just see a GUI to learn and buttons to click. The OS itself doesn't make a damn bit of difference, they don't want anything to do with a command line.

    1. Re:Unix is powerful by funky_vibes · · Score: 1

      Do you understand what RTFM means?
      If anyone, _ever_, tells you this, they're probably right, you didn't read the manual, and are now being a self-righteous prick expecting to be spoonfed by others for free. It's not even hostility. It's a helpful indication that you need to go back and read that manual, and it's for your own good.

      I understand how it can be confusing, when coming from an environment like Windows, where you have "Help on how to use help", and support personnel will gladly spend hours helping you fix all kinds of trivial problems, including problems caused by you.
      But these people are being PAID to babysit you.

      In the end, as we've seen, people are always going to gravitate toward the systems utilizing the biggest marketing bag-o-tricks, there's no other magic here.

    2. Re:Unix is powerful by Anonymous Coward · · Score: 0

      Oh yeah, dollar$oft $hills. "Just use our GUI and you will be safe !". Until you permutate the GUI in random ways ("ribbon", TIKFAM) to make more $$$.

      Very much like Coca-Cola telling kids to "drink Coke and be happy". Until they weigh 150 kilogramms from all the sugar.

      "Cooking a meal yourself is so old-faishoned, given that McDonalds and Coca-Cola offer you a tasty, healthy meal at a drop of a few coins !"

  26. Not just command line by jklovanc · · Score: 1

    Another issue with Linux adoption is packaging and backward compatibility. I tried to install an older version of Capistrano (the current version is not backward compatible and I didn't want to re-write the scripts) under CYGWIN. It would not work with the newest version of Ruby because Ruby is not backward compatible (the compatibility issue) and I couldn't find a older ruby binary for CYGWIN. Sure I could have compiled it but I just want to use it not be a Ruby developer. If you are not using the latest version there are too many dependency and compatibility issues.

    The other issue is that command line requires remembering a lot of esoteric commands. I would rather concentrate on creating software than remembering the difference between "git -push" and "git -commit". Also, since I use Eclipse it is an extra step to get out of eclipse to go to a command line and enter a command rather than just click a few times. If I am in a GUI I want to stay in it.

    To those who say "You can do everything you want on command line" I say "You dig a canal with a teaspoon too but I wouldn't want to do that either". Command line has it's place for some things and GUIs others.

    1. Re:Not just command line by Anonymous Coward · · Score: 0

      Honest question, is the concept behind -push and -commit really that difficult? To hipsters c&p from stackexchange, for sure, I can see that. But for serious programmers, it better not be.

    2. Re:Not just command line by dbIII · · Score: 1

      You've got your analogy backwards. The GUI is the easy to use teaspoon while the CLI is the bulldozer you have to learn how to drive.
      Pointing at pictures only works if they depict exactly what you want to do.
      Eventually finding some other way to communicate other than pointing at pictures gives you more options.

      Also, these are supposed to be CS students so they don't need to be wrapped in cotton wool and protected from "hard stuff". They are supposed to be the people writing the difficult back ends behind the pictures that people are pointing at.

    3. Re:Not just command line by jklovanc · · Score: 1

      This discussion seems to be about extremes. There are CLI purists who seem to look down on anyone who uses a GUI. Yes you can do everything with a CLI and you should learn how to do it. GUI's are also helpful in that they are easier to use for many things. Use each tool to their best. For example I use eclipse and eGit. For me to do a commit and push it is a click to start the commit, a few clicks to select the files to be committed and another to do the commit and push. From the command line that would be a command to stage the files and having to remember the paths and file names that changed, another to do the commit, and another to do the push. The GUI is much faster.

  27. Pipes by cold+fjord · · Score: 2

    In Unixland the answer is pipes. You can quickly teach them to do things that typical stand alone programs won't do, or won't do easily using simple programs linked together by pipes. It is a form of linking the two paradigms while moving them closer to actual programming, especially since some of the tools you can link with pipes are programmable (awk, sed, perl, etc.). Once they know how to perform actions from the command line it is a trivial step to put them into a shell script - real programming with a scripting language.

    --
    much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
    1. Re:Pipes by TechyImmigrant · · Score: 1

      But pipes suck big donky balls when you want to connect things in a tree rather than a linear list.
      Mind, IDEs don't connect anything to anything.

      Sometimes you just need to get off your arse and write a program so the command line doesn't need to be too clever.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    2. Re:Pipes by LordMyren · · Score: 1

      The ability to use language (the command line) to express complex tasks is indeed it's highlight, but there's absoluetly nothing magical about this task-constructing that makes it uniquely UNIX'y in nature IMHO. Noflo, Node-RED, jBPM, IFTTT &c demontsrate user-authored task composition at the GUI level. Android Activities are themselves a kind of pipe to "?", where the GUI asks the user to complete.

      The difference with UNIX is that the shell is a language, one that has very wide expressibility, and one that has multiple levels of grammar: the shell itself has a grammar, and the programs each have their own argument grammar, and this multi-level flexibility has proven robust, durable, & capable for expressing a very wide range of things. Which I don't see as uniquely UNIX, as uniquely CLI, but as a characteristic & not necessarily a good one that explains it's survival & persistence as an expressive tool.

    3. Re:Pipes by dskoll · · Score: 1

      But pipes suck big donky balls when you want to connect things in a tree rather than a linear list.

      Which is why tee and named pipes (FIFOs) were invented.

    4. Re:Pipes by TechyImmigrant · · Score: 1

      Anything more than one tee gets out of hand.
      Named pipes are not exactly a command line feature.

      Both are great, but they only go so far.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    5. Re:Pipes by Anonymous Coward · · Score: 0

      But pipes suck big donky balls when you want to connect things in a tree rather than a linear list.
      Mind, IDEs don't connect anything to anything.

      Nonsense. Never heard of process substitution?
      http://tldp.org/LDP/abs/html/process-sub.html

      You are welcome.

    6. Re:Pipes by Anonymous Coward · · Score: 0

      But pipes suck big donky balls when you want to connect things in a tree rather than a linear list.

      Pipe first step to a file.
      Pipe file as input to branch 1, pipe output of branch 1 to another file.
      Pipe file as input to branch 2, pipe output to another file.
      Done.

      Use a shell script to plan out all the steps in advance if necessary.

    7. Re:Pipes by TechyImmigrant · · Score: 1

      Arse. 35 years are farting around with unix CLIs and I never knew you could do "thing (cmd arg) (cmd arg)". "thing (cmd arg)" I'm completely familiar with.

      It's still nothing like a CSP transaction model which is trivial with a few lines of your favourite scripting language.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    8. Re:Pipes by TechyImmigrant · · Score: 1

      But I maintain that it's still not easy. Look at any mildly non trivial example in the linked page, I.E. 23-1 onwards and the code starts to get out of hand. It's not short, clear and readable.

      In my caveman mode of CLI use, I use tee liberally to log points along a pipeline. But when things start turning meshy or tree-y, I use IPC. Python has excellent IPC support.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    9. Re:Pipes by Anonymous Coward · · Score: 0

      Named FIFOs, IO redirects, tee. I've used these together to join some Perl scripts and a few of standard tools to reformat, split and merge a collection of performance test results from multiple machines into a single file for analysis. Despite the overheads of doing it this way the task was IO bound for multi gigabyte datasets and parallelised wonderfully. The only flaw was the command line to do it was almost unreadable so I generated it with another Perl script.

  28. Re:Command Line Not Necessary by Anonymous Coward · · Score: 0

    Already Done - it's called "KATE" and is part of KDE. You have a console right there when you want it and minimized when you don't need it and it's been part of KDE since v:3 days

  29. Same Old Programmer-Dictator Bullshit by MarkvW · · Score: 1

    Provide an outstanding GUI with an outstanding migration to the command line.

    Stop being arrogant.

  30. Re:Command Line Not Necessary by gweihir · · Score: 1

    Mastering the command line is not necessary if all you care about are are average (read: bad) skills at software creation and system management. The GUI is _not_ a step forward. It is a slow, inflexible crutch for the incompetent (of which there are many). Being incompetent is perfectly fine for ordinary users and GUIs are for them. IT professionals have no such excuse.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  31. "Gently introduce" by Anonymous Coward · · Score: 0

    'You need to gently introduce students to why these tools will eventually make them more productive in the long run

    Or, you could just, you know, fucking prove it scientifically if you're so sure of yourself instead of relying on your l33ter-than-thou attitude to show me the error of my ways. I use an IDE and my salary is the exact same as my VIM-obsessed coworkers.

  32. No Need by jon3k · · Score: 1

    The smart ones who have a propensity for it will "get it" and gravitate towards it, just like the always have. Many, or maybe even most, programmers (at least back end) are going to interact with a UNIX like environment at some point.

  33. Horses for Courses by drmofe · · Score: 1

    Does the professor teach his students by giving verbal and written instruction or does he do it in the form of interpretive dance?

    The challenge of Computer Science is managing, modelling and directing complexity. GUIs do that in one way; command line interfaces do that in another. You teach students how to deal with complexity and their ability to do that - the maximal level of complexity that they can manage - determines their potential as a Computer Scientist (programming being a subset thereof)

  34. A step backward by Animats · · Score: 2, Interesting

    The original MacOS had it right - there was no command line at all, at any level. The mechanism for manipulating the system at a low level was ResEdit, a tool for editing the resource fork of files. It was a GUI tool, not a command line. If you wanted to set the color of something, you used a color picker; you didn't write RGB in hex. This was an effective way to do the job.

    Unfortunately, the original MacOS sucked as an OS - no processes, no threads, no memory protection. The designers had to do that to cram it into 128K of RAM, but it didn't scale. On top of that, the Mac's "Resource Manager", which was really a little database system, was an unstable database. A crash while the resource fork was open for writing usually resulted in a corrupted resource fork. This gave the resource fork approach a bad reputation. In reality, the problem was that it was designed for floppies, where writes were so slow that keeping the resource fork in sync was too expensive.

    Then, when Apple needed Steve Jobs back, they had to buy his NeXt failure for $400M, so they ended up using NeXt's warmed-over BSD/Mach kludge. So they got all the obsolete UNIX command line crap back. They also lost the Mac file system with its resource forks.

    In the Linux world, the legacy command line crap is stacked so deep that nothing can be fixed. Many things that should be databases are text files. So there are stil lock files, sending signals to processes to tell them to reread their text file, and similar legacies of the bell-bottom-trousers 1970s.

    There's also a pernicious tradition in Linux that GUI tools need not be comprehensive. It's OK to have a GUI tool that doesn't let you do everything you can from the command line. Linux GUI tools tend to be dumbed down, and often don't know what they did - they just display text messages from a lower level in a text box. On the original Mac, that was an absolute no-no. Programs couldn't even use print statements.

    1. Re:A step backward by Rosyna · · Score: 1

      On top of that, the Mac's "Resource Manager", which was really a little database system, was an unstable database

      If you used the resource fork as a database, you deserve to DIAF.

    2. Re:A step backward by bonehead · · Score: 4, Insightful

      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.

    3. Re:A step backward by Anonymous Coward · · Score: 0

      I can't say how it was on MacOS but OS X has Automator, a way to create batch jobs mostly through drag and drop. It is extensible, allowing new applications and scripts to be added to it. I've found the latest iterations of it to be significantly more difficult to use but the concept has been well demonstrated. It's not pure GUI but it fits well into an office of domain experts supported by on admin/dev. It can also be a lot faster than figuring out Imagemagick for zimple batches.

    4. Re:A step backward by dbIII · · Score: 1

      The original MacOS had it right - there was no command line at all, at any level

      I had an Atari ST instead, and there having no command line seemed to be getting it wrong. When I changed it's desktop to a mixed GUI/CLI environment called "gemini" everything seemed to be so much easier.

    5. Re:A step backward by Anonymous Coward · · Score: 0

      If the application isn't smart enough to provide an internal UI for filtering items in a manner suitable for that application, you write an AppleScript to choose the 7,000 items.

    6. Re:A step backward by michael_cain · · Score: 1

      The guy in the cubicle next to mine got one of the early versions of MPW for the Mac. He thought it was hilarious that the first thing the software did when launched was open up a 24x80 terminal window running a CLI... More seriously, small text-based interfaces can provide a lot of bang for the buck when resources are scarce. MacFORTH was the first development environment for the Mac; you still see FORTH implementations in boot loaders; text-based interfaces ought to be in most programmers' box of tools, even if they seldom need (or in writing most software, want) one. Developers are sort of a natural group to make use of such interfaces, since the very large majority of them are going to spend lots of time writing down what the computer should do in a procedural text-based language...

    7. Re:A step backward by Blakey+Rat · · Score: 1

      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?

      What exactly are you trying to do? Why would you ever have a resource fork like this? What a contrived example.

      But hey, even with your contrived-as-hell stupid example, Apple had the answer: AppleScript. Everything was scriptable. Most apps were also recordable.

      And of course, any actual system with 10,000 items would have them in this marvelous invention called a "database", and there you could edit the color with this amazing thing known as a "query". (And no, resource forks weren't intended to be used as databases.)

    8. Re:A step backward by Blakey+Rat · · Score: 1

      That's why all the software was written in THINK C or THINK PASCAL. (Or CodeWarrior later on.) MPW had a relatively small marketshare.

      That said, THINK C did have a CLI for C apps that required one, but that was just to be compliant with the relevant C standard-- they didn't really have a choice.

    9. Re:A step backward by Anonymous Coward · · Score: 0

      If changing 7,000 colours was something anybody actually needed to do, they would have provided One True Way of doing it.

      But it wasn't, and instead you're just being needlessly obtuse.

    10. Re:A step backward by michael_cain · · Score: 1

      At some point I ended up writing a couple of small GUI applications with CodeWarrior, although on much more capable machines than the one where my colleague first ran MPW. The only thing I remember about the experience was being frustrated by having to learn yet another text editor, and one that wasn't -- IMO at the time -- nearly as competent as vi for writing code.

    11. Re:A step backward by Cajun+Hell · · Score: 1

      The original MacOS had it right - there was no command line at all, at any level. .. [GUI] was an effective way to do the job.

      No, that UI paradigm was seen at incomplete and not-enough, long before Jobs came back in the late 1990s. That's why they needed AppleScript: to make it usable, for those situations where people don't have time to manually sort through and click on thousands of things. To turn hours of error-prone human tedium into seconds.

      GUI will never be the only UI. GUIs are too slow and cumbersome, too manual and labor-intensive, for situations where you have lots of things you have to do.

      Or to look at it another way, no OS comes with everything that everyone needs, out of the box. Some people need additional apps, and those apps are written using programming languages. Those apps are not written by some programmer clicking on things in Finder, because there are zillions of very useful things that you can dream up, which Finder has no way to express. There's a reason we're talking to each other in words right now, rather than futilely trying to draw pictures.

      What GUIs excel at, is giving people a way to do things that are already well-understood and have a plan already made for them. (And which don't involve any sort of hideous quantities of objects.) And having "a plan for everything anyone might ever want to do" is something that can only happen after we've all turned into zombies; until then, we'll all be too creative.

      --
      "Believe me!" -- Donald Trump
    12. Re:A step backward by Anonymous Coward · · Score: 0

      The original MacOS had it right - there was no command line at all, at any level.

      In your later comments you mention that it did have Apple script.
      Apple script is in fact a sort of command line with no interactive mode. You can write an Apple script command, save it, and run it, achieving exactly the same effects as using a CLI. So therefore the original MacOS *did* have a CLI by your own admission. It was just a pain in the ass to access it for interactive use.

    13. Re:A step backward by redlemming · · Score: 1

      The original MacOS had it right - there was no command line at all, at any level. The mechanism for manipulating the system at a low level was ResEdit, a tool for editing the resource fork of files.

      The absence of a command line is why the software for the original Mac OS was written and tested on systems that DID have a command line. It simply wasn't practical to do this work by bootstrapping a graphical system. Too many tools had to be built and integrated, and wrapping a GUI around the development process would have hugely increased the time it took to get to market.

      ResEdit, BTW, has many limitations (it got better over time and many releases), and if you were a Mac programmer in the old days you would have rolled a fair amount of your own code to work around these limitations. It's much easier -- if you need to generate a large number of resources -- to do so programatically than to wander through the same gui windows over, and over, and over, setting each resource individually with lots of mouse clicks and typing. Talk about carpal tunnel! ResEdit is really more a tool for tinkering, or making small changes, or building simple prototypes, than a complete and full-featured tool for low level manipulation of the system.

      More generally, integrating a large number of different tools using a GUI is difficult at best, and often a disaster waiting to happen.

      There are an enormous number of scientific and engineering tools out there that only solve PART of a problem or accomplish PART of a task. To solve a whole problem, or do the whole task, it is generally necessary to tie together a wide variety of tools. Typically you don't want to have to reinvent the wheel by rewriting all the tools! This integration process is HARD to do within a GUI environment. It's not an accident that tools for scientific computing, such as Matlab and Mathematica, are command line based.

      Part of the genius in the design of Unix lies in the recognition of this difficulty: the designers provided very clever mechanisms (by the standard of the time) to support integrating disparate tools.

      A classic example of an engineering task is chip design, which in spite of decades of work in developing graphical interfaces to support the design process still requires enormous amounts of automation and scripting.

      Even in situations where some available GUI is capable of solving a problem, it's often a lot more efficient to roll your own solution, by integrating individual tools at the command line. The GUI designer might not have the right data structures needed to efficiently to solve any given problem. It's hard for a GUI designer to envision every possible circumstance under which an user might want to do something!

      For these reasons is why it is absolutely necessary for developers -- if there's any chance they'll be doing scientific or engineering computing (doing this is the reason computers were invented in the first place) -- to know how to use either a command line or a scripting language to be considered competent and well rounded.

    14. Re:A step backward by Anonymous Coward · · Score: 0

      Applescript. It's not as easy to program as Bash but for recording a sequence of actions and replaying it on multiple files you could often get the same result with less thought.

  35. PS by westlake · · Score: 1

    When I volunteered to help teach programming to a group of librarians earlier this year, [a two day boot camp] I witnessed this cultural schism firsthand.
    The 35 students all came from user culture, whereas the 6 instructors all came from programmer culture.

    Note that by ''programmer culture,'' I mean a UNIX-style programmer culture. There are lots of programmers who work completely within proprietary IDEs (e.g., Matlab, Xcode, MS Visual Studio) with specialized workflows for version control, rich searching, and task automation. However, the high-quality, widely-available free software that is most likely to get beginners hooked on programming --- to turn users into programmers --- are almost always written in a UNIX style. That's why my article focuses on this culture.

    Explain to me again why the novice or casual programmer or the working professional in other fields would not be more comfortable, engaged and productive using a modern IDE outside the UNIX culture?

    You could hate free software development tools available for the *NIX environment and not make a better case against them.

  36. He should change his name to Cli by Anonymous Coward · · Score: 0

    If he wants them to get out of the world of the Graphical User Interface into the Command Line Interface, Professor Guo (which looks and sounds like GUI) should set an example and change his name to Cli.

  37. Smooth-scrolling terminal by jones_supa · · Score: 1

    Speaking of the command line, I have never seen a terminal emulator which mimics the smooth scroll effect of some of the hardware terminals. Have you seen such?

    Linux and Mac need this. :) I would create it myself, but am too occupied with other stuff (like lethargically reading Slashdot) and probably would be too stupid to do it anyway.

    But if someone needs an open source project.

  38. All about the tasks at hand..... by Dega704 · · Score: 1

    I first learned Unix in school from a classic GUI-hating Unix veteran, and my line of thought was typical of anyone who had grown up on DOS and Windows. "What a pain. This is so archaic. Why do I have to bother with this?" Eventually, though, it started to fascinate me. It was like I was truly learning to use a computer for the first time. Maybe it was just the geeky hacker feel of scrolling white text on a black background. When I was taking Windows Server courses a couple semesters later, I was really beginning to miss the simple flexibility of a command prompt; now that I had experienced the alternative of pumping a mouse cursor through an endless torrent of snap-ins and pop-up menus. When I first started tinkering with various Linux distros around the same time, there was no turning back. I still had a graphical interface which a lot of things obviously require, but any time I needed to I could open a terminal and interact with the system directly. I was enthusiastic about Powershell when it first came around, but got turned off of it pretty quick. Even if MS didn't change the freaking syntax with every service pack, it just isn't the same.

  39. Comics vs Literature by knarf · · Score: 1

    Well... comics have been around almost as long as written text, yet still books are written. The Nobel price for literature has yet to fall on a comics author. Both formats can bring across ideas and stories, yet most readers still seem to prefer written, sparsely or non-illustrated stories over comic novels.

    --
    --frank[at]unternet.org
  40. I'll take a tank, please. by Runaway1956 · · Score: 3, Interesting

    In the Beginning was the Command Line

    by Neal Stephenson

    About twenty years ago Jobs and Wozniak, the founders of Apple, came up with the very strange idea of selling information processing machines for use in the home. The business took off, and its founders made a lot of money and received the credit they deserved for being daring visionaries. But around the same time, Bill Gates and Paul Allen came up with an idea even stranger and more fantastical: selling computer operating systems. This was much weirder than the idea of Jobs and Wozniak. A computer at least had some sort of physical reality to it. It came in a box, you could open it up and plug it in and watch lights blink. An operating system had no tangible incarnation at all. It arrived on a disk, of course, but the disk was, in effect, nothing more than the box that the OS came in. The product itself was a very long string of ones and zeroes that, when properly installed and coddled, gave you the ability to manipulate other very long strings of ones and zeroes. Even those few who actually understood what a computer operating system was were apt to think of it as a fantastically arcane engineering prodigy, like a breeder reactor or a U-2 spy plane, and not something that could ever be (in the parlance of high-tech) "productized."

    Yet now the company that Gates and Allen founded is selling operating systems like Gillette sells razor blades. New releases of operating systems are launched as if they were Hollywood blockbusters, with celebrity endorsements, talk show appearances, and world tours. The market for them is vast enough that people worry about whether it has been monopolized by one company. Even the least technically-minded people in our society now have at least a hazy idea of what operating systems do; what is more, they have strong opinions about their relative merits. It is commonly understood, even by technically unsophisticated computer users, that if you have a piece of software that works on your Macintosh, and you move it over onto a Windows machine, it will not run. That this would, in fact, be a laughable and idiotic mistake, like nailing horseshoes to the tires of a Buick.

    A person who went into a coma before Microsoft was founded, and woke up now, could pick up this morning's New York Times and understand everything in it--almost:

    Item: the richest man in the world made his fortune from-what? Railways? Shipping? Oil? No, operating systems. Item: the Department of Justice is tackling Microsoft's supposed OS monopoly with legal tools that were invented to restrain the power of Nineteenth-Century robber barons. Item: a woman friend of mine recently told me that she'd broken off a (hitherto) stimulating exchange of e-mail with a young man. At first he had seemed like such an intelligent and interesting guy, she said, but then "he started going all PC-versus-Mac on me."

    What the hell is going on here? And does the operating system business have a future, or only a past? Here is my view, which is entirely subjective; but since I have spent a fair amount of time not only using, but programming, Macintoshes, Windows machines, Linux boxes and the BeOS, perhaps it is not so ill-informed as to be completely worthless. This is a subjective essay, more review than research paper, and so it might seem unfair or biased compared to the technical reviews you can find in PC magazines. But ever since the Mac came out, our operating systems have been based on metaphors, and anything with metaphors in it is fair game as far as I'm concerned.

    MGBs, TANKS, AND BATMOBILES

    Around the time that Jobs, Wozniak, Gates, and Allen were dreaming up these unlikely schemes, I was a teenager living in Ames, Iowa. One of my friends' dads had an old MGB sports car rusting away in his garage. Sometimes he would actually manage to get it running and then he would take us for a spin around the block, with a memorable look of wild youthful exhiliration on his face; to his worried passengers, he was a madman, stalling and backfiring

    --
    "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    1. Re:I'll take a tank, please. by Anonymous Coward · · Score: 0

      That hack Stephenson get one thing right but not in the way he intended: the tank analogy. Tanks, like other military equipment, are built for combat performance foremost and everything else is secondary. Fuel efficiency is abysmal, frequent maintenance is mandatory to keep it running, they break down often in spite of that, the amenities suck, and just try fitting one into a normal parking space. Nobody in their right mind wants one for daily use, other than the military. Of couse, the hipsters lap up Stephenson's crap because they imagine themselves looking studly riding around in a tank, where the rest of the world looks at them like the nerd version of the Dukakis tank ads.

      Real professionals realize that the CLI and GUI both have their place. (*gasp*)

    2. Re:I'll take a tank, please. by Anonymous Coward · · Score: 0

      Ah, Neal Stevenson with the car analogy to end all car analogies. I thank you sir.

  41. What happens when I hit "Return?" by westlake · · Score: 1

    It's easier to shoot yourself in the foot with the command line.

    That is the fundamental reason why no one but the hobbyist or professional has ever been comfortable working in a command line.

    1. Re:What happens when I hit "Return?" by jedidiah · · Score: 1

      No. The real thing that scares the n00bs is all of this scaremongering.

      "OH noes! Don't do X! You'll end the world!"

      The rubes are so scared of their own shadows that they're afraid to do anything meaningful in any UI, GUIs included. GUIs are supposed to enable exploration but this is not something that's ever going to happen.

      Only the "geeks" will bother to explore anything because the rubes are all afraid of their own shadows.

      The shiny shiny is just a distraction.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    2. Re:What happens when I hit "Return?" by reikae · · Score: 1

      I don't understand where the fear of computers comes from. I would expect anyone who is comfortable driving a car at high speeds to have no trouble operating a small machine that doesn't have the potential to kill bystanders if your concentration lapses.

    3. Re:What happens when I hit "Return?" by Anonymous Coward · · Score: 0

      Because they can't be bothered to just use -n/--dry-run to get the computer to tell them what will happen? Although I actually do use the rename GUI in Thunar (XFCE's default file manager) instead of the rename command for complicated renames so I get a preview.

  42. Just plainly discuss the pros and cons by Anonymous Coward · · Score: 0

    don't disparage the GUI-based tools that they are accustomed to using, no matter how limited you think those tools are.

    Or else they can simply point out those limitations.

    After all, those limitations are key motivations for using command-line tools.

    It's possible to discuss the limitations of something without disparaging it.

  43. Re:GUI is here to stay by Anonymous Coward · · Score: 0

    Software Productivity is why GUI Development Tools are here to stay!

  44. Re:Command Line Not Necessary by Cassini2 · · Score: 3, Interesting

    I think the description "GUI's are not fully funtional yet" summarizes the situation. Even Microsoft eventually went back to the command line. At one point, almost all of Microsoft's tools used the Windows GUI interfaces. It quickly became obvious that the GUI interfaces didn't support remote deployment, automation, etc. Then they wrote power shell, and gave all their tools command line interfaces again.

    Programs like LabView, and some of the process control (DCS) and programmable logic control (PLC) vendors have graphical programming interfaces. PLC Ladder Logic is probably the most basic visual programming metaphor ever developed, because the relay ladder logic corresponds to simple boolean AND/OR operations. The LabView interface is more fully featured. However, it takes a very big picture in LabView to accomplish the work of a simple procedural function in most programming languages. I couldn't imagine doing a sophisticated program with that interface. PLC ladder logic looks dense in comparison to the picture based function blocks of LabView.

    Additionally, I have frequently found myself modifying VisualBasic Forms and VisualC++ Resource Files at the source level instead of using the graphical interface, because the change I am trying to accomplish can be done much faster from source than from the GUI. It really makes me think that GUI interfaces are missing a fundamental level of programmability.

  45. apples to oranges by Anonymous Coward · · Score: 1

    You're comparing a Unix shell to Powershell applications, not Powershell itself. Did you notice the VMWare VSphere GUI client is only on Windows, too? I'm not surprised they have supplemental Powershell scripts/programs to interact with VMWare hosts considering they don't offer *any* management utilities at all to Unix/Linux users.

    Bad analogy from a bad admin.

    1. Re:apples to oranges by LordLimecat · · Score: 1

      The GUI is not Windows only: since 5.0 (at least) there has been the option for a web interface, and since 5.5 it has been there by default. But thats not terribly relevant; the point is that there are a lot of things that Powershell can do that bash cannot because of vendor support, and because simply producing a set of cmdlets allows you to integrate them with any workflow you have. All of the output from all cmdlets is objects, so when I do a get-vm it returns an array of objects with their own methods and properties, which could easily be passed around to another cmdlet.

  46. Re:Stop being a DWE by Anonymous Coward · · Score: 0

    Your education shows a complete lack of understanding. (DWE==dick with ears)

  47. HTML by LordMyren · · Score: 2

    HTML presents a graphical first environment that humans can come in to an enrich with code: declare your content, then orchestrate and manipulate that media via an API for the media.

    HTML+DOM is awesome in that it's media-first, API second. The DOM is verbose, certainly, but it gives a much richer, more tangible surface than a standard library that is strings, vectors, ints, floats: so, we can get good at this platform without programming (HTML) and the DOM standard library, for when we do want to start programming/manipulating things, is a rich-media standard library as opposed to a primitive one.

  48. Re:Stop being a DWE by jedidiah · · Score: 1, Insightful

    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.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  49. Re:Command Line Not Necessary by http · · Score: 3, Insightful

    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.

    --
    If opportunity came disguised as temptation, one knock would be enough.
    3^2 * 67^1 * 977^1
  50. "Killer apps" by Shados · · Score: 1

    I feel like I have to turn in my geek card for using that terminology, but its still the best way to describe it. In the end, the culture, the environment, it all doesn't matter as long as you can do what you want to do in the best way.

    For programming/CS, its pretty easy. Lately, all the best stuff is coming out for Unix, which, for almost a decade, was debatable. Some people liked developing under Unix, but not everyone. Say what you will, but VB6 drove a lot back in its days, and .NET has a significant mind share. For a long time, SVN's client TortoiseSVN was what a lot of people used.

    Now, with SVN blowing up in everyone's face, and with Github becoming a de facto standard, many are turning to git. And git, while it has a few interesting UIs, simply blows on Windows. I got it to work the way I liked, but it took a lot of Powershell black magic and reverse engineering some of the Unix tools, and even then its significantly slower than it is on Unix for extremely large projects (it shouldn't be used that way, you should split your repos in smaller ones, but when making the transition from SVN its not always possible).

    Then you have tools like Grunt/Node that are becoming standard...they work GREAT on Windows. They work better on Unix. Even though I'm in a Windows shop, half of the devs work on Macs to have the Unix ecosystem without having any issues integrating in the existing Windows environment.

    So that will take care of developers all in due time on its own. For normal users? Thats trickier. But it will always be about the apps...and now that everyone does everything in a browser, making people care about whats behind will always be a tricky one.

    1. Re:"Killer apps" by EvanED · · Score: 1

      Now, with SVN blowing up in everyone's face, and with Github becoming a de facto standard, many are turning to git. And git, while it has a few interesting UIs, simply blows on Windows. I got it to work the way I liked, but it took a lot of Powershell black magic and reverse engineering some of the Unix tools...

      What? Not only have I not had command-line Git problems on Windows, but TortoiseGit (in my experience, anyway) works better than TortiseSVN does!

    2. Re:"Killer apps" by Shados · · Score: 1

      1.8.3 has issues with certain paths when not in git bash, and git bash isn't exactly well integrated (compared to Unix). To get git bash-style features replicating the sh script that comes with it (like giving you current status in the prompt), you need to use third party add-ons, and if you're on a large repo, they suck. They're also incomplete.

      If you do use git bash, then you have to deal with forward slashes (copy pasting from other source is fun!).

      And if you have a large repo, its impossibly slow. TortoiseGit has a lot of caching issues too, and if you set it to NOT have caching issues, then again, its super slow.

      Obviously, on small projects none of this is really a problem, aside the shell integration. But none of it is a problem on a real unix.

  51. How Ya Gonna Get 'Em Down On The Manual Farm? by Megane · · Score: 1

    Driving Instructor Philip Guo poses a similar question: 'How ya gonna get 'em down on a manual transmission after they've used a slush-box?' Convincing driving students from automatic culture to toss aside decades of advances in transmissions for a stick shift 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 RACECAR!!!" 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 automatic transmissions that they are accustomed to using, no matter how limited you think those tools are. Bridge the two cultures.'"

    I an disturbed by just how few words I had to change there.

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  52. Heh by Anonymous Coward · · Score: 0

    This is just all funny.

    As an old, crusty unix guy, I think I can fairly confidently say that the death of Unix has been predicted since about 5 minutes after K&R.

    In other news, the Internet will die, any day now. Wait for it. Remember how it was going to be AOL?

    You can't kill my tools. Linux is annoying in a lot of ways, but it is good enough. And sure as hell beat Solaris.

  53. You either program the computer... by Anonymous Coward · · Score: 0

    Or the computer programs you.

  54. Re:Stop being a DWE by epyT-R · · Score: 2

    and yet his description is closer to technical truth than your ad hominem attack.. who's the uneducated one?

  55. Pass or Fail. by Anonymous Coward · · Score: 0

    If you want them to learn the CLI. Make them learn it. If they refuse, then they fail. What's the problem? Required learning is not up for debate among students, or at least I don't think it should be.

    But if you make them learn it, be honest about it. Personally, I find GUI's to better for simple, non-repetitive tasks. If I need to automate something, or do something fairly complicated with my system I immediately bring up my terminal (but really, that's just my preference). I don't think one is inherently better and offers so many advantages and insights into a system, that an admin learns to plumb the depths of their OS. You can do some pretty cool stuff at in the *nix command line and you really have no clue about how the system really works - especially if the system is in terms of the kernel interfaces. Trying to develop/push CLI tools that completely overthrow all equivalent GUI tools is silly - there is no point. Sometimes the GUI is simply far more effective.

    That being said, I think it is extremely important that young developers have to fully run through at least 1-2 project(s) early on, using only the CLI (editor withstanding). I have noticed that people who do have solid CLI experience are much better developers (note: this has nothing to do with innate capability).

    If a dev has spent time significant time in the CLI then I can count on at least the following:
    -then they understand the difference between a thread and a process - because they read about a pipe.
    -they understand that OS processes/threads send signals to each other and react to them.
    -they know what a build system is, and that a good one should be appreciated.
    -they understand a development toolchain; what an object file is; what a linker script is; etc etc.
    -they know what SSH is.
    -they know, beyond any shadow of a doubt, that applications should have some sort of logging mechanism.
    -etc ...

    Silly stuff, I know. But its amazing how many do not know *any* of the above! Seriously, there is an entire army of dev's out there who know nothing of any of this. If you ask them to operate/do their job without Visual Studio/IntelliJ/etc they are dead in the water. They cannot do it - and it's not that they just don't know the commands. They fundamentally don't know how any of this stuff works, or that it even existed.

    I don't think preferring a GUI precludes anyone from learning this stuff - its just it doesn't throw it your face the way a CLI does. As such, if I know a dev has solid CLI experience - I can count on at least some baseline of knowledge. In my experience, that is simply not true for someone who is, and always has been, completely GUI driven.

  56. programmer culture is forever by Anonymous Coward · · Score: 0

    If we ever live in a world where application programmers have already done everything that needs to be done, then I'll believe "programmer culture" has become obsolete.

    It's already painfully obvious, that we're not even headed in that direction, much less that it's happening any time soon.

    I am a programmer and a user, but it's nearly routine that I encounter problems where if writing an awk script weren't an option, then my answer to a problem would be "I can't do it. My tools aren't flexible enough. I fail."

    Keep in mind that "do it" is sometimes defined as working within a constraint, or being efficient. Let me give you two examples, one where things go great, and one where they don't.

    My girlfriend browses IMDB on her Android smartphone. There's a plugin, where any time she's looking at a movie, she can just touch the screen in a certain way, and a few seconds a certain tool on the home server does some searches and begins to download. A little while later, she can watch the movie. No "programmer culture" needed, because some applications programmer(s!) already identified and solved the problems. "User culture" succeeds -- built upon programmer culture while trying to remain blissfully ignorant of the fact that the tools didn't write themselves.

    She also sees that a certain TV series is returning in a few weeks, and decides we'll re-watch the previous season, to remind us of the plot. And we might as well watch it in full 1080 glory, rather than the old hdtv rips that we got nearly a year ago. So she tells a certain tool to upgrade our quality.

    So far, so good. Sickbeard knows about this use case, so it helps her.

    But something goes wrong. Some indexer gaves us a bad answer. She sees in the download queue, that we're downloading thirteen things, where twelve of them about about 4.5 gigs, but the first one, supposedly for S01E01, is about 49 gigabytes. That first download actually contains the whole series.

    We already know how the tools will handle this. It'll download that 49GB set, take the first episode from it, place it where we watch it, and THROW THE REST AWAY. And then it's going to download the remaining twelve episodes. Again.

    So she can either cancel that download (we'll watch the old S01E01 HDTV rip) or put up with the total nearly-95GB download. In user culture, the solution is to shrug and say "oh well. sucks but what can you do?" But in "don't be a pussy" culture, you let the 49 GB download finish (and cancel the other 12 of them) and you just manually unpack it, instead of relying on the automation. It's not hard. But the application programmers didn't handle the case, because they (mostly correctly) saw it as a something they don't need to deal with. And if the filenames are obfuscated so that you have to do some awking and grepping before your unraring, then you write your little "match things up by their crc32s" scripts. Programmer culture is the difference between getting what you want, and NOT getting what you want.

    If we ever do get to the point where application programmers have done everything that needs to be done, I think it'll be because we have strong AI. You'll say "computer, get me season 2 and if the indexer gives you a too-big nzb, just fucking deal with it." Yet even at that point, you'll find a programmer. You'll talk to the AI and he'll tell you about how he learned awk.

  57. Easy! by Anonymous Coward · · Score: 0

    Just show them the average salary ranges for UNIX admins vs. Wordpress admins. Actually don't. Let's keep this our little secret......

  58. Re:Command Line Not Necessary by Anonymous Coward · · Score: 0

    Again, a superb user interface/OS/Browser/Explorer WILL allow the launching of tasks from text input; there is no reason to do otherwise. Envision the following for an OS interface: // Screen Top [ File/Web Address ] // Begin Txt/Web/Application Screen
    Wallpaper dims, icons hide and text displays on text output. : Command : Desktop -> shows desktop
    Can split into multi text sessions: Command: SplitScreen (ctrl+tab to navigate between shells)
    Can pop out as a window : Command: PopOut // End Txt/Web/Application Screen
    [ text input field | [button for mouse folks] ] || Quick Launch Tasks
    -- GUI Autocomplete on Command/File/Fav Progs Index

    Popped out windows you can alt+tab through.
    Each GUI application must sign a contract to provide all menu buttons text entry points, hopefully done at a low level
    Each GUI application form must sign a contract to provide a text submission format

    The OS would enable the rendering of HTML/javascript within the text session which would allow a rich experience if desired, such as printing images, graphs, movies to text sessions if desired.

    The amount of stuff we do could be greatly compressed into a well designed operating system, and we could enforce interfaces which would make both the text side and GUI side more bearable for both sides of the spectrum.

    TEXT sucks for a myriad of reasons.
    GUI sucks for a myriad of reasons.

    But this is a question of DESIGN, not the basic concepts of TEXT vs GUI. I am not arguing that GUI is superior to TEXT, I'm arguing that there's a better user experience than TEXT which should be equally fast provided good hotkeys and systems developers that require contracts be completed by applications developers.

  59. It's not about UNIX by Anonymous Coward · · Score: 0

    It's about the right tool for the job. CLI tools are generally absent from user culture, but that doesn't mean that GUI tools shouldn't be part of programmer culture (even on UNIXy systems). It's important to present new learners to CLI, but it would be a mistake to characterise GUI-based programming tools as toys. I'm not at all suggesting Prof Guo has done this this; I'm just noting that it's an attitude I've bumped into more than once.

  60. LOL Whut! by mjwalshe · · Score: 1

    This luser is supposedly an assistant professor in CS at some little university ex polytechnic is my bet - you know if your learning something at Uni your supposed to be a fracking professional and you are meant to know your field from first principals - if you cant hack a CLI switch to midia studies

    1. Re:LOL Whut! by Guy+Harris · · Score: 1

      This luser is supposedly an assistant professor in CS at some little university ex polytechnic is my bet

      It's the University of Rochester; do you win or lose the bet?

    2. Re:LOL Whut! by mjwalshe · · Score: 1

      Yeah my first job (at a world leading organization) was on the Campus at Cranfield University the university that looked down on Oxbridge Harvard etc as you could do a first degree there (BSC/BA) - Cranfield at the time only did Masters and Phd's. The boss of my company was the head of the mechanical engineers and the chancellor of Cranfield was the head of the Civil engineers.

      This luser is complaining that if you do a car maintenance course you have to use spanners and get you hands dirty with oil

  61. Prepare for flamefest by colinrichardday · · Score: 1

    The name of the game is automation in the Admin world.. that involves using Vi or VIM to edit puppet scripts

    What, no GNU Emacs?

    1. Re:Prepare for flamefest by geminidomino · · Score: 1

      Back before the dark times, when I was a bright-eyed PFY, my boss directed me to learn Vi (and not vim). At that point, I was still a nooblet and had never used either (I was still using pico), but I was aware of the holy war, so half-joking, I asked "Why not EMACS?" He actually had a good answer.

      "Log into a *NIX box, and you'll have vi. You might not have EMACS, and you sure as hell won't have pico."

    2. Re:Prepare for flamefest by BlackHawk-666 · · Score: 1

      Heathen scum! nano is my vi!

      --
      All those moments will be lost in time, like tears in rain.
    3. Re:Prepare for flamefest by colinrichardday · · Score: 1

      Are there still UNIX boxes that don't have emacs? It's pretty standard on Linux distros.

    4. Re:Prepare for flamefest by geminidomino · · Score: 1

      Plenty. There are several dozen in our colo cage, for example. It's *available* on most distros, but not installed by default on all of them.

  62. Challenge Your Students by organgtool · · Score: 3, Interesting

    You can get your students to the Unix farm by challenging them to do simple tasks in a GUI while you perform those tasks on the command line. After you perform those tasks way faster than they ever could, reveal the command(s) you used to perform the task. Keep the tasks and commands relatively simple so as not to overwhelm them. Then towards the end of the demonstration (after you have their attention), give them one task that will blow their minds when they see how quickly it can be done on the command line. In order for the students to presume that your competition is fair, avoid using scripts and type all of the commands manually. Once they see how much faster you can perform these tasks, tell them about Linux or Cygwin and let them take it from there. Some students will stubbornly continue to use the GUI, but the motivated ones will learn it on their own.

    1. Re:Challenge Your Students by Blakey+Rat · · Score: 1

      The problem is that tasks that are fast on the CLI are always contrived-as-hell examples. "Rename every file with the word 'dog' in it!"

      Hey here's a thought: I'll rename your files and time me. Now how about you do some non-linear editing of this video for YouTube and I time *you*. Oh... oh... you can't do that on the CLI? At all? I might be a bit slower but I can do your task and you can't do mine at all?

    2. Re:Challenge Your Students by organgtool · · Score: 1

      The problem is that tasks that are fast on the CLI are always contrived-as-hell examples. "Rename every file with the word 'dog' in it!"

      And yet everyone at some point has had to do a task like this that could have been performed much faster on the command line. The problem is that many people do not know that there is a faster way to do it. That ignorance is what the article is trying to address.

      Now how about you do some non-linear editing of this video for YouTube and I time *you*.

      Your analogy is flawed since this article is specifically about programming tasks that can benefit greatly from the CLI. Besides, this isn't a pissing contest between GUIs and CLIs - it's about using the right tool for the job. The more tools that you know how to use, the easier it will be to get work done since you will have a more versatile set of skills to tackle your problems.

    3. Re:Challenge Your Students by Blakey+Rat · · Score: 1

      And yet everyone at some point has had to do a task like this that could have been performed much faster on the command line. The problem is that many people do not know that there is a faster way to do it. That ignorance is what the article is trying to address.

      Right; but you're talking about a task that people (easily) go *years* without ever needing to do. And it takes *months* to learn the CLI. And since the CLI is so unforgiving (no recycle bin, no "undo" command, etc), learning it could easily cause you to lose your data.

      Does that trade-off sound worthwhile to you?

      The sad fact is that there's no reason the CLI couldn't have those safety features, other than the people who prefer (and develop) CLIs also hate change. Generally speaking.

    4. Re:Challenge Your Students by organgtool · · Score: 1

      Right; but you're talking about a task that people (easily) go *years* without ever needing to do.

      You can go a lifetime without using the CLI, especially if you work on a Microsoft platform. You don't need the CLI, but there are situations where it is definitely useful.

      And it takes *months* to learn the CLI.

      You can begin using very basic features of the CLI in minutes and yet it can take years to master CLI programs such as grep, awk, and sed. That is why I suggested starting with a very simple example to show how easy it can be and work up to a very difficult example to show how powerful yet complex it can be.

      And since the CLI is so unforgiving (no recycle bin, no "undo" command, etc), learning it could easily cause you to lose your data.

      I have seen some Linux distributions that alias the rm command to move files to the recycle bin. This was the configuration right out of the box. The undo command is much more difficult to implement. However, if you're teaching people to use the CLI, you should caution them to use ls first on statements with wildcards as well as wrap commands inside of loops with echo statements to see that they print out what you expect before you actually execute them. As with any power tools, they can make the job much easier, but they require a bit of safety training as well as a lot of caution during use.

  63. Visual Studio Is Superior by Anonymous Coward · · Score: 0

    Using the UNIX/LINUX/SUCKIX command line to program is like riding a horse after the car was invented. Visual Studio is way more advanced than the kludge of command line tools available for "programming" in UNIX.

  64. stepwise! by tverbeek · · Score: 2

    You start them with the pure point-and-clicky GUI they already know, then show them scripting tools like in Adobe's apps and and Apple's OS that allow them to automate those points and clicks, then show them how those actions can be customized after the fact, then get down into how those actions are coded, and how code can be combined and reassembled to do other things, and with enough iterations of this process, you've got them writing bash scripts.

    --
    http://alternatives.rzero.com/
  65. Is this a joke? by Anonymous Coward · · Score: 0

    I could hardly read the downloaded file since it is a monospaced text file. Ignoring the lessons of hundreds of years of typography is willful blindness.

  66. Re:Stop being a DWE by wjcofkc · · Score: 2

    I'm going to have to argue this, as it depends on the user. In 2005 I made the switch from 9 years of Linux to full-time OSX. While it is true that I took full advantage of the GUI interface features and used a lot of (really great) OSX only software, due to my background in Linux, I spent over 50% of my time in a terminal or running Open Source software in X Windows (yes, OS X comes with X) In that respect I took full advantage of it as a robust BSD system. If you want to call OSX out as being different from all the other "Unixen" your going to have to go a step further and point out how very different Linux is from FreeBSD - and they are very different. A Unix based system is a Unix based system. There is nothing more complicated about it. Also, since I used OSX for all of it's Unixy goodness, recently transitioning back to Linux and FreeBSD full time was painless, especially since Open Source software has caught up so much.

    --
    Brought to you by Carl's Junior.
  67. If you're programming full GUI's and... by Anonymous Coward · · Score: 0

    you don't understand command line tools, you're not even a real programmer. You're probably creating GUI's from GUI programming interfaces which isn't real programming at all. A child can do this with today's tools. Also, if you don't realize how much more productive command line applications are compared to GUI's, then you're pretty much an idiot and shouldn't be working in the programming field or any computer related field for that matter. This is a basic CS fundamental which is why terminal tools are still being created over GUI's for a large portion of applications.

  68. Same as gestures versus language by Anonymous Coward · · Score: 1

    When you communicate with a person, a gesture is fine if what you are trying to communicate is very simple or context makes it clear. If you don't have a language in common, you are forced to use gestures. If you need to communicate rich or subtle information however, a language is required. Communicating with computers is analogous.

  69. Re:Stop being a DWE by Anonymous Coward · · Score: 0

    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.

    That's fine and dandy except for the fact that MacOS _IS_ (being derived from NextStep, itself derived from IIRC 4.1 BSD) Unix underneath, nothing it adds overtop changes that. IRIX had a load of GL/multimedia stuff overtop the base system, it was still Unix underneath. Your complaint is much more applicable to Linux, which despite all the pretending otherwise with constant talk of "inherently secure" because of "Unix underpinnings" is not and never was Unix. It's built to mimic Unix to a certain extent, but ultimately does its own thing, separate from Unixen, hence the term Unix-Like.

    Unless of course you're an AIX/Solaris/IRIX/HP-UX/SVR5 guy, otherwise, sit down and let the grown-ups talk, sweetie.

  70. Re:Command Line Not Necessary by lgw · · Score: 1

    I hate the command line (but then I'm not a sys admin). If I have something simple to do, a GUI gets one simple thing done fast. If I have something complex to do, I'll write a compile a program in a real language to do it. CLI scripts always seen to start simple and intelligible, but so quickly become unmaintainable garbage programs once you cope with real-world complexity. Give me a real language any day.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  71. Re:Stop being a DWE by Anonymous Coward · · Score: 0

    Nevertheless most Mac OS users know how to write a shell script ... (except for the females, sorry, unfortunately true)

    Wow! Conclusions from anecdotal evidence *and* misogyny in one post. You win the asshole of the day contest, Angel!

  72. I would never hire someone by Anonymous Coward · · Score: 0

    Who could not use the command line. Have no unix experience. An egghead that is not involved in linux.I round all my questions starting with nt 3.51
    DOS 3.1 and 6.0 Like how do you swap floppy A with B in each.

  73. Falsest by Anonymous Coward · · Score: 0

    dichotomy ever bro

  74. The Last Time I Used A CLI... by IonOtter · · Score: 1

    The last time I used a CLI in my workplace, I was almost accused of hacking.

    99% of the human race that has any knowledge of computers have no idea about the c-prompt, let alone a single blinking underscore.

    --
    [End Of Line]
  75. Why not something cross platform? by dbIII · · Score: 1
    You can administer VirtualBox from perl, bash, python whatever scripts. Maybe VMWare too?

    you take some time to learn powershell: its not going away

    I dispute that. I've got developers here porting a lot of old stuff into python because a few versions of VB went away. Lucky there's no silverlight stuff from before that went away. MS have a long history of abandoned tools.

  76. Tell the hipsters it's what MacOS copied. [nt] by ReekRend · · Score: 1

    Tell the hipsters it's what MacOS copied.

  77. i use the unix commandline on my mac every day by Anonymous Coward · · Score: 0

    this article is stupid, if you want unix and decades of user interface advances the solution is simple...buy a mac. now if you insist on running hacked together open source shit. well. then you might have a problem...

  78. Re:Command Line Not Necessary by dkleinsc · · Score: 1

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

    Which, to be fair, is frequently a safe assumption.

    --
    I am officially gone from /. Long live http://www.soylentnews.com/
  79. Pipes, loops, sed, awk by Culture20 · · Score: 2

    When someone wants to do something on thousands of files or even something repetitive within just one file (replacing all numerical dates with European numerical dates or written dates), then showing them some command line basics can light a fire under them. Until they have a need though, they usually won't care enough to learn further themselves.

  80. Re:Stop being a DWE by Guy+Harris · · Score: 1

    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.

    That's fine and dandy except for the fact that MacOS _IS_ (being derived from NextStep, itself derived from IIRC 4.1 BSD) Unix underneath, nothing it adds overtop changes that.

    I infer from "even before [they] bolted all of the visible parts onto something else" that the lack of "X" in "MacOS" is intentional; it sounds as if they were referring to "Mac OS" as dating back to the original Mac Toolbox or whatever the heck the term is, long before OS X.

    Mac OS X was derived from NeXTStEP, but the original Mac software wasn't.

    (But saying Apple "bolted all of the visible parts onto something else" when they went from classic Mac OS to Mac OS X is a bit bogus; there ain't much classic Mac OS code in OS X - there was Classic, but that was an emulation environment, running classic Mac OS on top of OS X rather than on the hardware - and even a lot of the UI conventions changed; Carbon on OS X implemented a similar API to Carbon on classic Mac OS, but, again, the code was different.)

    IRIX had a load of GL/multimedia stuff overtop the base system, it was still Unix underneath.

    Yup.

    Your complaint is much more applicable to Linux, which despite all the pretending otherwise with constant talk of "inherently secure" because of "Unix underpinnings" is not and never was Unix. It's built to mimic Unix to a certain extent, but ultimately does its own thing, separate from Unixen, hence the term Unix-Like.

    Every single UN*X does its own thing in some areas, separate from all other UN*Xes - if a supposed UN*X OS doesn't differ in some noticeable way from every other UN*X, it's not a UN*X. :-)

    Yeah, Linux code isn't derived from AT&T UN*X, but that's true of a lot of the commercial UN*Xes as well, as well as the BSDs and OS X.

  81. I'm someone who grew up with bourne/C shell by darkonc · · Score: 1
    I started back in the early '80s when that was all there is, and I probably have a shell open on my machines most of the time.

    On the other hand, I have absolutely no problem using the GUI solutions for most of the simple stuff. I would suggest that one of the first things you need to do is teach newbies when each tool is most appropriate -- not that one is unconditionally better than the other.

    --
    Sometimes boldness is in fashion. Sometimes only the brave will be bold.
  82. Re:Stop being a DWE by ColdWetDog · · Score: 1

    Nevertheless most Mac OS users know how to write a shell script ... (except for the females, sorry, unfortunately true)

    Wait. What? I use OS X all of the time, I know a number of people that are similarly afflicted. Most of them would parse out a 'shell script' as cursive writing on a bivalve. And wonder why in bog's name why you'd want to do that.

    --
    Faster! Faster! Faster would be better!
  83. Give them a real problem by flyingfsck · · Score: 1

    GUI tools work fine while everything works the way it is supposed to. However, real life problems require one to read the error messages and those one can frequently only see on the command line.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  84. Some people want to learn anyway by Anonymous Coward · · Score: 0

    My daughter came into my room while I was writing a bash script to run LAME against my music wav files. She asked what I was doing and I explained. She spent the rest of the afternoon reading the bash man pages.

  85. How you gonna... by Anonymous Coward · · Score: 0

    How you gonna get them to hammer nails through their balls when they find out they don't gotta hammer nail through their balls?

  86. DOS did it for me by 32771 · · Score: 1

    At the time I switched to Linux I had only DOS which I regarded as inferior due to MS not supporting a flat memory model. MS started to support this in a credible way only with winnt in 1993, whereas they could have had something when the 386 came out in 1985. Given that they started in 1981 they had only four years of acquired customers but they managed somehow to respond to new hardware with a delay of eight years.

    Once I had Linux running in '95 I also totally liked the grown up look X-Window had. Maybe you should tell your kids " ... and when you grow up I'll let you play with the big iron".

    --
    Je me souviens.
  87. But... by Anonymous Coward · · Score: 0

    We are not talking about the "avarage joe" here. We are talking about people that can maintain an system - even if the beloved GUI is down, or only having remote (non-GUI) acces..

    I would certainly not hire someone that has no idea what to do if their "clicerty-click" does not longer work, or is not accesable at the location he/she/it is..

  88. No it is not... by Anonymous Coward · · Score: 0

    "Convincing students from user culture to toss aside decades of advances in graphical user interfaces for a UNIX command line is a tough sell"

    WHO SAYS YOU HAVE TO TOSS AWAY ANYTHING.

    You use graphical user interfaces when needed.

    You use command line when needed.

    I don't have any problem with my engineering degree students to use the command line. It is a very powerful tool and they understand it very fast. It is also good looking in any Linux or Mac. We use big, vector, beautiful fonts and everybody loves it.

    Of course I am not asking my students to do a spreadsheet or browsing the Internet in the command line.

  89. The main point of using a cli by Anonymous Coward · · Score: 0

    The main point of using a CLI is that it offers you more options than any GUI. Stop, re-read the first sentence. The CLI lets you take a tool, then add tools to it. As many as you want. In any order you want to get exactly the answer you are looking for or whatever you want the computer to do. Using a GUI, you use it the way the person designing it intended. A typical CLI has hundreds of available tools that can be mixed and matched; applying them in different orders gives different results. A GUI has some pre-programmed results, select the one you want, if the one you want isn't there, you might need another program which may not exist. A CLI can store groups of commands: a 'script' which can be re-applied as needed. I've been running my own kernels, exclusively, since 1994.

  90. Set up some use cases as an efficiency demo by advid.net · · Score: 1

    There are some use cases an everage user may encounter that would make a good demonstration of the command line power.

    I don't have many in mind just right now, but the typical case is a long, tedious, error prone task to be done with a mouse and GUI, but it boils down to one or two commands that do the job in five seconds. Think of something about the files (moving, renaming, searching, ...)

    There are also some examples with pipes:
    How do I check if there is the word "myemail" in one of those 4000 text files located in a compressed archive ? (I don't want to unpack all the archive on my disk!)

    There are some nice command tools to show:
    "I can't open this file f8965446, it has no extension, what is it ?" Try "file f8965446", if it is a video you will also get the container, codecs and so on...
    Other variants with unicode problems, binary viewer in hex (no additional GUI tool needed), disk usage on directories, file comparison,.

    Finaly end the demo with a few scripts:
    First a dumb script made with the output of a long "ls -1" and brutal search-replace on many lines, then execute to do the job (massive rename, whatever).
    Then a smarter script with a loop on files for a batch conversion (or download).
    Then a script with command line arguments to encode their mp3 or whatever, sort a collection, ...
    Schedule a script to download the specific web page, process it, and log some info in a journal, then take advantage of the journal. For instance: a script to catch the transcient tweets of someone.

  91. Perspective is important by Anonymous Coward · · Score: 1

    You see, you use assembly as an illustration of tedious labor, but assembly language was actually a great relief for programmers when it was introduced. Prior to that, they had to write code in machine language which produced much more strain and was far more prone to errors. Speaking as an embedded developer, there were times when I would kill for a command line, yet all I had was an unused microcontroller output pin and, if I am lucky, an oscilloscope. Coming from that to UNIX is like getting into heaven.

    Therefore, if you need to teach the students the innards of computers, start with basics, and add improvements. It is not coincidence that in biology development repeats evolution. So should education - present the state of the art in historical context, why it is better then what was used before it, and what was there before that, ... You can't understand modern art unless you understand the art it reacts on, you can't completely understand C# before you suffered in Java, understand Java before C++ made you cry, understand C++ before you toiled in C, understand C before you had to port something from one architecture and assembly language to another one, appreciate assembly language before you had to insert a snippet in machine language and recalculate and change all relative jumps in code, appreciate computers before you had to redesign a digital automaton because specs changed, really appreciate digital circuits before you fought off noise and oscillations in analog computers, ...

    1. Re:Perspective is important by AJH16 · · Score: 2

      This I absolutely agree with. It is critical to understand how we got to where we are. I also am not saying there aren't times a command line is better. My point is much the same as yours. Technology evolves and improves. Early versions of things are much more limited than later versions. CLI predates the GUI and so it was much, much better than early GUIs (and a well designed CLI is still better than a poorly designed GUI), however there are many, many cases where a well developed GUI can exceed the usefulness of a CLI, yet many UNIX aficionados are stuck in their CLI ways and don't bother to find the good GUI tools or learn to use them.

      Maybe this is because developers in Linux assume that low level stuff will be done with a CLI, so they don't write GUI functionality that can handle it, and thus it becomes self fulfilling in the realm that most CLI fans spend there time. There are also certain situations like repeatable installations where scriptable systems are ideal, though in some cases, GUIs even exist to do some of that stuff. You still have to understand how the GUI accomplishes what it is doing though if you want to understand why it works the way it does and want to be able to use it properly.

      Ease of technology is not an excuse to not understand how and why it works, at least for those who want to actually build it. The same also goes for any other field.

      --
      AJ Henderson
  92. Re:GUI is here to stay by gweihir · · Score: 1

    You mean allowing morons to crank out tons of worse-than useless code? That is not productivity.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  93. Re:Stop being a DWE by angel'o'sphere · · Score: 1

    Well I for my part hate the "new" search function since 10.4 or was it 10.5? So I often use find, and unlike others here in the thread: awk is one of the most useful programs ever made.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  94. The farm is the problem by Anonymous Coward · · Score: 0

    Summary
    There are now two main cultures in computing: Most computer users treat software as a tool for getting tasks done, while programmers hold conversations with their software.

    How do you "hold conversations" with a command line that rarely gives helpful feedback, and never gives any feedback before you've already sent a potentially destructive command? As programmers, we mostly use IDEs unless the language is very easy (= not very expressive), or unless we're very comfortable with the language and libraries. So why do we still use bare command lines?

    This is what is wrong with the command line: it's not responsive enough. And if the lack of usable GUIs in UNIX even for tasks as restricted as changing a preference is a choice, it's a stupid one. Not everything you do on a computer requires a Turing-complete language, and not every Turing-complete language needs to be written on a teletype. No one should be required to RTFManpage before trying out stuff.

  95. Everything in its place by Thumper_SVX · · Score: 1

    As many have already pointed out, it's irrelevant. Different tools do different jobs better, and that's just the way it's always been. I find managing my email in a GUI a hell of a lot easier than a command line for example, but when it comes to managing the Brocade switches at work (I'm at least partly a storage admin) it's a hell of a lot quicker for me to SSH in and type a few commands. Of course, it doesn't help that the Brocade GUI is probably one of the worst out there but my point still stands. Managing the SANs I manage is actually easier with a well designed GUI (primarily Compellent at the moment) because I don't have to use my own brain-cycles to visualize it; I can see it on the screen. But yes, if I'm doing bulk stuff then dropping to a command line is key. Similarly, I also manage vSphere... for day to day management the GUI is pretty good but when doing a lot of repetitive stuff I use PowerCLI which is VMware's PowerShell extensions... they work fantastically well and make me look like a hero.

    Now having said that I do see the point of the article a little. My personal feeling is that as a parent it falls to me to make sure my son is familiar with the command line and sees the value in it as well as the GUI. I decided to put my money where my mouth is and bought him a Fuze for Christmas. I was concerned he would hate it because he is used to having a Windows-based laptop and is well familiar with the GUI tools there. But he has really taken to it, learning BASIC programming and fiddling with the command line with a few things I've taught him. In fact this morning I was having a hard time getting out the door and heading to work because he wanted to show off the program he'd written to flash a set of LED's in the breadboard in sequence. I was incredibly proud of him for it and wanted to show my enthusiasm. I was late for work and didn't care.

    Honestly the way I see it; my 13 year old boy if he continues on this path will be programming and working with the hardware that goes into satellites, space probes and the like where a BSOD cannot be tolerated. He will have work for life because there will be even more need for the microcontroller programmers in the electronic, wearable and increasingly digital world he will grow up in. Meanwhile his peers will compete to administer Windows computers and maybe write apps for the iPhone 26... and may even struggle to make ends meet as they convince themselves that their app will make them a billionaire. So long as my son continues what he's doing and learning even as I write this, he'll find himself comfortable and in-demand until he retires. Just like his old man (hopefully!)

    Despite my working as an administrator of systems, I have a background in programming. The command line taught me how to pipe, how to use variables and so on. I write a surprising number of scripts in a number of languages because they make my job easier and make me look like a hero. I find myself occasionally competing with new kids coming into the workplace with their "Mad GUI Skillz" and their macros. If they go toe-to-toe with me they can rarely compete. The ones who know command line stuff and scripting we tend to keep... the ones who don't, tend not to last.

  96. Bring back BBS's by idioto · · Score: 1

    I'm building a site right now (actually the site's finished, on the surface) that if you enter the Konami code on the main page it loads up a Synchronet BBS in a flash or html terminal (I don't want people logging in right now or checking the site, so I'm keeping it quiet.) I think it will be pretty popular compared to the BBS's that are still out there because BBS's that have been up since the 80's/90's are like abandoned palaces waiting for their kings and queens to come back rather than try to find new royalty. Anyhow, if anyone wants to work on a BBS for fun, i've got work to do!

  97. Myths About Unix by Anonymous Coward · · Score: 0

    Myth #1. You Need to Use the Command Line to Use Unix.

    With modern distributions of Unix/Linux there is no reason to ever use a command line if you are an average desktop user.
    The myth of the linux command line requirement is a lie.

    Myth #2. There is a 'Difficult Learning Curve' To Using Unix

    With modern distributions of Unix/Linux the GUI is as self explanitory as MS Windows. There is no real learning curve. You click a GUI button in Ubuntu something happens, you click a GUI button in MS Windows same thing. The curve is a lie.

    Myth #3. Advanced GUI Features Arrive From MS Windows Direction

    Most of the advances in the MS Windows GUI over the last 10 years have been lifted from either Mac or the various Linux window managers. The latest MS fixation with touch screens is lifted from Apple and Android mobile device operating systems.

    Myth #4. Grandma Needs MS Windows to Survive

    Grandma needs Google Chrome or Firefox web browser, Thunderbird E-Mail or Gmail, and a solid solitaire or mine-sweeper game. Those are all available for Unix/Linux. Grandma wouldn't notice the difference.

    What is Most Surprising About This Article
    ...is that there is a biased assumption that somehow there are two (battling) cultures. The reality is there is only one culture, largely underinformed on both sides of the Unix or not Unix debate. The assumption that 'There will be trouble in Dodge City' (oooh!!) if we try to teach Unix to students is the myth that creates all those other myths. This is mainly due to the fact that most CS Profs are old MS Windows crones who continue to think the relative psychological security of 'InstallShield wizards' are what keep Grandma (and students) computing. Most programming is currently happening on Android/iPhone or else on web platfroms that have nothing at all to do with specific operating systems (Unix or otherwise).

  98. This dichotomy has always existed - by choke · · Score: 1

    I say leave it this way. There are people who by their nature will always trend towards lazy and stupid solutions. Give them those solutions so that we can pick them out easier when we're hiring people.

    --
    "No good deed goes unpunished"
  99. Just name the next new distro... by Anonymous Coward · · Score: 0

    "Paree". Problem solved.

  100. It's just text, stupid by Anonymous Coward · · Score: 0

    I work with a sysadmin - first job - whose main experience has been windows. I introduced him to pipe's, awk and other tools. I could see him put two and two together when he said, it's all text manipulation.

  101. Unix and Microsoft by gsgiles · · Score: 0
    I have been using Unix professionally since 1984. I have developed on most flavors, some of which are long dead. The first thing I would teach students is that Microsoft which rules not only the business world as no other company except IBM ever has. Microsoft has also taken most of the technical world as well. The market share for the engineering desktop was overwhelmingly either Unix or VAX (try not laugh at the deceased) has gone to Microsoft. The niche left to Unix is servers and some databases, the smallest end of the computing world. Windows 2003 now rules the server world as well (since 2006 by unit sales).

    The big dirty secret is that Windows is based upon Unix!!! Microsoft's first product was Zenix a flavor of Unix albeit a bad and really really slow one. If you dig deep enough (and I have) all those Unix O/S calls are there. It is not a coincidence that 2 years after Cal Berkley thru Unix source code over the fence to the public domain Windows NT appeared. Originally laughable (ever tried to hook a modem up to NT 3?) at the time it is the undisputed king of the civilized world.

    Any time someone is foolish enough to talk about Apple computers, I remind them they are toys, not work tools. When you can design a bridge for both stability, controls, and dynamics on a Mac, output the bill of materials and send design documents to the subcontractors that they can build and bill to. I will call it a tool. In the meantime it is a toy. So what are we left with? Not much really.

    1) IBM Mainframe a very small niche

    2) VxWorks (very very much Berkley BSD with an interrupt handler, and deterministic scheduler) and a bunch of other realtime O/S products that have market share like a Windows Phone (proof Microsoft makes mistakes)

    3) Vaxes and Solaris boxes bought for next to nothing

    4) my personal favorite the SGI beer cooler

    You want students to be employable? Teach them Microsoft and Visual Studio and all the Microsoft business technology because the odds are they will email with Exchange, work on a Microsoft desktop, and store documents in SharePoint, plan products with Project, and store data in SQL Server and do big data/big data table in Hadoop with SQL Server extensions.

    In 5 years Oracle will stop making Sun boxes that only zealots with government money buy. Oracle already loses money on their hardware each and every quarter; are you listening Larry?. When thinking about Oracle think of Data General, Silicon Graphics and Integraph. Java will continue its ossification and decay.

    Facebook and Google use copious amounts of cheap Linux boxes. Linux is free because it really isn't much good. The world does not need Facebook which will be gone in 10 years and the rest of the world will realize Google is a front end and that the NSA has backend superuser access to everything Google does in spite of public denials.

    Other than that Microsoft, in spite of all their mistakes, will continue to rule the world, except maybe cell phones, but no one needs a cell phone like they need food, clothing, shelter and a business desktop to do work.

    Apple will eventually be $20/share again. Bill Gates is the richest man in the world because he deserves to be. Linus Torvalds doesn't matter. BSD Unix matters and Windows is a BSD box with a windowing system and development tool set that are richer than anything else in the computing world.

    Feel free to denounce me as a fool, but I accurately predicted the demise of Digital Equipment, Integraph, SGI and Sun. A lot of shareholders would have done a whole lot better had they listened to me instead of, well almost everyone else. The price of Apple stock is a bubble, fundamentals aren't their, ask Ben Graham or Warren Buffet. Clip this paragraph of mine and 5 years from now you will realize how prescient I am and will have wished you sold your Apple stock. In the meantime I have to get back to work on Windows desktop.

    I still have a place for Unix: I am looking for the perfect 1994 Silicon Graphics 'Predator' box for my bonus that I can turn into a beer cooler for the bonus room. Onyx boxes are too passé. VAX's makes nice end tables but have no visual panache like vintage SGI.

  102. Let 'em see the file manager fail by bbsalem · · Score: 1

    I know the shell, the command line, have since the days of glass TTYs, but you can lead the GUI users into it the next time they run across a situation where the file manager or finder doesn't give then the fine control they would get with file name regular expressions in the shell.

    It isn't that Grandma has a problem finding the recipes file from time to time, she may well learn to use grep from the terminal, eventually, but it is for the person, whether sysadmin or not, who has to find stuff everyday all day. Then eventually he finds out that the shell and regular expressions will help him achieve his goal faster. If you want to introduce GUI users to the terminal, just answer a question with it. My son brought his Macbook to me one day and asked if Python was on his machine and how he could use it. I could have easily told him to go to the Applications folder and look, but I opened terminal and did "python" typed in a couple of statements and demoed it to him. I may also have done 'man python', to show him it was there. As python is used in system maintenence, it may not be listed in Applications if the idle application isn't installed, but I'll bet it is there.

    On Windows, yes Windows, a good implementation of the shell can save you money, paying for the third-party programs that do utility jobs that aren't part of Windows but can be easily created with an instance of bash installed. Renaming lots of files is a task that comes to mind. There are plenty of programs written for Windows that do that and you will pay, but install Cygwin for nothing, one of the first things I do if I have to own a Windows system, and do it from a terminal, xterm, in bash with a for loop.

    1. Re:Let 'em see the file manager fail by Guy+Harris · · Score: 1

      My son brought his Macbook to me one day and asked if Python was on his machine and how he could use it. I could have easily told him to go to the Applications folder and look

      Fortunately, you didn't do so:

      $ ls /Applications | egrep -i py
      $

      As python is used in system maintenence, it may not be listed in Applications if the idle application isn't installed, but I'll bet it is there.

      As Python isn't a GUI application packaged as an application bundle, it's not in Applications, and thus not listed there. It's in /usr/bin:

      $ which python
      /usr/bin/python

    2. Re:Let 'em see the file manager fail by bbsalem · · Score: 1

      Maybe because i DIDN'T see it in Applications was why I immediately thought to open a terminal and do either 'which python' or 'ls /usr/bin/python', or even just 'python'. I've have had Mac OS X systems in the past but at heart I am an old UNIX guy running Linux right now. Thanks. My son would have had to install Idle as an applications bundle and then he would see it in the Applications folder even though a usable python interpeter is already there in /usr/bin.

  103. new and really thought provoking by kloro2006 · · Score: 1

    wow! there's so much that's new and really thought provoking in what this guy is saying. and did you hear about the lecture he gave last week on this new thing they call 'fire'?

  104. Re:Command Line Not Necessary by Mars729 · · Score: 1

    GUI's are limited because they are walled gardens. That is you can directly use a feature in one program from another. But I believe that it is possible to create a GUI with the flexibility of a command line. For example, you could create a photo organizer with the essential photo organizing tools. Then some other user could extend that photo organizer with photo editing tools via popular command line utilities such as Irfanview, Exiftool, FFMpeg and others. The user would have control over key/mouse assignments, positioning in the menus etc within the GUI without programming.

  105. .NET? by Anonymous Coward · · Score: 0

    Only a slim minority of programmers code against the OS-specific or kernel-specific APIs. They all use abstraction layers like Qt, GTK+, .NET

    .NET is an OS-neutral "abstraction layer"? Why, yes, it supports multilple OS's: Windows XP, Windows 7, Windows 8, Windows 8.1...

  106. less `find . -type f -exec grep -il "useful inform by Anonymous Coward · · Score: 0

    grep -r "useful information" | less

    Do more with less!

  107. Article is terribly misleading by davydagger · · Score: 1

    UNIX has had GUIs in one form or another since X graphics server reared its ugly head in 1986, not long after microsoft and apple did the same.

    as for the CLI, like the keyboard its not going anywhere. Its been decades since its seen daily use by casual users, however its still needed for many things. For one, its quicker and EASIER for experts and power users. there is no need to navigate a complex maze of windows and submenus, you can type any command from anywhere. There is also no need to navigate directories(you can though), you can refrence a file anywhere, from anywhere. Then there is scripting and automation. You can automate system tasks by making a script with the same commands you use on the command line. GUIs have macros which are not nearly as powerful, far more complicated, and will never ever work nearly as well.

    Mabey there is a reason microsoft introduced powershell to compete with traditional UNIX shells for scripting on servers. BASH is still well maintained.

    There is no OS popular today that precludes the use of a command line for troubleshooting.

    As far as next generation with GUIs, again another misnomer. My generation grew up with GUIs. I am over 30 years old. in the 1990s we also had mp3s, web browsers, internet porn, instant messaging, all in a GUI.

    Exept today there is far more motivation to learn computers (they are EVERYWHERE, and run EVERYTHING), computers are cheaper, documentation is far more abundant, they work better, and you can get things like Rasbery PIs for $35. We didn't have that in my generation.

    Like our generation, the ones that want to learn, for whatever reason, will. The ones that are content with being users, will.

  108. You don't need to use GUI's by Murdoch5 · · Score: 1

    Stop forcing kids to use IDE's and make them use text editors and compilers. The biggest joke I have noticed in computer science is making kids using IDE's for ASM and C. They spend more time loading the IDE's and more time setting up the projects then the entire project would take in the first place. Proper computer science starts on the command line with a old editor like VIM and a compiler like GCC, anything else is just wasteful.

  109. Spotify works... by Anonymous Coward · · Score: 0

    ...on Linux.