Articles / Linux -- The New CP/M?

Linux -- The New CP/M?

Kenneth Broll brings an historical perspective to the debate over supporting Windows languages and applications under Linux, and offers a warning drawn from his own experience. [This is a response to Marc Boorshtein's editorial Why are we bringing VB to Linux?, which can be found on our editorials page.]

Let me tell you a story. Long, long ago, in a development environment so far away that it might as well have been a different galaxy, I was a CP/M & MP/M jock. MS DOS (a crude CP/M subset) didn't exist except in Tim Patterson's mind. XENIX (the forerunner of SCO UNIX) hadn't been ported to a x86 environment yet. What ran on Apple IIs was, well, I should be charitable. By 1980 MP/M was multi-user, multi-tasking in its way and suitable for a business environment. There were at least 30 HW manufacturers that built CP/M machines, and most serious applications were being developed for this platform.

Soon the mainstream computer companies started making bids for this emerging market. DEC made a CP/M machine. So did NCR and I believe HP and Sperry-Rand did also. Badly designed and marketed, they were laughed off the market, and promptly discontinued by their respective companies. By late 1980 we had gone 16-bit, with the i8086 and early models of the i80286 CPUs, which were the powerhouses of that day. Then IBM announced the PC.

We looked this thing over, and laughed ourselves sick. Of all the big corporate entries into the microcomputer field, this was undoubtedly far and away the worst. It had an already obsolete 8-bit i8088 CPU, the most benighted memory model any of us had ever seen, a mere 8 HW interrupts, was limited to two serial ports, and didn't even have hard disk support in the HW or in the OS! When we were once again able to stand, we relegated this turkey to the backs of our minds, and went off to work on real computers with real OSs.

About a year later, we couldn't help but notice that, far from disappearing from the market, this gobbler was racking up some big corporate sales, and all of the main CP/M application developers had ported their products to MS-DOS. A year after that, IBM dominated. Another year, and the once mighty CP/M market just didn't exist any more.

I once heard a fellow say about his opinion on some issue, "I'm certain. It may turn out that I'm dead wrong, but I AM certain". Well, I was certain that the PC was no real threat to CP/M, and I was certainly dead wrong. Even my ego feels battered after blowing it that badly, so I took a good look at what had really happened, as opposed to what I had thought was happening.

First, no flavor of CP/M was quite the same. Each HW manufacturer sold a customized version modified to conform to his own HW configuration. Most manufacturers had slightly different diskette formats and several other small items (i.e. serial ports tended to have different addresses and different interrupts from machine to machine). No two printers were compatible, using different command sets and different interpretations of serial and parallel ports, requiring a custom cable for every new device. Stores had to stock a half dozen different versions of the same application on their shelves, and developers had to support all these permutations. Second, there was hardly any support for software developers by manufacturers, no SDKs.

IBM provided, first, an absolutely uniform HW and SW environment for developers, and second, partnering and strong support for these folks, often including bundling and IBM support. The fact that we had the best HW and OS on the market, and they had the worst, simply didn't matter. And third, and possibly the most important, they provided a solid corporate migration path for those companies who already had strong investments in CP/M, by supporting all the major CP/M applications on the PC, and by helping with conversions to the MS-DOS environment. That's why they won, and we lost. And looking back on all this from a 20-year vantage point, we richly deserved to have our butts kicked. We were arrogant fools.

Now, back to the present. I believe strongly that the key to large-scale acceptance of Linux, especially in corporate and government environments, depends on support of existing applications in those environments (which are 95% Windows) in Linux, a solid support environment for Windows application vendors (including Microsoft, especially if MS is indeed split), and an acceptable transition path for corporations changing over.

As a veteran of some rather large rollouts (MS Exchange to 150,000 desktops in Lockheed in a single month, NT to 40,000 discrete locations with perhaps 400,000 computers for the USPS, and NT and applications to 3000 Gap stores via VSAT satellite, no less), I'm quite familiar with the problems of deployment and support on this scale, and with the people who make the decisions in these environments. These folks are not wedded to Windows, or to anything else but the bottom line. I hope someday to direct the deployment of Linux on such a scale, but it's not quite there yet.

Finally back to the main point: I don't dispute anything Mr. Boorshtein says technically. I disagree strongly with his conclusions. The strength or weakness of VB from a technical viewpoint is just as irrelevant as the superiority of CP/M and S-100 machines. UNIX advocates have tried to move UNIX to the non-engineer's desktop for the last 20 years. IBM and Microsoft have swept the floor with every flavor and every company that has tried. The few UNIX survivors defend constantly eroding niche markets, mostly because Microsoft and Compaq get better returns elsewhere and need some opposition to show the anti-trust boys anyway. Don't misunderstand my position here: I'm pro-Linux and pro-Open Source. I merely have something bad to say about absolutely everybody.

I think the important path for Linux is to fully support the Windows Office Suite and all other major Windows applications, yesterday if not sooner. Support of the VB environment is crucial to this. Development of freeware and shareware clones for these applications will follow once the Linux market is established. The day someone like me can walk into a CIO's office and show him that his Excel spreadsheets and macros, his PowerPoint presentations, his databases and his groupware work under Linux, cost less to support, look and feel much the same, interact seamlessly with his existing environment, and cost him a fraction of what he's paying today, that's the day we can start replacing Windows with Linux 100,000 machines at a time.


Kenneth Broll (keb@cfcl.com) is a network design consultant in Silicon Valley and veteran of more than 30 years in the industry. He has done work for Sun, The Gap, NASA, Lockheed, Martin Marietta, GE, Honeywell, IBM, Apple, the USPS, Santa Clara County, and Mitre Corporation, among others. He professes to learn by the few mistakes he will admit to.


T-Shirts and Fame!

We're eager to find people interested in writing editorials on software-related topics. We're flexible on length, style, and topic, so long as you know what you're talking about and back up your opinions with facts. Anyone who writes an editorial gets a freshmeat t-shirt from ThinkGeek in addition to 15 minutes of fame. If you think you'd like to try your hand at it, let jeff.covey@freshmeat.net know what you'd like to write about.

Recent comments

18 Apr 2007 11:11 Avatar ian807

Money wins. Technology loses.
The best technology doesn't win. What costs the least always does.

Low cost ALWAYS means compatible with existing technology. IBM did it with punch cards. Apple didn't do it with anything and they're still going strong with their what, 5% share?

The person making the decisions DOES NOT CARE. He wants his existing Windows apps and the custom VB app at the core of his business to continue to work. Period. He has work to do. He doesn't want to be bothered. He doesn't care about Linux, or Windows, or processors, or thin-client apps, or the internet, other than as a sales channel.'

Think business and money and you know immediately who wins. Money always wins. Think like a programmer and you lose big time.

Just another developer who learned the hard way...

17 Mar 2003 09:09 Avatar usotsuki

Re: IBM PC did not run CP/M

> The issue that fired this off is VB on
> Linux. The IBM PC and QDOS did not
> support CP/M.


Arguable; the PC did in fact support CP/M-86 and CP/M-86 was an option. Expensive, though; that's why PC DOS (=M$-DOS) at 1/10 the price took hold.


> What they provided was an
> easy migration path from CP/M. Linux
> should not have a VB implementation,
> Linux should have a translation system
> which turns VB scripts into Python, Ruby
> or whatever. It will be crappy Python
> (Ruby, or whatever) but it will not be
> VB script.


Forget Vi$ual Ba$ió, it's another MFTL, not the way to go. People need to learn *real* programming languages like C or Perl if they ever hope to compete in the real world.


> Let's put it together this way:
> What the beancounters are interested in
> is ``can we run our stuff on this system
> with minimal effort (cost) and get
> better results (benefit)?''
> What Linux, if it can be
> anthropomorphised for the sake of
> discussion, is interested in is being
> all things to all men so that it may
> spread and achieve world domination


Not Linux per se, but the distros, certainly.


> One area that Microsoft have had big
> wins in is allowing easy migration from
> other systems and meanwhile making it
> hard to migrate to other systems
> What programmers are interested in is
> creating something new and interesting
> What purists are interested in is
> migrating people not so much to Linux as
> to better systems
> What managers are interested in is not
> so much a better-faster-cheaper VB as a
> way to make their systems more
> manageable, predictable, debuggable


PERL


> Now, the obvious answer follows. Write a
> translator that eats VB and spits decent
> languages (you are permitted to define a
> ``decent language'' as anything you're
> prepared to write a back-end for. The
> front end has already been done by the
> ASP2PHP project. I say give the T-Shirt
> to Mr Naken!). Use Microsoft's own
> tactics against them, and let's see if
> they complain. (-:


LOL


> But wait! There's more!
> Microsoft are promoting .NET, which is
> basically just the MS rendition of Sun's
> Java run-anywhere idea. Microsoft, being
> Microsoft, will fsck it up on the first
> try and spend the rest of their
> corporate life layering on the bandaids
> - but that doesn't matter.
> Say for the sake of discussion (again)
> that we choose Python as a backend for
> this translater. Not only do we
> Instantlyhave run-anywhere -


Even, BTW, to Messy Dog!

-uso.

17 Mar 2003 09:02 Avatar usotsuki

Re: The demise of Linux, part 2

> Because I agree that things should be
> done the right way, I must agree with
> Naiciagam, and say that Linux has died a
> very bloody and painful death. At the
> heart of this argument is the fact that
> the GUIs have won, secondly, the fact
> that money has corrupted the heart of
> the Linux movement, and finally that
> there's nothing to do to save the
> movement.


???

(snip)


> The first flaw in the Linux world is
> that the GUIs have won. If you sit and
> watch several newsgroups related to
> Linux, you will see many, many, many
> problems with GUIs such as Gnome and
> KDE. The underlying problem here is NOT
> that GUIs are bad, far from it, but they
> are the wrong solution to an old
> problem, a problem of how to get new
> users to learn to use the computer.


AOL


> As
> many of you know, the movement in the
> past five or so years has been to teach
> new users to the computer using an GUI
> as a way to "ease"
> them into "serious"
> computer usage (many times, using
> Microsoft Windows). However, in doing
> this, we have wrongly led these people
> to believe that the GUI is the silver
> bullet for the computer. Pretty soon,
> they wonder why DOS even existed, or
> even what DOS is. Our problem is that
> we expect new computer users to do too
> little, learn even less, and think even
> less than that.


One should learn IMHO the command line and migrate to the GUI afterwards (as I have - learned DOS/BASIC on ProDOS 8 1.11 in '84 and migrated to the GUI of ProDOS 16 1.3 in '88, or PC DOS 2.1 in 1992 and migrated to Losedoze 3.10 in '95).


> Back to the original
> point though, GUIs have destroyed the
> Linux environment. When I learned
> Linux, and computers in general, I
> learned at the command line. I learned
> what goes on behind the scenes, and I
> learned that there's more to the
> computer than the pretty programs that
> do everything for you. I learned what a
> pipe was, and what it was good for. I
> learned how to use one command to
> "feed" another, to
> "feed" another, and
> then send the result to a file, or to
> the printer, or to the screen, or to the
> network, etc. That's what Linux was
> meant to be. A UNIX clone. Something
> that a user could sit down at a simple
> command prompt and get some work done,
> without the interruption of a GUI or
> anything else. I am NOT a GUI basher.


Me neither, but as they say, if you want Windoze or MacOS, you know where to find it.


> If you want, use a GUI, but understand
> the underlying philosophy of the
> operating system and where it comes
> from.
>
> Money has warped our desires as well.
> Case in point, Red Hat. Red Hat started
> as just another distribution of Linux,
> but then it grew, and grew, and grew,
> and grew, and now it's "The
> Microsoft Of The Linux World".
> It's the dummy distribution. It's also
> the worst distribution IMHO. If anybody
> here is looking for the people to port
> VB over, I guarantee that Red Hat will
> either fund it or take credit for it, or
> do it themselves. The prime motivator
> for Red Hat is money. Pure and simple.
> They have sold out. I'm sure I'm not
> the first person to make this argument.
> The underlying philosophy for Red Hat
> used to be quality, but now it's
> "converting" new users
> from Windows, making a profit, and
> making their stock rise. One can now
> run Linux, and have it use the look and
> feel of Windows programs, thanks to Red
> Hat and crew. I applaud you for being a
> nail in the coffin for Linux. Linus
> himself cautioned against Linux being an
> emulation platform, a comment which Red
> Hat must have ignored.


Hence, the name "Hed Rat".

> The movement is over. Every revolution
> has a counter-revolution, every movement
> has a counter-movement, in this case,
> the belief that closed-source software
> will run everywhere it says it will and
> easily. One could argue that Linux was
> crushed by their counter-movement.
> Linux tried to become more like Windows;


Distros did. Linux didn't.


> the only problem with this is that each
> vendor tried DIFFERENT ways of doing it.
> This in and of itself was a burden, but
> EVEN worse, when we got a
> vendor-independent way of doing it
> (Gnome or KDE, pick your poison) it
> became bloated. I can install Windows
> 95 in 50 Megs on my hard drive. I can't
> install Linux + Gnome in that space
> because Gnome alone eats up about twice
> that amount. When the average Joe sees
> that, he's going to think,
> "Microsoft has done it cheaper
> and quicker, therefore it must be
> 'right'". Unfortunatly, Linux
> is trying to overcome that mentality,
> but they're fighting the wrong battle.
> They should worry more about how to
> compete based on merits than look,
> however, we've given up that battle.


:\

The Apple IIgs had a nice, Mac-like GUI in 800K with room to spare.

Can't this be done on the PC?

-uso.

08 Jan 2003 13:07 Avatar hanseno

Old, rusty machines
I think your very basis here, at quoting CP/M is wrong in all its forms. First of all, if you recall ... when CP/M was about, was at the era when computers were becoming popular as personal computers. The commodore pet, later the cbm became famous and the favorite, before ms dos ever came into the market place. What did commocore have? A basic interpreter, a very simple interface and commands that any user could acquaint him/herself with. The same applied to IBM PC as it came onto the market, it had a basic interpreter built in and users could use it to do simple things without having to learn a lot of hanky panky and god knows what. The same story, applied to the Macintosh when it came out.

And MS-WORD ... it simply killed it's competition, which was mostly the older CP/M originated word perfect. Why? because word perfect was hard to use, hard to get complete control of ... while Word was simple, and easy. In these days, *this* was the key... power combined with ease of use.

Today however, you can't say that about Windows, or Office. Open Office and KOffice are products that give the ease of use, you originally got from MS Word. And Linux is fastly becoming an operating system, that is easy and simple to use as well. While Office and Windows become overly bloated, and highly unstable. Something, if anyone cares to remember, was a thing of CP/M.

Nobody cared, in the old days, no matter how functionally complete Unix was... to spend a lot of time a day, to find out something about a simple error... do a lot of C programming, to make a simple calculation or remember tons of command parameters to start a word processor, which accidentally wasn't available and was one of the key items that that handicapped Unix. Guru meditation, was for amiga users ... and bomb shells was for Atari and Mac users. And although a graphical user interface was created for the Commodore 64 (yes, indeed) ... those programs were not in every computer store shelf, at $9.99 a pieace. But only found in the small print of a computer enthusiasts magazine, and then at the price of $99.99. Which makes a world of a difference, especially at a time when the hype around computers has convinced everyone that Megaherz and Megabytes rule.

Today, who can afford to buy Windows? It's expensive, you might even say that today Windows fills the same role as IBM or Dec, Mainframe O/S'd did. You couldn't buy these OS's, you had lease them at outrageous prices. ... and later, Sun's and other medium sized operating systems. Of course, every person in the office knows Word and Windows. Just like, 15 years ago, every person in the office knew CP/M and Word perfect... and it's only the winner that goes home with the price. Trying to emulate Windows and Office, every hour on the hour, only gives you second place ... as a meager copy, that will never be as good as the original... never do things as accurately as the original, no matter how good the programming team is.

Let's put it differently ... does anyone here, even consider that MS-DOS would have become as popular as it is, if it had tried to be a complete look alike, to CP/M? or does anyone consider that Word would have become so popular, if it had tried to be exactly like Word perfect?

Hardly.

27 Feb 2002 17:53 Avatar aaronpeacock

politics shmolitics
politics shmolitics. what about "WHAT WORKS"???
1) GUI's extend the range of what is possible with the command line. just try editing audio files by command line. capiche?
GUI's are not just training wheels- they are necessary for some tasks. period. graphics are a case in point- no GUI, no graphics. got it?
thanks
2)some people actually need every cpu cycle available. some people do more with a computer than just web related tasks. some people do 3D graphics, pro audio, video, etc...
recommending solutions based on politics wont help. dont assume someone uses linux for the same reasons you do.
i have some pretty simple requests:
1)roll the low latency patches into the kernal
(audio people NEED low latency. hello!?)
2)bitch to hardware manufacturers to include linux drivers for their devices when shipping.
3)open the mind to accept other people using linux and for different reasons.
linux is attracting users and YOU cannot control why they are attracted nor what their needs are.
and do NOT assume we are all windows idiots.
Thanks!

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.