News for hackers. Stuff that matters.
Re:Most(ly dead) Influential Programming Languages by j-pb on Thursday March 26, 2020 @04:58AM (#22691680)
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 most of the Apple Newton, because Dylan was taking too long to get off the Ground.

Re:Most(ly dead) Influential Programming Languages by thequux on Thursday March 26, 2020 @05:46AM (#22691955)
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."
Re:Most(ly dead) Influential Programming Languages by CalChris on Thursday March 26, 2020 @11:20AM (#22694387)
Yeah, it was very readable. It implemented the SOAR processor, Smalltalk On A RISC, which is credited by the Berkeley crowd as the RISC-III.

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.

Re:Most(ly dead) Influential Programming Languages by fanf2 on Thursday March 26, 2020 @06:16AM (#22692108)
Then Lars Bak (who worked on Self and HotSpot) used the techniques to make JavaScript fast with v8
Re:Most(ly dead) Influential Programming Languages by lioeters on Thursday March 26, 2020 @08:54AM (#22693017)
This is the second time this week I've seen Lars Bak mentioned. I'm so glad to have learned about his work on virtual machines, it's a direct line through the history of programming languages, from Self, Smalltalk, Java, V8 JavaScript engine, and Dart as well.
Re:Most(ly dead) Influential Programming Languages by evgen on Thursday March 26, 2020 @05:21AM (#22691799)
Having played with Self a bit before the Newton came out and then seeing it in NewtonScript, it was a very cool thing to watch the idea of system-wide prototype-based inheritance filter through the community. I think it was a bit too much for most people to grok, but the ability of a coder to modify only a few prototypes in the system soup to change the behavior of existing apps was absolutely amazing.
Re:Most(ly dead) Influential Programming Languages by jakear on Thursday March 26, 2020 @07:48AM (#22692556)
Contrast to nowadays where people mainly seem to view it as a source of bugs and security vulnerabilities. Which is true and reasonable, but a shame. I always like monkey-patching, at least in small personal projects. But if you want to distribute anything, you end up needing to go back and remove all of it. .
Re:Most(ly dead) Influential Programming Languages by jacobush on Thursday March 26, 2020 @11:47AM (#22694716)
Something similar in thought (but less generic), was the concept of "datatypes" in AmigaOS. It meant software could seamlessly import and export data in formats even though it had no knowledge of its internal representation.

A word processor could include for instance PNG images even though PNG was not even invented when the word processor was created!

Re:Most(ly dead) Influential Programming Languages by cwzwarich on Thursday March 26, 2020 @10:27AM (#22693874)
> Self has an even bigger legacy, the JVM is basically all the technology that made Self fast ported over to Java.

Java only became fast after the HotSpot server compiler, which was written by Cliff Click (and Micahael Paleczny / Christopher Vick) and takes a different approach than Smalltalk / Self compilers.

Re:Most(ly dead) Influential Programming Languages by bonzini on Thursday March 26, 2020 @11:57AM (#22694859)
Can you explain the differences?