The object-capability model was first proposed by Jack Dennis and Earl C. Van Horn in the 1966 paper.
Programming Semantics for Multiprogrammed Computations
The semantics are defined for a number of meta-instructions which perform operations essential to the writing of programs in multiprogrammed computer systems. These meta-instructions relate to parallel processing, protection of separate computations, program debugging, and the sharing among users of memory segments and other computing objects, the names of which are hierarchically structured. The language sophistication contemplated is midway between an assembly language and an advanced algebraic language.
What Are Capabilities?
The capability paradigm is about access control. When a system, such as an OS or a website, is presented with a request for a service it provides, it needs to decide if it should actually do what the requestor is asking for. The way it decides is what we’re talking about when we talk about access control. If you’re like most people, the first thing you’re likely to think of is to ask the requestor “who are you?” The fundamental insight of the capabilities paradigm is to recognize that this question is the first step on the road to perdition. That’s highly counterintuitive to most people, hence the related controversy.
- wikipedia- Object-capability model
- Awesome Object Capabilities and Capability-based Security
- Linked Data Capabilities
- Cosmos Object-Capability Model
- Ethereum Object Capabilities
- Security in Scala: Using Object Capabilities
- DIDAuth + Obj. Cap.
- History of Object Capabilities
https://www.infoq.com/interviews/johnson-armstrong-oop/ - anaphor
Then, my thesis supervisor said “But you’re wrong, Erlang is extremely object oriented”. He said object oriented languages aren’t object oriented. I might think, though I’m not quite sure if I believe this or not, but Erlang might be the only object oriented language because the 3 tenets of object oriented programming are that it’s based on message passing, that you have isolation between objects and have polymorphism.
Social ShareTwitter Facebook LinkedIn Reddit