DOSes file structure.
I guess we are talking about directories. DOS was a functional copy of CP/M when MS licensed or bought it from a person that did the cloning, who didn't call it DOS. The versions of CP/MI had did not have other than a single (unnamed) directory, and I think the first versions of DOS did not either, although I came in late on that and so don't really remember, having stuck with CP/M on a Z80 as the IBM PC was taking over and marginalizing all other microcomputers. I remember Jerry Pournelle (in Byte Magazine) writing an article "The Z80 is not dead yet," about his pet computer Ezekial. That should have clued me in to the non-PC's imminent demise, but it didn't.
Let's put it this way: When you have only 243K of mass storage capacity, there is not an overwhelming clamor by user's for multiple directories, so DOSes "directory structure" is a difficult concept for me to wrap my brain around. When they started this directory business, it seemed like a burdensome nuisance to have to type directory names in addition to the file name, when the file name would do just as well if a directory weren't in the way. Keeping a particular software package's files logically grouped did eventually turn out to be useful as mass storage gained a lot of mass. Exactly why programmers seemed psychologically unable to grasp the concept of putting the whole program into a single file, I never quite understood, but in the beginning it wasn't bad; they were usually just a couple of files per program, but now they prefer a couple hundred, or a couple of thousand, and I suppose we can look forward to a couple hundred thousand.
Early computer users may recall that DOS got around the problem of directories by something they called the "PATH." Every new program you installed added its directory to the PATH. Then the OS would search through every directory in the PATH (which was every directory) any time a file was referenced. Then at some point, the PATHs were getting too long to fit in the OS buffer, so they devised a startup command to enlarge the buffer. Jeez, those programmers are clever, aren't they? In this day and age we have XP, so our worries are over. Every program now installs mammoth amounts of absolutely essential info in the registry/hive to keep track of where the heck its files may be, because they are most often strewn in various and sundry places for reasons only known to the developer (every reference embedding a drive letter, so that if the driver letter ever changes, the file can't be found.)
As MadRat mentioned, over the years one got used to where files might be stored under Windows, and what subdirectory names might be chosen for what. But that's it: you got used to it. Then MS would decide to change it.
What people are describing as Linux/Unix is a shell, or command line interpreter. It is this program which you see and input to when you type at a command prompt. command.com for DOS corresponds to sh, csh or bash, and you can use a different shell for DOS if you like, just as you can for Unix. There were many around when DOS was current. Some implemented long file names. Some implemented a Unix imitation. Why not? Obviously commands that invoked capabilities that DOS did not have, like multitasking, could not work, but any kind of file manipulation could be duplicated. There were also a lot of windowed, line-graphics shells that functionally duplicated what later appeared as a GUI with MS Windows 3.0. You could drag and drop with a mouse. Mice, multiple windows, drop down menus, dialog boxes, etc, were around before MS Windows. People used to use modems to dial up to what were called bulletin boards, which resemble what we call web pages and Internet forums, and download/upload files. A programmer named Ward Christensen became a folk hero for writing the key software for computer bulletin boards and putting it out for free (actually before DOS existed.) For later versions of DOS, there was a way you could suspend a program and switch to different programs, and switch back, but no hardware way for the computer doing that on it's own (multitasking.) Digital Research had created a little-used true graphical system called GEM that could be added to CP/M 86. When Apple introduced the Macintosh, DR put out a GUI that functionally simulated it on PCs, in the hope of saving their failing company, but Apple put a stop to that.
The important thing to remember about DOS was that it ran on computers ordinary people could afford to buy, when in contrast Unix only ran on computers in research centers, or that major corporations could only afford to rent. No wonder DOS sucks.
I guess we are talking about directories. DOS was a functional copy of CP/M when MS licensed or bought it from a person that did the cloning, who didn't call it DOS. The versions of CP/MI had did not have other than a single (unnamed) directory, and I think the first versions of DOS did not either, although I came in late on that and so don't really remember, having stuck with CP/M on a Z80 as the IBM PC was taking over and marginalizing all other microcomputers. I remember Jerry Pournelle (in Byte Magazine) writing an article "The Z80 is not dead yet," about his pet computer Ezekial. That should have clued me in to the non-PC's imminent demise, but it didn't.
Let's put it this way: When you have only 243K of mass storage capacity, there is not an overwhelming clamor by user's for multiple directories, so DOSes "directory structure" is a difficult concept for me to wrap my brain around. When they started this directory business, it seemed like a burdensome nuisance to have to type directory names in addition to the file name, when the file name would do just as well if a directory weren't in the way. Keeping a particular software package's files logically grouped did eventually turn out to be useful as mass storage gained a lot of mass. Exactly why programmers seemed psychologically unable to grasp the concept of putting the whole program into a single file, I never quite understood, but in the beginning it wasn't bad; they were usually just a couple of files per program, but now they prefer a couple hundred, or a couple of thousand, and I suppose we can look forward to a couple hundred thousand.
Early computer users may recall that DOS got around the problem of directories by something they called the "PATH." Every new program you installed added its directory to the PATH. Then the OS would search through every directory in the PATH (which was every directory) any time a file was referenced. Then at some point, the PATHs were getting too long to fit in the OS buffer, so they devised a startup command to enlarge the buffer. Jeez, those programmers are clever, aren't they? In this day and age we have XP, so our worries are over. Every program now installs mammoth amounts of absolutely essential info in the registry/hive to keep track of where the heck its files may be, because they are most often strewn in various and sundry places for reasons only known to the developer (every reference embedding a drive letter, so that if the driver letter ever changes, the file can't be found.)
As MadRat mentioned, over the years one got used to where files might be stored under Windows, and what subdirectory names might be chosen for what. But that's it: you got used to it. Then MS would decide to change it.
What people are describing as Linux/Unix is a shell, or command line interpreter. It is this program which you see and input to when you type at a command prompt. command.com for DOS corresponds to sh, csh or bash, and you can use a different shell for DOS if you like, just as you can for Unix. There were many around when DOS was current. Some implemented long file names. Some implemented a Unix imitation. Why not? Obviously commands that invoked capabilities that DOS did not have, like multitasking, could not work, but any kind of file manipulation could be duplicated. There were also a lot of windowed, line-graphics shells that functionally duplicated what later appeared as a GUI with MS Windows 3.0. You could drag and drop with a mouse. Mice, multiple windows, drop down menus, dialog boxes, etc, were around before MS Windows. People used to use modems to dial up to what were called bulletin boards, which resemble what we call web pages and Internet forums, and download/upload files. A programmer named Ward Christensen became a folk hero for writing the key software for computer bulletin boards and putting it out for free (actually before DOS existed.) For later versions of DOS, there was a way you could suspend a program and switch to different programs, and switch back, but no hardware way for the computer doing that on it's own (multitasking.) Digital Research had created a little-used true graphical system called GEM that could be added to CP/M 86. When Apple introduced the Macintosh, DR put out a GUI that functionally simulated it on PCs, in the hope of saving their failing company, but Apple put a stop to that.
The important thing to remember about DOS was that it ran on computers ordinary people could afford to buy, when in contrast Unix only ran on computers in research centers, or that major corporations could only afford to rent. No wonder DOS sucks.
