3 ms·
Thanks for the great links and background. I had a couple of questions: I'm guessing The Blue Book is "thee" book for learning Small Talk then? Are there other
by bogomipz 4y ago
Thanks for the great links and background. I had a couple of questions:
I'm guessing The Blue Book is "thee" book for learning Small Talk then? Are there other resources folks would recommend as well perhaps other books or online resources?
Regarding the bytecode VM, was this one of the earliest languages that ran in its own bytcode VM then? Was this as innovative as it sound for the time? Did it have JIT optimizations as well?
- int_19h 4y agoThe idea of bytecode dates back to mid-60s. It was already widespread in the 70s because it was a common way to implement Pascal in particular.
- bogomipz 4y agoAh neat, this is fascinating. I had never really thought about where they actually came from. I suppose I just assumed it was Java. For anyone else who is curious - the roots of bytecode are in the BCPL compiler and the intermediate O-codes it generated: https://handwiki.org/wiki/O-code https://handwiki.org/wiki/O-code
- int_19h 4y agoIt should be noted though that bytecode from that era would often be represented as text rather than binary in storage. If I remember correctly, UCSD p-code was literally just numbers spelled out in text with spaces between them - something that could be conveniently read by just about any language and system around, usually via a primitive like Pascal's own Read function, or BASIC's INPUT. It makes it that much easier to move from platform to platform when there's no agreement on things that we take for granted these days, like number of bits in a byte etc. But that also makes it harder to recognize what you see when you're used to binary bytecode like JVM or CIL.
- pinewurst 4y agoThe original Smalltalk-80 VMs (Xerox and others) did not have JIT. Deutsch and Schiffman did the 1st JIT one (PS) that was the parent of the ParcPlace HPS VMs.
- johndoe0815 4y agoThe paper describing this first Smalltalk JIT is available at ACM (all ACM papers published before the end of 2000 are open access now): L Peter Deutsch and Allan M. Schiffman, Efficient Implementation of the Smalltalk-80 System, POPL '84: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages https://dl.acm.org/doi/10.1145/800017.800542 https://dl.acm.org/doi/10.1145/800017.800542
- jecel 4y agoI learned Smalltalk-80 from the blue book after getting the basic ideas from the August 1981 issue of Byte magazine. The book has four parts: 1) the basic ideas behind the language 2) a reference for all the classes 3) a detailed example in the form of a framework for event based simulation 4) a reference implementation of the virtual machine It was later released as the purple book without part 4 for people interested in learning Smalltalk-80 but not in implementing it. The link for the blue book is from Stéphane's collection which includes many other books, including ones that some people might find easier to learn from: http://stephane.ducasse.free.fr/FreeBooks.html http://stephane.ducasse.free.fr/FreeBooks.html