Semantic diffusion


Martin Fowler wrote a nice blog post on semantic diffusion. It’s a term he coins for describing the effect that the meaning of new terms tends to diffuse as people start using it without paying too much attention to the original definitions. As examples he uses web 2.0 and agile, both of which have suffered from a lot of semantic diffusion due to the associated hype and buzz.

I’ve noticed the same with the the term “software architecture”. This term was first coined by Perry and Wolf in 1992. Soon after, people started using it. And of course every self respecting software firm suddenly had “software architecture”, even the ones that you might say were “architecturally challenged” in the sense that they had the equivalent of Stonehenge (piled together rocks) rather than, say, the Eiffel Tower. Also, by the late nineties, every software architecture conference/workshop/symposium, some person would come up to kick off a discussion on “hey what do we actually mean by software architecture”. This was fun the first dozen of times but I found that the discussion resets itself as soon as you leave the room. Nobody reads up and especially the older stuff gets ignored a lot. However, the trend is turning around. A lot of serious software architecture books, businesses and tools have emerged that allow us to separate the men from the boys when it comes to software architectures. The type of discussion as listed above still surfaces at basically any related conference but you can now end it quickly by pointing out a few good references and asking a few simple questions about practices,  tools, etc. This is how language works. Semantic diffusion is a crucial linguistic concept that causes languages to constantly evolve and change. New words and concepts are added on a continuous basis and old ones are re-purposed as well. Good words survive and have their definitions sharpened and eventually documented in dictionaries, encyclopedias, literature and other reference material. I sure hope this web X.0 ends soon. I’ve already seen people blogging about web 3.0. Essentially the semantic web people have already recognized that they are missing the boat for 2.0 and are now targeting 3.0 :-). Of course it’s just a matter of time before we start seeing web 4.0 being coined by which time the actual meaning of web 2.0 will have diffused to “so 2006”.