Capabilities as Enforced Modularity
Modularity is a vague apple pie term considered important or even vital for
good large software.
It is encouraged by these techniques:
- By slogan
-
There are useful slogans that lead programmers towards modularity.
Dividing large tasks into pieces leads to modularity stemming only from the
intelligence of the respective programmers.
- By Language Construct
-
Only the very early languages, Fortran and Basic, lacked support for modularity.
Scoping of varibles that has been with us ever since and provides a powerful
tool that pushes programs almost painlessly towards modularity in the small.
OO style languages take this a big step further.
- Capabilities
- push modularity yet a large step further and
at the same time use modularity in the support of security.
The same patterns that keep one module from intefering with the logic
of another are used to ensure that your data are safe from my program.
The idea of modularity is familiar to all good programmers.
When it is seen how to map these patterns onto problems of security,
programmers find that they already have a wealth of experience that
can be applied to these problems.