- The noun/verb inversion in REST
- Temporal decoupling
- A “lets get real” approach to transactions
- Purpose-agnostic data representation
- An awareness that Object-oriented integration does not work in the large even though it works great in the small.
Read his post for links and more information.
I find the last point especially interesting. OO works well for developing many types of interactive applications, but maybe that’s just a fluke, and its principles are not applicable to the world at large. I’ve already mentioned that I find OO a poor fit for database-driven webapps, even though I consider myself primarily an OO developer. The real world doesn’t fit nicely into class hierarchies (yes, I know about aspect-oriented programming; in fact, I remember something similar for LISP called “facets” from late 1970’s or early 1980’s AI literature).