text: 
  
  Five Paradoxes of the Web  - dym
  http://abandontheweb.blogspot.com/2005/10/five-paradoxes-of-web.html
  
  ======
  RyanMcGreal
  _The client speaks one language (JavaScript), the server speaks another
  (usually not JavaScript). To cross the boundary between the client and the
  server, the code must be translated into a different language._
  
  What does that even mean? Javascript is a _programming language_ , not a data
  format. To communicate with the server, all the client-side Javascript needs
  to do is exchange information with the server in a data format (e.g. JSON,
  XML) that both the client and server can parse.
  
  I can't imagine any architecture that would not require devices to communicate
  with each other using a common data format.
  
  ~~~
  dym
  It means that as you move functionality (not data) between the server and the
  client, you need to rewrite your code. For example if you do input validation,
  you need to write the same code twice: once in {Java, Python, Ruby} or
  whatever the server side language is, and the second time in JavaScript so you
  can alert the user that the data in some fields doesn't pass the checks.
  
  This is not a problem if you are using GWT, or if you do serverside
  programming in JavaScript.
  
  ~~~
  RyanMcGreal
  Okay, that makes more sense - but this still isn't as big a problem as you
  suggest. There are already plenty of options to generate client-side
  javascript via the server-side web application framework.
  
  