Capabilities are a way of organizing software on a computer to minimize the amount of that software that must work right in order for some particular critical application to work right. You may have several critical applications and they largely rely on the same small reliance set. Today’s computers need gigabytes of software serving local needs and these remains in available in cap systems.

Most of the new patterns are found in recent computer languages where they are well regarded and are familiar to many. The patterns deliver the same benefits in languages that capability platforms deliver for the entire machine. When those patterns are found at the platform level they seem alien to most programmers who expect something like Unix at the bottom.

The Patterns