Veteran tech journalist Dan Tynan recently published a list of 10 overrated technology products, and CP/M was on his list. But was CP/M overrated? I want to dig into that question a bit.
I think everyone knows the story of how IBM almost used CP/M as the operating system for its PC, but ended up using an upstart product from a small company named Microsoft instead. We’ll probably never know exactly what happened, seeing as the author of CP/M is dead and his business partner is no longer able to recollect those events from the 1980 timeframe, and IBM and Bill Gates have no reason to embarrass themselves by revisiting the story.
But CP/M was the first and most popular operating system for early 8-bit computers, so people who used it remember it fondly, and the way Microsoft steamrolled it made Gary Kildall and his operating system folk heroes to underdog lovers everywhere. Even people who never used it and weren’t even born when Kildall’s company ceased to exist have at least a vague idea of what it was.
In CP/M’s defense, Gary Kildall saw it only as a means to an end. He wanted to play around with disk drives and microprocessors. Nothing allowed him to do what he needed, so he wrote CP/M and moved on. He never intended for it to become the most popular 8-bit operating system of all time. That’s what ended up happening but it was an accident. Kildall was a brilliant programmer and visionary, but had the misfortune of competing with Bill Gates. Gates was a much better businessman and arguably had a lot more focus.
I used CP/M. And yes, it was clunky. The command for copying files was called pip. Why? That was how the command was named on the DEC minicomputer he used to write CP/M. The reason is obscure. At least Unix’s cp command makes sense: copy.
But CP/M blazed a lot of ground. The PC as we know it today still copies the system architecture–the BIOS–that Kildall invented to make CP/M capable of running on multiple brands of computer. The command line in Windows NT resembles CP/M more than superficially.
And CP/M was elegantly written. When Caldera released the CP/M source code it was able to locate, I took a look at it out of curiosity. At the time I still remembered enough 8080 assembly language for it to not look like gibberish to me. It didn’t waste resources. The code flowed well. And it did a lot of clever things to conserve precious memory and clock cycles. It was obvious to me that I was looking at the work of a genius when I saw it.
The biggest problem with CP/M was that Gary Kildall lost his drive after he wrote it. It made him a multimillionaire. And it wasn’t until Bill Gates zoomed past him and became a world-famous billionaire that he realized there was anything beyond the fortune and fame that CP/M gave him. By then it was too late. And that’s a shame. We got a chance to see what Kildall would have delivered to the world if he’d gotten that chance with IBM. Atari used GEM, Kildall’s graphical interface, on its Atari ST, released in 1985. It was every bit as good as Windows 3.0 was, five years earlier. Kildall always was about five years ahead of Microsoft.
So I suppose CP/M is overrated. I know I’m guilty of looking at Kildall’s legacy as a whole, not just the pieces of it, and seeing it for what almost was. Not just for the A prompt that ran on Kaypro and Osborne and Vector Graphic computers in the early 1980s, before IBM and compatible computers really caught on.
Sideline – PIP was DEC Peripheral Interchange Program – at first to copy anything to anything when disks and files literally weren’t an option.
PIP tohere fromthere /switches_and_options
learn to think backwards – like RPN Reverse Polish Notation on HP calculators.
No, I wouldn’t say CP/M was overrated. Primitive, yes, but it was one of the first, after all. Attempts to compare it to later developments of MS-DOS and Windows ignore the fact that CP/M grew into CP/M-86, Concurrent CP/M, Concurrent DOS, DR-DOS; and of course that Kildall developed a graphical WIMP interface (GEM) that was every bit as capable as the early Windows. CP/M’s basic problem was not that it wasn’t capable, it was that it missed the wave in a marketing sense, and was forever fighting from behind against MicroSoft products, even when the CP/M products were superior.
Where the CP/M-based products were clearly superior was in multi-tasking, multi-user. However, there they were competing against Unix, Xenix, and ultimately Linux on the one hand; and distributed PC-based networking on the other. They may still have been better from the end-user viewpoint, but the *nix derivatives and PC-networking took enough cream out of the market that they took the profit out of it for Digital Research.
Better or not, Digital Research couldn’t keep that up, and eventually got swamped. But CP/M and its offspring were still at least as good, technically. They just missed the wave in a marketing sense.
Thanks for that information, Don. I had a Commodore 128 for several years and I would occasionally boot into its CP/M mode. The requirement with PIP to think backwards was the biggest complaint I remember, but it’s good to know the background.
Of course we tend to favor what we already know. Whenever I would telnet into a VMS system, I always wanted to type Unix commands into it because I subconsciously associated telnet with Unix. And when I was learning MS-DOS, I had aliases to translate all of the Amiga equivalent commands on my DOS machine, and vice versa. And Kildall definitely made a practice of copying what he knew, even porting now-obscure mainframe languages to microprocessors.
It’s definitely easier to make improvements on something than to create it from scratch.
Dave, you are too humble. You didn’t mention that the article contains a quote you gave on the Apple Lisa. Congrats!