In class based languages, class names are usually nouns. The system described above invites the programmer to write many ideas as adjectives, or concerns; from these, classes are constructed, the names of which will often again be nouns.
The second step, composition, makes that we need a second mechanism next to scoping to determine which methods are exported by the class; in traditional class based languages these mechanisms can be one and the same, because there is a hierarchy among superclasses and subclasses.
I hope that writing concerns as ideas can contribute to untangling code conceptually, albeit at the price of more complex scoping mechanics. A good development environment should help the programmer cope with the latter in a way that it cannot do for the former.
Contents | Appendix A: Dynamic Features