172 lines
8.6 KiB
Plaintext
172 lines
8.6 KiB
Plaintext
![]() |
Bill Gates Interview by (PC-Magazine)
|
|||
|
|
|||
|
------------------------------------------------------------------------
|
|||
|
REMEMBERING THE BEGINNING
|
|||
|
------------------------------------------------------------------------
|
|||
|
|
|||
|
PC MAGAZINE:
|
|||
|
|
|||
|
15 years is a surprising amount of time in some ways.
|
|||
|
Obviously the PC industry goes back further, but the IBM PC
|
|||
|
changed it a lot. It changed the way people thought about
|
|||
|
computers.
|
|||
|
|
|||
|
BILL GATES :
|
|||
|
|
|||
|
It absolutely did. For the IBM PC, the key market was a
|
|||
|
hobbyist market. We'd gotten floppy disks, so we'd start to get into
|
|||
|
some more serious applications. But, both the power of the machine,
|
|||
|
because it was the first 16-bit machine, and the endorsement by IBM of
|
|||
|
using a personal computer, and then the critical mass of software and
|
|||
|
distribution and peripherals that came along with that, makes it the
|
|||
|
biggest milestone in the history of personal computing. It was a sea change.
|
|||
|
Of course, one of the big developments around it was that before the IBM-PC
|
|||
|
came along, machines were essentially incompatible with each other. In those
|
|||
|
first few years, [we saw] the whole notion of how compatible was compatible,
|
|||
|
there were many different levels there. And a lot of hardware manufacturers
|
|||
|
still felt they had more freedom to deviate a little bit and do things that
|
|||
|
couldn't be virtualized by a common software interface.
|
|||
|
So, in those first two years a lot of key things were established: the idea
|
|||
|
of compatibility; MS-DOS as the primary system as opposed to CP/M-86 or UCSD
|
|||
|
P-System which were the prime competitors; and the whole thing about a broad
|
|||
|
software industry and using indirect distribution channels. Anyway, it was a
|
|||
|
monumental change.
|
|||
|
|
|||
|
PC MAGAZINE:
|
|||
|
|
|||
|
Let's go back -- go back to that first 1982 PC Magazine
|
|||
|
interview. You know, "The Man Behind the Machine." Microsoft was involved
|
|||
|
with IBM to what at the time was an unprecedented degree. You had written
|
|||
|
software for lots of other machines at that point, not operating systems but
|
|||
|
BASICs and things like that. How different was it?
|
|||
|
|
|||
|
BILL GATES :
|
|||
|
|
|||
|
Well, for IBM it was extremely different because this was a
|
|||
|
project where they let a supplier -- a partner, whatever you call us --
|
|||
|
shape the definition of the machine and provide fundamental elements of
|
|||
|
the machine. When they first came to us, their concept was to do an 8-bit
|
|||
|
computer. And the project was more notable because they were going to do
|
|||
|
it so quickly and use an outside company. It wouldn't be a high-volume
|
|||
|
product. Their charge was to do a home and a very low-end business machine.
|
|||
|
They had the Data Master, which was 8085-based at the time, that they felt
|
|||
|
was covering part of the business market. Then they had the 5100, the
|
|||
|
machine that had both an APL and a BASIC interpreter, which was covering
|
|||
|
another part of the business market. So it was sort of a home-down business
|
|||
|
machine. And it was a very small team in Boca that wanted to prove that IBM
|
|||
|
could do a product, any kind of product, in about an 18-month cycle. And
|
|||
|
that was the most novel<65>that was going to be the novel thing was: could
|
|||
|
you work with outsiders, which in this case was mostly ourselves but also
|
|||
|
Intel, and do it quickly?
|
|||
|
And the key engineer on the project, Lou Eggebrecht, was fast-moving. Once
|
|||
|
we convinced IBM to go 16-bit (and we looked at 68000 which unfortunately
|
|||
|
wasn't debugged at the time so decided to go 8086), he cranked out that
|
|||
|
motherboard in about 40 days. It's one of the most phenomenal projects
|
|||
|
because there were very small resources involved and we had to ROM the
|
|||
|
BASIC which meant that it was essentially cast in concrete, so you couldn't
|
|||
|
make much in the way of mistakes. We actually did this clever thing where for
|
|||
|
disk versions of the system, we put enough hooks in the ROM that you could
|
|||
|
place reasonably modular parts of the ROM.
|
|||
|
So it was very lucky when it turned out about a year after the machine
|
|||
|
shipped, there was a floating point bug and the New York Times ran it, we
|
|||
|
could just issue a disk that patched out that part of the floating point
|
|||
|
package because virtually all the machines that had been shipped were
|
|||
|
disk-based,. What I had done was made the dispatch table hookable. It was
|
|||
|
a very tricky project because the machine had to boot running only BASIC,
|
|||
|
or if it detected a disk, it had to boot with the operating system. And
|
|||
|
if only the BASIC came in, the we had to do file management against the
|
|||
|
audiocassette. And they insisted that it run in a 48k configuration which
|
|||
|
was pretty tricky; we were hoping they'd insist on 64k. Now, it turned
|
|||
|
out most people bought 128k versions of the machine.
|
|||
|
|
|||
|
PC MAGAZINE:
|
|||
|
|
|||
|
Didn't the original machine come out with 16k?
|
|||
|
|
|||
|
BILL GATES :
|
|||
|
|
|||
|
The cheapest machine you could buy -- yeah you're right,
|
|||
|
you're right: if you were cassette only, it was 16. And then if you
|
|||
|
got the disk you could be 48. And, it was actually fairly complicated
|
|||
|
because the ROM is up in very high memory, that is, it's at a different
|
|||
|
segment address. The whole idea of where we use long addresses, where we
|
|||
|
use short addresses. The 8086 architecture -- now that we have flat
|
|||
|
memory model, people forget that a segmented memory model is a fairly
|
|||
|
complex thing to work with. It actually got worse before it got better.
|
|||
|
We went to the 286 which was very segment-oriented before we finally got
|
|||
|
just straight, linear address space in 1986.
|
|||
|
|
|||
|
PC MAGAZINE:
|
|||
|
|
|||
|
And not in the operating system until after that.
|
|||
|
|
|||
|
BILL GATES :
|
|||
|
|
|||
|
That's right.
|
|||
|
|
|||
|
PC MAGAZINE:
|
|||
|
|
|||
|
That's significant.
|
|||
|
|
|||
|
BILL GATES :
|
|||
|
|
|||
|
Well, people had written applications to use real addresses --
|
|||
|
DOS applications depended on the fact that there was not a level of
|
|||
|
indirection: that is that you simply shifted the segment value and added
|
|||
|
it in. So we had to keep running Real Mode Applications<6E>I mean today you
|
|||
|
can buy an IBM PC and run a Real Mode Application. I mean it'd actually
|
|||
|
be interesting to take those applications that shipped with the original
|
|||
|
PC and plug them in. I'm pretty sure they'd work. I admit I haven't tried
|
|||
|
it. The first applications were an adventure game from us, a typing tutor
|
|||
|
from us, and then VisiCalc.
|
|||
|
|
|||
|
PC MAGAZINE:
|
|||
|
|
|||
|
Yes and Easy Writer.
|
|||
|
|
|||
|
BILL GATES :
|
|||
|
|
|||
|
Was Easy Writer there at the very beginning? I think it was.
|
|||
|
So none of the early applications have successful follow-ons. Now the early
|
|||
|
language tools included our BASIC compiler, our FORTRAN, and actually at
|
|||
|
those times we offered a PASCAL and a COBOL compiler as well.
|
|||
|
|
|||
|
PC MAGAZINE:
|
|||
|
|
|||
|
Obviously, back then you were talking about DOS as the standard.
|
|||
|
I mean you were telling people to write to MS-DOS, not to go around it to
|
|||
|
the hardware and all that. Of course, the programs that became most
|
|||
|
successful in those days of the applications, did go around it. IBM
|
|||
|
became hardware-dependent, which of course was then copied a lot. Was
|
|||
|
that a surprise to you?
|
|||
|
|
|||
|
BILL GATES :
|
|||
|
|
|||
|
No, not at all. I mean, remember we were the big promoters of
|
|||
|
the bit-map graphics. We were really against this there were two video
|
|||
|
cards. There was CGA, which we pushed for, unfortunately only got 640 by 200
|
|||
|
graphics into it and the palate was limited. It was just at the last minute
|
|||
|
they gave us a tiny bit of a palate where color 0 could be mapped to 16,
|
|||
|
and colors 1, 2 and 3 had a flip where they could be one set or another.
|
|||
|
Anyway, the character cells on the CGA were 8 by 8 so they didn't look
|
|||
|
as good as the Character Mode Only card. Because that was actually,
|
|||
|
although it didn't have bit-map graphics, what IBM calls All Points
|
|||
|
Address (APA) graphics. So it was actually 640 by 350 so the character
|
|||
|
cells were much larger and looked a lot better. It was the Display
|
|||
|
Writer character cell size. So IBM thought a lot of people would buy
|
|||
|
that character mode card, which meant you couldn't do graphs and things.
|
|||
|
But the only way to do graphics was to [write code directly to the hardware.
|
|||
|
So all our applications that did graphics did that as well. It was only
|
|||
|
later that we decided we could provide some high-level services and get
|
|||
|
enough efficiency that graphics applications would go through the
|
|||
|
operating system.
|
|||
|
The definition of what it means to be a graphics application changed.
|
|||
|
In the early days it meant you had a mode where a chart would come up.
|
|||
|
Like when you ran Lotus 1-2-3, most of the time you were in character
|
|||
|
mode, where the scrolling was very fast. Now at days we have processors
|
|||
|
that are fast enough to scroll the bit map display and you don't even
|
|||
|
think about it. Back then, just scrolling the display in graphics mode,
|
|||
|
was noticeably, significantly, painfully slower than scrolling the
|
|||
|
display in character mode because you have eight times as many bits
|
|||
|
to push around and these processors were quite slow processors.
|