Computational Power and Privilege
Language is everywhere; it is all around us, even now on this very web site. You can see it when you look at your phone or you turn on your PC. You are using it when you send emails, write blog posts or query a search engine.
People often use powerful languages to express themselves. By doing this, senders raise the computational complexity of communication and externalize the costs: Receivers must be capable of equivalent computation to understand messages.
Determining computational equivalence is not always possible and some designs force receivers to solve undecidable problems. When inventing the Web, Tim Berners-Lee was aware that using powerful languages inhibits data re-use.
If, for example, a web page with weather data has RDF describing that data, a user can retrieve it as a table, perhaps average it, plot it, deduce things from it in combination with other information. At the other end of the scale is the weather information portrayed by the cunning Java applet. While this might allow a very cool user interface, it cannot be analyzed at all.
The W3C TAG concluded one should
use the least powerful language suitable for expressing information, constraints or programs to facilitate message comprehension.
Lack of exposure to such problems may result in suspecting receivers of doing something wrong or declaring them to be outside the target audience. This implies the possibility of an 80/20 solution – which LANGSEC compares to claiming to have found a 80/20 solution for a perpetual motion machine.
Have you checked your computational privilege today?