On Jun 30, 2016 10:10 AM, "Marc Rochkind" <rochkind@basepath.com> wrote:
Bill Cheswick: "What a different world it would be if IBM had selected the M68000 and UCSD Pascal.  Both seemed
to me to better better choices at the time."

Not for those of us trying to write serious software. The IBM PC came out in August, 1981, and I left Bell Labs to write software for it full time about 5 months later. At the time, it seemed to me to represent the future, and that turned out to be a correct guess.

Microsoft Basic is well known as the primary initial language for the PC, but from day one there was another choice called Microsoft Pascal (we used the IBM Pascal version). It was a considerable extension over classical Pascal. It had full-blown string manipulation and pointers. With it, I was able to implement a text editor called EDIX and an nroff-ripoff called WORDIX. The compiler was full of bugs, but it was a true compiler, and the programs were small enough and fast enough to work well on the limited 8088 (I think that was the processor) hardware.

I don't know about UCSD Pascal versus MS-DOS, but I think you yourself just alluded to the processor distinction that Ches was referring to. Of course it's only of historical interest now, but from a technology standpoint MC68000 vs Intel 8088 seems like a no-brainer: the 68k is the superior chip. From a business perspective, I guess it was a very different matter, but that's not my area and the ship has long sailed over the horizon. Still, it's fun to speculate and I can't help but think that a 68k-based IBM PC would have been a nicer machine.

Initially, with no hard drive, I had to switch floppies several times just to compile one file. Later, I got a 6MB hard drive for about $3000. Interestingly, that drive could not even hold one (raw) image from my current digital camera!

We could not have used Microsoft Basic or UCSD Pascal.

Just a few years later, something called Lattice C came along, and we switched (back) to C, and stayed with it from there on out.

Something I never understood about the IBM PC: even the 8088 machine was fairly beefy compared to e.g. a PDP-11/20. The 6th Edition Unix kernel was objectively pretty small and understandable; mini-Unix showed that that sort of software could be used on a machine without an MMU. I've never understood why IBM didn't just write a real OS in a high-level language instead of saddling the world with MS-DOS. Perhaps it's naive of me, but even if they didn't use Unix directly, it was an existence proof that such a thing was possible. I suppose, again, it was less a technical issue and more a business issue, or perhaps I'm underestimating the amount of work or missing some of the technical complexities.

        - Dan C.