1. 29

    1. 11

      ST80 really was a weird and clunky GUI. This article doesn’t even talk about the bizarro-world scrollbars. (When I was a summer intern in 84-85 my friend Josh Susser and I had some fun improving GUI components, like Macintosh-style scrollbars.)

      the Smalltalk environment wasn’t really an operating system the same way something like Mac OS was. It’s more like an IDE that runs on bare hardware. For example, there’s no traditional file system.

      Alan Kay once said something to the effect of “an operating system is just the stuff you couldn’t fit into your language.” Smalltalk really was an entire OS.

      Smalltalk always had a filesystem underneath it. ST80 has classes to access it and even a file browser window. It might not be enabled in that web demo though. Programming wasn’t directly connected to the filesystem — you edited individual methods and the changes went live immediately — but the compiler wrote source code to a log file and would read it back from there so you could re-edit existing code.

      Re. what Apple added — it’s important to realize that Smalltalk was far from the only GUI developed at PARC in that timeframe. There were also Tajo, Cedar, InterLISP-D and Star; and I’m probably forgetting some. Honestly, ST was the most primitive of these, partly because they insisted on having only one graphics primitive, bitBLT. As a result, ST couldn’t clip to nonrectangular regions, meaning you literally could not draw into a partly-obscured window or you’d overwrite the one in front of it!

      For a better comparison to the Macintosh (and Lisa), look at the Xerox Star (1981) which had a very polished desktop environment that feels much more familiar. I don’t think the Apple team visiting PARC got to see that, since it wasn’t released yet, but of course they saw it publicly well before the Lisa or Mac shipped.

      1. 6

        “an operating system is just the stuff you couldn’t fit into your language.”

        That was not Kay. It was Dan Ingalls, often overlooked but the person who implemented a lot of Alan Kay’s ideas.

        He said “an operating system is a collection of things that don’t fit inside a language; there shouldn’t be one”.



        Also see:


    2. 6

      A few years ago, Dan Ingalls got all of the early Smalltalks working in a web browser. He gave a fantastic talk at ESUG showing the evolution of the system.

      1. 3

        Ingalls’ 100-page article on the evolution of Smalltalk is a must-read for anyone interested in this. In fact it’s one of my favorite CS papers of all time.

      2. 1

        Is this video the talk you’re referring to? https://youtu.be/pACoq7r6KVI

        1. 2

          I think so, the date’s about right (it was at the ESUG that I hosted in Cambridge).

    3. 2

      You can see an emulator here.

      Think of Xerox Smalltalk as a web browser rather than a traditional GUI: it’s a user interface, but you can also drop into dev tools and edit the underlying code that is running in real time. Except it only browses one web page. And there’s no clear distinction between “code” and “data:” the entire system, including files and programs, is saved to disk all at once.

      1. 3

        It might be fairer to say “think of a modern web browser as a half-assed Smalltalk: it’s a user interface, but also a Self runtime with C-like syntax bolted on top.”