3 ms·
Forward slash as a modifier prefix was IBM's desire because it was what they used in Mainframe OSes at the time. A lot of MS-DOS things were for "compatibility"
by WorldMaker 4y ago
Forward slash as a modifier prefix was IBM's desire because it was what they used in Mainframe OSes at the time. A lot of MS-DOS things were for "compatibility" with IBM Mainframes at the time. Supposedly, Microsoft was lightly against the forward slash as command argument because they preferred Unix machines at that point as development mainframes and liked the POSIX defaults for forward slash as directory separator. (Which is why MS-DOS even from the early days of the file system often supported both for directory slash in first party commands, even if individual app argument parsers from third parties did not.)
- skissane 4y ago> Forward slash as a modifier prefix was IBM's desire because it was what they used in Mainframe OSes at the time. A lot of MS-DOS things were for "compatibility" with IBM Mainframes at the time Not true. On IBM mainframes, options are generally specified in a NAME=VALUE or NAME(VALUE) format. For example, here is a TSO command to allocate a dataset: ALLOCATE DATASET(ALLOC.FILE1) NEW DIR(4) TRACKS SPACE(2,3) DSORG(PO) RECFM(F) LRECL(80) BLKSIZE(800) CATALOG VM/CMS uses an open parenthesis to introduce options instead, for example: LISTFILE (LABEL The forward slash option style does not come from IBM mainframes. Nor (despite what many people think) does it come from CP/M – CP/M's own option style was to put options in square brackets: PIP B:=A:*.COM [G9 V] Not sure exactly where CP/M gets that from, but may be very vaguely inspired by IBM mainframe conventions (especially VM/CMS), with square brackets replacing parentheses for whatever reason, and using single characters to save memory and typing. What I actually believe happened: forward slash comes from DEC via Microsoft. Microsoft's development tools for CP/M used that option style, which Microsoft got from DEC, because they didn't like CP/M's native option style. QDOS/PC-DOS/MS-DOS 1.0 copied that Microsoft option style. Yes, IBM did tell Microsoft not to change it from / to - between PC-DOS 1.0 and PC-DOS 2.0. But that was simply because IBM cared more about backward compatibility between DOS 1.0 and DOS 2.0 than Microsoft themselves did. It was nothing to do with mainframes. The only thing about DOS which shows any strong direct IBM influence, in terms of actual syntax/terminology/concepts/etc, is code pages.
- lproven 4y agoThis is not true. Most mainframe OSes have flat filesystems which do not have the concept of subdirectories. They also do not use command switches. The behaviour was almost certainly inherited from DEC TOPS-10: http://www.os2museum.com/wp/why-does-windows-really-use-backslash-as-path-separator/ http://www.os2museum.com/wp/why-does-windows-really-use-back... This is not a mainframe OS, or an IBM one either. It ran on a 36-bit DEC minicomputer, the PDP-10.