5 ms·
Symbolics was a tagged arch, not OO. Ditto Burroughs. They were not OO. Dunno about dorado.
by zasdffaa 4y ago
Symbolics was a tagged arch, not OO. Ditto Burroughs. They were not OO. Dunno about dorado.
- kragen 4y agoThe Symbolics 3600, the B5000, and the Smalltalk microcode for the Dorado all had generic operation dispatching in hardware, though they varied in how flexible it was. The iAPX432 and the Rational R1000, as far as I can tell, didn't. Generic late-bound operation dispatching is the essential core of OO. For many years AMD64 CPUs have had hardware acceleration for this sort of thing in the form of a "branch target buffer", so in this very important sense they're more OO than the iAPX432, though they don't have the hardware bounds-checking and dynamic type checking that all of the other architectures we're discussing did. Of these, only the Smalltalk microcode for the Dorado came close to the level of hardware support for OO that something like SiliconSqueak has. You're just repeating buzzwords rather than taking the time to understand what they refer to.
- djmips 4y agoStarting a sentence with `You` is a signal to revaluate that sentence. It comes across as rude.
- kragen 4y agoHow would you suggest rephrasing a complete, sweeping dismissal of someone's comments, on the basis that they evidently have no relevant knowledge, so that it doesn't come across as rude?
- zasdffaa 4y agoI screwed up and I must apologise. I took a bad situation and made it worse. I have reasons but it shouldn't have happened. I am not happy that I clearly and unnecessarily annoyed you, and would prefer that we put out this fire and move on with a better mood for both of us, and hopefully I can do better next time. Again, I am genuinely sorry.
- zasdffaa 4y ago> The Symbolics 3600, the B5000, and the Smalltalk microcode for the Dorado all had generic operation dispatching in hardware Regarding the symbolics, that seems highly unlikely as lisp is not an object oriented language unless the MOP is draped over it (which is multi-dispatch IIRC and that's not going into hardware). Please provide some links to show I'm wrong. > The iAPX432 and the Rational R1000, as far as I can tell, didn't. "9.4.2 Procedure Call and Context Objects To transfer control to a procedure, a program executes a CALL instruction, causing the procedure to be invoked. On exe- cution of a CALL instruction, the hardware constructs a new context object. The context object is the procedure invocation record and defines the dynamic addressing environment in which the procedure executes. All addressing of objects and scalars occurs through the context object, and the context is the root of all objects reachable by the procedure." from https://homes.cs.washington.edu/~levy/capabook/Chapter9.pdf https://homes.cs.washington.edu/~levy/capabook/Chapter9.pdf regarding the Intel iAPX 432 Note: dynamic addressing environment. Repeat: 'dynamic' > Branch target buffer Oh give me a break, this is just branch prediction and a little caching, it's nothing to do with OO/dispatch because there is no generic dispatch involved. It's just an optimisation for normal dispatch, nothing else. If you don't understand what a branch predictor actually does... ech > Dorado I'm not familiar with Dorado, can you provide a link showing this and preferably a bit more information as well actually stating this clearly. > You're just repeating buzzwords rather than taking the time to understand what they refer to. I do get tired of HN, I come to learn, I get dragged down by clammy seaweed posts like this, just claims, no concrete anything ("as far as I can tell"), from people who know even less than me ("Generic late-bound operation dispatching .... For many years AMD64 CPUs have had hardware acceleration for this sort of thing in the form of a 'branch target buffer' OMG just stop talking). Don't lecture me until you can deliver the goods, then and only then, lecture away because then I'll be listening.
- _19qg 4y ago> Regarding the symbolics, that seems highly unlikely as lisp is not an object oriented language The Symbolics Genera operating system is largely written in object-oriented style using the Flavors OO-extension. Since the early machines had a micro-programmable CPU, there were with new operating system releases also new CPU extensions to support new Lisp, OOP or logic language (Prolog) features. Beyond that: Lisp originally used 'generic operations' in a non-OO sense. For example the + operation works for all the kinds of numbers (integer + integer, float + float, integer + float, integer + complex, ... and so on). The CPU determines at runtime which operation runs. Thus there is only one generic ADD instruction and not per-type instructions.