This is a good history:
https://computerhistory.org/blog/the-deep-history-of-your-ap...
This is a good history:
https://computerhistory.org/blog/the-deep-history-of-your-ap...
Mesa and Cedar influenced Niklaus Wirth to come up with Modula-2/Lillith and Oberon.
Which had an influence on Rob Pike, on how he developed ACME for Plan 9.
Meanwhile StrongTalk, and Objective-C ended up influencing how Java came to be, and its approach to JIT compilation.
On another track Smalltalk ends up influencing Self design, which ends up having an effect on how V8 JIT was designed.
Then there is Ruby as well.
Pity that with all of this, many still never tried what actually means to use Smalltalk.
Note that Interface Builder started as a Lisp prototype, before being acquired by NeXT.
https://paulhammant.com/2013/03/28/interface-builders-altern...
There is a bit more of a timeline in a talk [1] he gave at INRIA a couple of years before he died.
[1] https://www.inria.fr/en/jean-marie-hullot-perforated-cards-i...
In what respect? What sources for this claim do you have?
I will hunt down the papers.
You should be, because I spent hours telling you about it, in detail, with citations and extensive quotes from the designers of the Alto and Bravo, less than two weeks ago. At the time you conceded the point and said it was not what you intended to dispute: https://news.ycombinator.com/item?id=49857855
I hope not.
And please note that this is again a different topic.
Last time I was talking about Wirth's OO vs. Simula OO, and the similarity of Wirth's implementation with Kay's vision. You then first extended this discussion to whether Kay directly influenced Wirth, which I responded. Then you extended the topic even more to the question whether and to what degree Cedar was influenced by Smalltalk. That was far off my interest and irrelevant for the discussion given that Wirth just took the tiling window manager, which none of the Smalltalk versions had.
Now I'm talking about the development of the Alto computer which included an OS with a GUI and two groundbreaking applications, Bravo and Gypsy (implemented on top of Bravo), all in BCPL, implementing their own interaction and presentation concepts.
If you want to do historical research, you have to go to the primary sources (e.g. https://www.mirrorservice.org/sites/www.bitsavers.org/pdf/xe..., https://xeroxparcarchive.computerhistory.org/Xerox_PARC_sour..., or e.g. https://archive.org/details/Xerox_PARC_Gypsy_Demonstration_T...), not to stories written down from memory twenty years later.
I do not believe that Wirth's "OO" is a different topic. To the best of my understanding, the reason he added procedure-typed record fields in Modula-2 and retained them in Oberon was specifically in order to implement that tiling window manager, which in later versions of Mesa (and Cedar) replaced the overlapping-window GUI in earlier versions of Mesa, which came from Alan Kay's 01969 doctoral dissertation, by way of Smalltalk.
> Kay's 1969 thesis has no overlapping windows; its "windows" are Sutherland–Sproull clipping viewports into a vector-display virtual screen ("the terminology follows [A Clipping Divider, 1968]", p. 40); nothing occludes or moves. Overlapping bitmap windows first appear in Smalltalk-72 on the Alto (1973–74), implemented by Ingalls. Tiling did neither come from Mesa nor from Kay; multiple tiled windows were on screen in Engelbart's NLS in 1968 (Engelbart & English, FJCC 1968, and the demo), carried into PARC by his former team (English, Irby), and are the stated model for the Mesa debugger. Procedure types in Modula-2 (1977–80, for Lilith) were taken from Mesa after Wirth's 1976–77 PARC stay, years before Cedar's tiled Viewers (1982), which Wirth saw in 1984–85.
Unfortunately, and horrifyingly, this response is [dead].
I agree with some things in it, but not others, and I will have to write a longer response later.
That's strange. I didn't do anything and it still appears on the site in my browser. Did they add "shadow bans" to HN? That was one reason for me to turn my back on Facebook (and the fact that interesting discussions suddenly disappeared later on). I took me more than half an hour to re-check all sources; I (we) probably shouldn't spend that much time on comments anymore.
https://www.lri.fr/~mbl/ENS/FundHCI/2013/papers/XeroxStar-Co...
A few quotes from it,
> SunView is an example of a window system that is based upon the Tools metaphor rather than the Desktop metaphor. Its users see a collection of application program windows, each of which is used to edit certain files. Smalltalk-80, Cedar, and various Lisp environments also use the Tools metaphor rather than the Desktop metaphor
> The Reactive Engine -- While Engelbart et al were developing ideas, some of which eventually found their way into Star, Alan Kay, then a graduate student, was doing likewise. His dissertation, The Reactive Engine, contained seeds of many ideas that he and others later brought to fruition in the Smalltalk language and programming environment, which, in turn, influenced Star.
> Most importantly for Star, they demonstrated the power of graphical, bitmapped displays, mouse-driven input, windows, and simultaneous applications. This is the most visible link between Smalltalk and Star, and is perhaps why many people wrongly believe that Star was written in Smalltalk.
> Even though the machine was designed to run Star, it also ran other software. In addition to selling it as the 8010 "Star" workstation, Xerox sold it as a server machine and as an Interlisp and a Smalltalk workstation.
From this other one, some quotes as well,
"The Mesa Programming Environment"
https://dl.acm.org/doi/pdf/10.1145/17919.806843
> Client programs can attach additional information to windows by means of named contexts, similar to property lists of LISP. Tools can be written to have multiple instances, obtaining their data from the context associated with the particular window that Tajo is notifying (passed as a parameter to the notify procedure).
> The debugger had multiple windows patterned after those of Smalltalk [Kay76]. One, a typescript window, was used for interaction with the debugger executive for setting breakpoints, examining data, etc., and another was used to show the source context at breakpoints.
There are a few others with similar one off sentences like these, telling how designers from one system got influenced by the other, while at Xerox PARC.
The Alto OS, Bravo (1974) and Gypsy (1975) were written in BCPL by CSL/POLOS people (Lampson, Sproull, Simonyi, Tesler, Mott); the June 1975 Alto OS manual and Alto Packages contain nothing from Smalltalk, and they had no overlapping windows or pop-up menus.
Mesa the language (MPS 1971, named 1974, self-hosting 1976) owes nothing to Smalltalk either. Sweet's "patterned after those of Smalltalk [Kay76]" refers to the Dec 1976 Mesa 1.0 debugger's optional, "experimental" window manager. It never touched compiler, binder or OS and was dropped/replaced in Mesa 4.0.
Smalltalk influence is documented for Star and for Cedar's environment goals, both 1980s. For the Alto software of 1973–75 there is none; for Mesa 1976–77 it is BitBlt plus an experimental debugger add-on. BitBlt and overlapping windows were specifically Ingalls' work, which he internally demonstrated in 1975.
Paul McJones has a nice Mesa History Collection with a lot of primary sources from the time: https://softwarepreservation.computerhistory.org/mesa
I should made myself clear it wasn't the programming languages grammar or semantics by themselves.
I had no idea about the Interface Builder Lisp history! Thank you for digging that up!
I wonder, though, what a pure Smalltalk workstation would’ve looked like, and what hardware would’ve been necessary to make it fast. After all, the late 80s were the era of Lisp machines, though Lisp machines were much more expensive than NeXT cubes ever were. If I recall correctly, Smalltalk on the Xerox Alto was slow, but David Patterson (of RISC fame) had a PhD student who worked on a performant version of the Smalltalk VM, and some of that work went to a spiritual successor named Self, which heavily influenced the design of the Java VM. I remember Java feeling slow in the mid-1990s, but that might be due to bad memories of Java applets rather than a fundamental problem with Java VMs.
The first JIT was written by L Peter Deutsch for Smalltalk targeting the 68020.
[1] https://www.mirrorservice.org/sites/www.bitsavers.org/pdf/te... [2] https://en.wikipedia.org/wiki/Xerox_Daybreak
https://www.inria.fr/en/jean-marie-hullot-visionary-computer...
Slimula is to Simula as Minyma is to Macsyma.
ref: https://www.abebooks.com/9780201834543/Object-Model-Lippman-...
The interface/@protocol, JAR files/Bundles, services/plugins, proxy objects/categories,....