4 ms·
A question I have about this era of of computing. Why did DOS win? BASIC, for all it's faults, would have been a much nicer shell environment than the extremel
by somat 3y ago
A question I have about this era of of computing. Why did DOS win?
BASIC, for all it's faults, would have been a much nicer shell environment than the extremely limited CPM/DOS syntax. From this modern perspective I would have guessed at the time that BASIC would have grown better file management operations and been the home computers equivalent to the unix shell. that is, not a great programing language but let you run commands and easily, using the same language, program them.
Instead the primitive(in comparison to BASIC syntax) CPM command interrupter and moreso Microsofts "we have CPM at home" DOS syntax won the home computer market. why? every computer in that critical 1981 lineup, including the IBM PC, had a BASIC rom.
- snakeyjake 3y agoThis may come as a shock to someone reading HN, but approximately 0.0% (rounded) of all people care about shell programming. Whatever gets programs to run the easiest wins. DOS was easier than BASIC. Hell, I had been using computers for well over a decade to accomplish tasks when they plopped me down in front of a Sun SPARCStation 5 and someone mentioned that the Bourne Shell could automate a bunch of the stuff I was doing.
- groby_b 3y agoBecause BASIC is a programming language (and was included with DOS, cf MS BASIC) DOS won because it offered a consistent way to manage your files and applications, it was "better" than CPM, and it was available on more machines than anything else. (DOS didn't win. The PC won. DOS tagged along) It's worth noting that it didn't, for a long time, "win" the home computer market. That was wildly diverse, until PCs were good & cheap enough to replace home computers. And at that point, sheer prevalence started squeezing out home machines. That world ended, more or less, with the Atari ST and the Amiga 500 - because both of those were great, and both were niche tools. PCs were the thing that you could use for games and work stuff. It turns out "getting stuff done" matters much more to people than engaging in purity debates. (Also relevant in this context: https://www.dreamsongs.com/RiseOfWorseIsBetter.html https://www.dreamsongs.com/RiseOfWorseIsBetter.html)
- AkBKukU 3y agoI am deeply steeped in the history of computers and the biggest three things I can point to as the reason (MS-)DOS won are: - Licensing: Most computers either had custom operating systems that were not shared with other hardware vendors, or in the case of BASIC frequently, were licensed themselves. - IBM letting the genie out: The BIOS on the IBM PC 5150 was cloned, quickly and legally, and other companies started making compatibles. This caused an explosion of computer variety in a few short years for a single platform. - Microsoft: DOS usually means "Microsoft DOS", Microsoft also was responsible for many of the BASIC environments of early systems as well. The ability to buy your OS from someone else lowered the pressure on hardware makers. IBM also favoured Micorsoft's DOS over CP/M-86 and stopped supporting it quickly. All this meant the PC compatible ecosystem with Microsoft DOS became easy to make from a hardware side, and lacked a single point of failure like Apple, Radio Shack, Commodore. Atari, etc. There were other MS-DOS compatible DOS's out there, but MS-DOS was usually the one shipped with computers to be as "IBM compatible" as they possibly could and gained dominance through that. EDIT: To those who may not be aware, BASIC did become more OS like before going away. HP BASIC was extremely feature packed before HP-UX replaced it and was more capable than MS-DOS in many ways. It evolved far beyond just a programming language.
- tcbawo 3y ago> This caused an explosion of computer variety in a few short years for a single platform. The impact of this point can not be overstated. 99% of businesses make a much larger investment in software (and people!) than hardware. The idea that compatible hardware systems existed was a great hedge on their investment in software and training. For most businesses, this would be a no-brainer! Over a short time, other propietary/non-compatible systems were relegated to home use, education, and gaming.
- shrubble 3y agoFirst, IBM created an open standard which stuck due to their size. Then the killer app Lotus 123 came out and it didn't use Basic and nothing you wrote in Basic could compete with 123 either. My older brother bought a $4000 TI Professional computer, added 123 and made enough to pay for it over 1 weekend (time sensitive tax related documents for a real estate transaction). He couldn't have done it with Basic.
- bombcar 3y agoThis and piracy was the kicker. And the business machines companies paid $$$ for to get access to 123 ended up at home a few years later as newer machines entered the workforce.
- pvg 3y agoDOS won because IBM PCs and PC compatibles won. Most of the popular earlier 8 bitters had a merged REPL that did both BASIC and 'operating system' interaction. So, for instance, on an Apple ][, the default prompt put you in the BASIC REPL from which you could also run the Apple DOS (later ProDOS, neither related to MS DOS) commands.
- spiderxxxx 3y agoTrue. DOS wasn't better, it's just the first OS I've used, but CP/M works just fine and is easy to learn. Not that that's relevant to this machine, it has no real OS, just a basic system for managing the hardware.
- TheOtherHobbes 3y agoBecause DOS is a disk OS and BASIC is an interpreted programming language. The point of DOS isn't just the command line. It provides a set of standard abstracted system calls that can be used by any developer working in any language with a compatible compiler, including assembler, to create any application. A command line interpreter sits on top of the library for immediate use, but that's just the part the user sees. The meat of DOS is the function library. BASIC doesn't work like that. It is an application, and other software can't access its commands from outside. It was never designed to allow that, and extending to it to make it possible would have created a confusing, slow, inefficient, and unreliable mess.
- icedchai 3y agoStill, many 8-bit micros extended BASIC to provide a "shell" for their DOS equivalent. For example, the Apple II with both ProDOS and DOS 3.3. There was still an underlying DOS library. It would've made sense for the PC to do the same, given all the contemporary 8-bit systems.
- deldelaney 3y agoWhy DOS? 1) Gary Killdall thought too high and mighty of CP/M (maybe rightly) while 2) Bill Gates had nothing to lose from selling IBM what they needed to the new PC. Gates told them what they wanted to hear, and he won. That dweeb was smart and his dad being a lawyer taught him about contracts. He then sold DOS to all the clones with a forced per CPU license, even if MSDos wasn't sold with the Clone. Gates made bank early. Interesting side note. It took years for PC users to gain multi-user capabilities, mostly when with Novell connected machines and brought file/record locking etc. And before the PC multiuser was already in MP/M and Unix on machines like Altos and Molecular Computer. Killdall would have probably got eht market back if he hadn't died. And fast forward today, deep down Windows still runs much DOS code. Like Veeger it's morphed into Windows whatever.
- jpitz 3y agoThat was strongly true for a long time through Windows 9*, but with Windows NT/2000 much less so as the core was primarily influenced by David Cutler's experiences with VMS.
- fortran77 3y agoThere’s no DOS code running deep down in Windows. What do you have to gain by saying these things?
- AnimalMuppet 3y ago> There’s no DOS code running deep down in Windows. Correct. > What do you have to gain by saying these things? Stop right there. From the site guidelines: Assume good faith. You've been here long enough that you should know that. When someone says something wrong, don't immediately assume that they say wrong things because they have something to gain. Don't accuse them of having something to gain. People can just be mistaken. So correct, but don't accuse.
- somat 3y agoThe question was not dos vs cpm(both of which are superficially the same thing), but dos vs basic, both provided by Microsoft. People get tripped up with basic being a programing language, but imagine dos only instead of the braindead dos command syntax you had a full basic repl as a command line. Note that good dos(with directories, environment variables, and redirection came much later) Did microsoft not provide disk and program launching functions in basic? Perhaps dos used less memory, memory was a very very tight commodity in 1981.
- jhallenworld 3y agoOne reason is limited memory and address space- the in-memory size of CP/M was something like 9K (including BIOS, BDOS and CCP). BASIC is at least another 8K. If you are using CP/M as a program loader, you don't want to waste that 8K. Another is that BASIC was not extensible, at least not in any standard way. But CP/M was: to add a command to CP/M, you just add a .COM file of that name to the disk.
- lmm 3y agoIMO it's that final point that makes the difference - the fact it was a ROM. If your system has BASIC built-in, you have the version of BASIC that was built into it. If your system has DOS built-in, you can run whatever version of BASIC suits you best, and as time goes by you can even upgrade to newer versions; maybe you can't upgrade DOS itself, but it's so basic that there's not really anything to upgrade (the only parts you might want to are things like drivers, and those are tied to your hardware anyway). Time and again systems that move more into "userspace" have won out over systems that implement complex functionality in "system space".