4 ms·
The original Doom was developed on NeXT, so a lot of the tooling (like DoomEd) was written in ObjC. If I recall correctly they abused this whole thing by making
by pdpi 4y ago
The original Doom was developed on NeXT, so a lot of the tooling (like DoomEd) was written in ObjC. If I recall correctly they abused this whole thing by making proxy objects that would happily call methods across the network, so they had level cooperative editing back in the early 90s (minus all the concurrent edit stuff we take for granted today, of course).
- arcticbull 4y agoCheck out NSProxy :) - fun fact it's the only* other root class in Foundation, a peer of NSObject - and NSDistantObject. Part of the super-deprecated Distributed Objects precursor to XPC. [1] [1] https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/DistrObjects/DistrObjects.html https://developer.apple.com/library/archive/documentation/Co...
- steve1977 4y agoThere was even PDO and a bridge to MS OLE https://en.wikipedia.org/wiki/Portable_Distributed_Objects https://en.wikipedia.org/wiki/Portable_Distributed_Objects Loong long ago…
- pdpi 4y agoI was trying to google for some sort of reference to what I meant, but couldn't find one (found this thread instead...) but NSProxy seems to have been around long enough that it might well be the core of the implementation for what I was talking about.
- retrocryptid 4y agoThank you for not mentioning CORBA.
- retrocryptid 4y agoYes and no. Concurrency was still a problem that got short shrift. But the "overload doesNotUnderstand:, serialize the message and dispatch it over the network" was a fun way to do rpc-ishness in Smalltalk and ObjC before people got hung up on writing IDLs. (Looking at you, CORBA) I'm reminded of Larry Wall's quote: "languages differ not in what they make possible, but in what they make easy." Smalltalk and ObjC made proxy objects easy.