
Foreword
News flash: the web is kind of a Big Deal.
It is difficult to consider its full impact on technology, society, commerce, education, governance, and entertainment without resorting to grand language that has been stated many times before. It is a Big Deal and we will never be the same because of it.
But, here’s the thing. If we sat down and tried to rebuild the web today, knowing what we know from 20 years of experience with it, we would probably fail. The problem is that as software developers, we generally think in terms of software constructs: objects, services, methods, etc. While useful from a solution space perspective, they can induce coupling and coupling does not scale.
The web works because in its design, Sir Tim Berners-Lee and his cohorts embraced the notion of change. The thing we forget is that they were not trying to build the web that we know; they were trying to build a system that worked for a dynamic organization such as CERN. Logically named resources could be requested and manipulated with no regard to how back-end systems worked. New shapes of information could be negotiated over time without disrupting deployed systems. Clients and servers could evolve independently.