Xerox Alto Source Code

10 years ago (computerhistory.org)

I've used and programmed an Alto, but only with the Mesa/Bravo environment, not the Smalltalk environment. For some political reason, the Smalltalk environment wasn't made available to Stanford.

The computer itself was a 16-bit word addressed microcoded minicomputer with the microcode in ROM, driving a Signetics ALU. (Most minicomputers of the era were 16-bit word addressed machines.) The portrait-oriented page sized display was pure Xerox PARC; they even made the CRT. There was a mouse, of course, and the original Ethernet interface.

Mesa is a relatively straightforward language. The most unusual feature is that the input to and output from each function call is a tuple of arguments. This input/output symmetry was useful, and has seldom been seen in other languages.

The Bravo text editor was the first WYSIWYG editor with fonts. Amusingly, this was also the programmer's editor. So Mesa programs were written with proportional spacing and boldface where desired. The compiler didn't see any of the formatting. The Bravo file representation was plain text, followed by a control-Z as an EOF, followed by the formatting information. The compiler just stopped at the control-Z.

  • How has Mesa as systems programming language? Did you also used Cedar?

    From my own experience with Oberon derived systems, and all the Xerox PARC documentation that I have from Mesa/Cedar, I became convinced that we really lost with UNIX model becoming widespread into the industry instead of what Xerox was researching.

    • I only wrote one graphics application in Mesa, as a student at Stanford. I never used Cedar or SafeMesa or any of the Alto successors, although I visited PARC a few times and saw them used.

      Xerox had to invent Mesa because they were previously stuck writing BCPL, a predecessor to C sometimes known as the British Cruddy Programming Language.

      Xerox's world model was closed systems with a few beautiful applications written by experts. End users were not to be allowed access to the guts of the software. The realization of this was the Xerox Star, which was a nice, and very expensive, world processor with a few additional applications. (Visualize a system that runs Microsoft Office and nothing else.) The idea that ordinary people would write application programs was completely alien to Xerox. Their market was secretaries.

      2 replies →

I had access to either an Alto or a Dorado during my co-op terms at Environment Canada (the weather service) back in the late 80s. I had a keen interest in OO at the time, but I can't remember this machine having a Smalltalk. Whenever I was able to access it, I spent time amusing myself hacking LOOPS (pre-cursor to CLOS - OO Lisp).

I also had access to a Mac, had an HP-9000 unix workstation (running X Windows) sitting on/under my desk, and had some exposure to Smalltalk-80 at the time. What blew me away was how mature and strange the Alto was; it was so obviously advanced, but was so difficult to understand. At that time, it was an 'old' machine, but somehow seemed like it was sent from the future.

  • > At that time, it was an 'old' machine, but somehow seemed like it was sent from the future.

    This is why when I combine my own experience with Smalltalk and Oberon, coupled with all the Xerox PARC documentation that I can get my hands on, I feel sad that the industry didn't adopt any of the Xerox PARC paradigms.

    So here we are, jumping of joy for something like Swift Playground or Bret Victor's demos, when everyone could have had something like that for years now.

    • This was how I felt about NeXT computers, even after they were obsolete in pure hardware terms they were still YEARS ahead in software.

      1 reply →

I love the fact the Computer History Museum is keeping this source alive. But without an Alto Emulator, it's almost worthless. Kinda sad how much technology is dead simply because the hardware is gone to run it.