Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Command Line Interfaces Ought to be Disallowed

Command Line Interfaces Ought to be Disallowed

Scheduled Pinned Locked Moved The Lounge
comdesigncollaborationquestion
41 Posts 13 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C CdnSecurityEngineer

    Consider the situation of searching for a simple file. Suppose you have a file where you know the name contains "ClientData" and you know it's an XML file. But you're not sure where it's saved or where all it's saved, or even better you want to find some Browser cookies. Regardless of how much ram you have, it's still a lot quicker to open a command line, and type dir /s ClientData.xml Or if you had some wild cards because you weren't exactly sure of the namming dir /s *Client*.xml Then it is to do a windows file search using the GUI.

    P Offline
    P Offline
    PIEBALDconsult
    wrote on last edited by
    #27

    Right. File operations are a good example. Many times one needs to delete a bunch of files and deleting with wildcards is way easier than by pointing and clicking -- although sorting in the Explorer can help you select a group of files in some cases. On the other hand, some times you need to delete a number of files that don't have similar names and don't lend themselves to wildcards. In such cases the GUI may be superior -- I certainly didn't like having to type in each file name. At least nowadays I can use the mouse to copy/paste the file names. Yet there are many file operations that you can do with (DOS) commands that you can't do with Explorer. Piping comes to mind --- with TYPE or FIND or SORT Also combining files with COPY I don't see how you do those with Explorer. And I don't see why anyone would consider these things "advanced"; they're pretty basic -- been there since the 70s. I write a lot of console applications, many I could write in WinForms, but there'd be no reason to. Simple is better. P.S. What's the Visual Studio equivalent of this: csc /recurse:*.cs

    1 Reply Last reply
    0
    • A AspDotNetDev

      All other things being equal. If the GUI takes 2 minutes and the command prompt takes 2 minutes, I'm going to prefer the GUI (unless I have to do some sort of automation or what have you).

      Thou mewling ill-breeding pignut!

      P Offline
      P Offline
      PIEBALDconsult
      wrote on last edited by
      #28

      (DOS boxes don't take two minutes to open.) And how many different GUIs will you have to load to do what I can do in one DOS box? SSMS for SQL VS for code compilation Some source control GUI for ... source control Explorer for file operations

      A 1 Reply Last reply
      0
      • P PIEBALDconsult

        (DOS boxes don't take two minutes to open.) And how many different GUIs will you have to load to do what I can do in one DOS box? SSMS for SQL VS for code compilation Some source control GUI for ... source control Explorer for file operations

        A Offline
        A Offline
        AspDotNetDev
        wrote on last edited by
        #29

        Yep, I kiss those 10 seconds goodbye each and every time I restart my computer. :((

        Thou mewling ill-breeding pignut!

        1 Reply Last reply
        0
        • A AspDotNetDev

          That assumes I know the command line parameters. Or that "*" means "any number of other characters". I'd rather use a GUI that allows me to type in "Client" and select "Any file names containing this word" and select "specify extension" with a value of "xml", and then check "search subdirectories recursively". And maybe there would be a "more" button in case I want to do more advanced tasks, like use regular expressions to search based on patterns. The learning curve is part of the equation for ease of use. Another nice feature of GUIs is that they can easily present you with actions you've taken (e.g., recent searches) and allow you to modify them. Depending on the command line, you can bring up previously used commands, but not as quickly (e.g., you have to press "Up" to scan through them one by one, and there is no way to filter based on application). A picture is worth a thousand words, and a GUI is worth a thousand commands.

          Thou mewling ill-breeding pignut!

          P Offline
          P Offline
          PIEBALDconsult
          wrote on last edited by
          #30

          AspDotNetDev wrote:

          a GUI is worth a thousand commands

          Bullshit. There's (generally) a one-to-one correspondence. :-D

          A 1 Reply Last reply
          0
          • P PIEBALDconsult

            AspDotNetDev wrote:

            a GUI is worth a thousand commands

            Bullshit. There's (generally) a one-to-one correspondence. :-D

            A Offline
            A Offline
            AspDotNetDev
            wrote on last edited by
            #31

            Per pixel. :-\

            Thou mewling ill-breeding pignut!

            P 1 Reply Last reply
            0
            • A AspDotNetDev

              Per pixel. :-\

              Thou mewling ill-breeding pignut!

              P Offline
              P Offline
              PIEBALDconsult
              wrote on last edited by
              #32

              Sure. My DOS box uses just as many pixels as your GUI. Maybe more, I maximize.

              1 Reply Last reply
              0
              • M Matthew Faithfull

                I disagree but only because I think the command line interface should be auto generated from the same description that generates the GUI, ensuring complete consistency and complete access to all features. The fundamental problem of command line interfaces is lack of discoverability. I can't see what my options are which also fails to prompt my memory from the last time I worked it out by trawling the docs so there's a lack of learnability to mint a new word aswell. When you add to this inconsistency because command line options are just made up to no standard and often without reference to one another you have the nightmare that is Linux/Unix/&c. However once you're an expert user who knows exactly what they want to do then being restricted to only using the functionality from one program at a time because you have open the big colourful UI and find the right menu option or widget to poke is really annoying. Especially when what you want to be able to do is tie together your mail client, favourite encryption engine and some else's database in one command and have last years emails archived with encryption to a cloud server. I've seen many Linux gurus do that sort of thing with a single command line and comment quite accurately that it would have taken half an hour on Windows if it was possible at all. Both camps are of course entirely right about the advantages of their way of doing things, entirely right about the disadvantages of doing things the other way and entirely miss the point that it shouldn't have to be an either/or choice.

                "The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)

                H Offline
                H Offline
                H Brydon
                wrote on last edited by
                #33

                Matthew Faithfull wrote:

                I disagree but only because I think the command line interface should be auto generated from the same description that generates the GUI, ensuring complete consistency and complete access to all features.

                I worked for a company that had their own SCM product that was originally command line only (originally derived from CMS on VAX/VMS circa 1978). A UI was added later, and really what it did was present edit controls, radio buttons and check boxes, and in fact composed a command line behind the scenes and executed it in an invisible command window, screen scraping the result(s) and reporting success/failure as appropriate. Life imitates art, I would say.

                -- Harvey

                1 Reply Last reply
                0
                • A AspDotNetDev

                  That assumes I know the command line parameters. Or that "*" means "any number of other characters". I'd rather use a GUI that allows me to type in "Client" and select "Any file names containing this word" and select "specify extension" with a value of "xml", and then check "search subdirectories recursively". And maybe there would be a "more" button in case I want to do more advanced tasks, like use regular expressions to search based on patterns. The learning curve is part of the equation for ease of use. Another nice feature of GUIs is that they can easily present you with actions you've taken (e.g., recent searches) and allow you to modify them. Depending on the command line, you can bring up previously used commands, but not as quickly (e.g., you have to press "Up" to scan through them one by one, and there is no way to filter based on application). A picture is worth a thousand words, and a GUI is worth a thousand commands.

                  Thou mewling ill-breeding pignut!

                  H Offline
                  H Offline
                  H Brydon
                  wrote on last edited by
                  #34

                  AspDotNetDev wrote:

                  a GUI is worth a thousand commands.

                  *BZZZZT!!* Wrong wrong wrong!! The one great big huge enormous frustrations with GUIs is that they can't be easily automated, unless that is a goal of the specific GUI. In fact the opposite is true, or to say it a different way, a command line is worth 10000 mouse clicks.

                  -- Harvey

                  A 1 Reply Last reply
                  0
                  • C CdnSecurityEngineer

                    Consider the situation of searching for a simple file. Suppose you have a file where you know the name contains "ClientData" and you know it's an XML file. But you're not sure where it's saved or where all it's saved, or even better you want to find some Browser cookies. Regardless of how much ram you have, it's still a lot quicker to open a command line, and type dir /s ClientData.xml Or if you had some wild cards because you weren't exactly sure of the namming dir /s *Client*.xml Then it is to do a windows file search using the GUI.

                    H Offline
                    H Offline
                    H Brydon
                    wrote on last edited by
                    #35

                    CdnSecurityEngineer wrote:

                    ...it's still a lot quicker to open a command line, and type dir /s ClientData.xml
                    Or if you had some wild cards because you weren't exactly sure of the namming
                    dir /s *Client*.xml
                    Then it is to do a windows file search using the GUI.

                    I don't argue much with this but I feel that Microsoft took a step backwards in going from Windows File Manager to Windows Explorer. If interested, you can get WinFile from here[^].

                    -- Harvey

                    1 Reply Last reply
                    0
                    • A AspDotNetDev

                      Well, unless there is a corresponding UI. From what I've read, it seems like Git is mostly used from the command line. Or maybe I'm wrong. Maybe people just prefer to use the command line versions. Maybe that's because the user interfaces are not very mature or are difficult to use?

                      Thou mewling ill-breeding pignut!

                      G Offline
                      G Offline
                      GuyThiebaut
                      wrote on last edited by
                      #36

                      I use GIT with GIT Extensions[^] both at home and have introduced it to my work place. I find it works well in the very small team I am part of(me and one other at present) - the UI seems fairly good to me and has saved me when I have had to merge changes due to different versions being worked on:)

                      “That which can be asserted without evidence, can be dismissed without evidence.”

                      ― Christopher Hitchens

                      A 1 Reply Last reply
                      0
                      • H H Brydon

                        AspDotNetDev wrote:

                        a GUI is worth a thousand commands.

                        *BZZZZT!!* Wrong wrong wrong!! The one great big huge enormous frustrations with GUIs is that they can't be easily automated, unless that is a goal of the specific GUI. In fact the opposite is true, or to say it a different way, a command line is worth 10000 mouse clicks.

                        -- Harvey

                        A Offline
                        A Offline
                        AspDotNetDev
                        wrote on last edited by
                        #37

                        Perhaps GUIs are worth the first thousand commands, and command lines are worth the next 10,000 mouse clicks (which, thanks to command line automation, will occur over 5 seconds).

                        Thou mewling ill-breeding pignut!

                        1 Reply Last reply
                        0
                        • G GuyThiebaut

                          I use GIT with GIT Extensions[^] both at home and have introduced it to my work place. I find it works well in the very small team I am part of(me and one other at present) - the UI seems fairly good to me and has saved me when I have had to merge changes due to different versions being worked on:)

                          “That which can be asserted without evidence, can be dismissed without evidence.”

                          ― Christopher Hitchens

                          A Offline
                          A Offline
                          AspDotNetDev
                          wrote on last edited by
                          #38

                          Wow, even comes with YouTube videos to show how to use it. Sweet!

                          Thou mewling ill-breeding pignut!

                          1 Reply Last reply
                          0
                          • M muzzdeni

                            Real men(and woman) use the command line, that's how it was done in the past!

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #39

                            And the best of them use a hexadecimal keyboard, but don't listen to the oldtimers who claim that binary switches are even better.

                            1 Reply Last reply
                            0
                            • A AspDotNetDev

                              Well, unless there is a corresponding UI. From what I've read, it seems like Git is mostly used from the command line. Or maybe I'm wrong. Maybe people just prefer to use the command line versions. Maybe that's because the user interfaces are not very mature or are difficult to use?

                              Thou mewling ill-breeding pignut!

                              L Offline
                              L Offline
                              Lost User
                              wrote on last edited by
                              #40

                              AspDotNetDev wrote:

                              Well, unless there is a corresponding UI

                              Install Linux, and you'll now soon enough why not. IMHO, we've already simplified too much to "point & click".

                              Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^]

                              1 Reply Last reply
                              0
                              • A AspDotNetDev

                                Looks promising. I like SmartSVN, and this looks similar. Maybe people just use command lines because they don't want to pay for a GUI?

                                Thou mewling ill-breeding pignut!

                                L Offline
                                L Offline
                                loctrice
                                wrote on last edited by
                                #41

                                I can't figure that product out, and I don't like it. A couple of the programmers I know recommended it. I'm more comfortable, and faster, with the command line.

                                If it moves, compile it

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • World
                                • Users
                                • Groups