Earlier quoted context omitted.
And for another beautiful convergence: nowadays most software development is done in languages that naturally express capability patterns, namely memory-safe languages. That is, if you have a reference to an object or value, you have the authority to invoke any of the methods on that object or call any functions that accept such a value. So object references are capabilities. Most such languages only go too far by al…
> To make a memory safe language capability secure, you simply remove all sources of ambient authority. Isn't this more or less what Sun tried to do with Java applets, which in practice turned out not to be so simple while providing a rich API?
http://www4.cs.fau.de/Projects/JX/
Note: JX takes a different route but shows POLA can be done simply and performant.