Earlier quoted context omitted.
Self has an even bigger legacy, the JVM is basically all the technology that made Self fast ported over to Java. David Ungar pioneered not only Self and prototype based inheritance, but also generational garbage collection, and polymorphic inline caching. Before Sun cannibalised the Self team into Java, it was actually slow as a snail. Another fun fact, a reduced version of Self was used the programming language for…
Ungar's thesis is one of the most magnificent tours de force it's ever been my pleasure to read. It's mostly a series of "Here's why this technique is impossible to implement efficiently, but never mind that; here's how we implemented it efficiently anyway."
https://www2.eecs.berkeley.edu/Pubs/TechRpts/1986/CSD-86-287...
However, I don't think SPARC would be saddled with tagged integers were it not for SOAR.