DOS vs. Terminal

Discussion in 'Mac Programming' started by lancestraz, Jan 23, 2006.

  1. lancestraz macrumors 6502a


    Nov 27, 2005
    One of my "friends" claims DOS is better and easier than Terminal. Is that true? Do I have to crawl into a hole and die over this?
  2. superbovine macrumors 68030


    Nov 7, 2003
    easier to use is sort of subjective because you can can put DOS guy and put him in front of terminal and he would have a hard time. however, someone knows UNIX will be quite happy with terminal. so easier for who? the average person doesn't have ever the command prompt unless it is to fix something.

    Functionality wise UNIX wins period.
  3. bousozoku Moderator emeritus

    Jun 25, 2002
    Gone but not forgotten.
    I used UNIX shells before the PC-DOS shell and I've got to say that it was easier to be sloppy and not ruin your machine with DOS. You could type "CD\" and it would interpret it correctly whereas a UNIX shell will not be happy with "CD/" and rightly so. DOS' shell was predictable for someone who used CP/M.
  4. savar macrumors 68000


    Jun 6, 2003
    District of Columbia
    DOS? As in MS-DOS? That's a really idiotic claim. Tell your friend that Terminal can run any shell, but DOS is just DOS. If he seriously thinks that DOS beats every commonly available shell out there, he's delusional.
  5. Catfish_Man macrumors 68030


    Sep 13, 2001
    Portland, OR
    The DOS shell is incredibly halfassed compared to any decent *nix shell (bash, tcsh, zsh, whatever).
  6. mrichmon macrumors 6502a

    Jun 17, 2003
    Short reasons why any random Unix shell (ie what is running in "Terminal") is more powerful than DOS:
    • the ability to pipe the output of one command into the input of another using |. This allows complex behavior in a single line,
    • richer input/output redirection operators (including >> to concat rather than overwrite, and the distinction between stdout and stderr),
    • real loop, case and conditional constructs,
    • function definitions,
    • aliasing in many popular shells - thus avoiding the need to write a stand alone script for scripts that would only be a couple of lines,
    • less restrictive limits on environment variables ("SET" in DOS quickly becomes full),
    • the ability to cleanly exec a command in place,
    • flexible test expressions, especially those dealing with testing filesystem properties,
    • "&".... enough said,
    • history and job control management in most popular shells,

    There are certainly more benefits but those are the ones that come straight to mind.
  7. ChrisA macrumors G4

    Jan 5, 2006
    Redondo Beach, California
    Sort of like saying "A hammer is easier to use than a screw driver." It is true if you need to pound nail and untrue if you need turn a screw.

    If you are sitting in front of a UNIX machine, like say a Macintosh runnig OSX or Linux or a BSD or Solaris machine then DOS is as irrelivent as a hammer for turning screws

    You still can compare the two. UNIX shells pre-date DOS. but back in the days when DOS was written the PC was not able to run an OS as large and complex as UNIX so they created a much simpler and more limited comand shell for DOS They cut it down to the "bare bones" so that it would run on a 4Mhz 8-bit procesor that had no hard drive. (Yes I owned a floppy only DOS based PC with a monochrome CRT and no mouse.) DOS and the DOS command shell had to fit on just one floppy disk and still leave room for an applcation and data and the five inch disk held less then 1MB of data

    So yes, DOS was simpler, by far. It had to be if it was to fit in a few kilobytes and run on a 4Mhz 8-bit machine.

    From the very first day of it's life UNIX ran on powerful (for it's day) hardware and was designed from the start to allow multiple users to log on at once. The issues involved with running multiple programs and suporting multiple users made UNIX hugly more complex than DOS.

    But from a user's point of view thay are very close. In each case you type the name of a program at a prompt, hit return and the program who's name you typed runs. That's it. Simple. Well OK there's more. You can connect to output of one program tothe input of another, use variable andthe shells ofer a simple programming languge. But all the shells are basically the same idea. If you can use one you can quickly learn another.

Share This Page