JavaScript was originally a client-side scripting language commonly used in web browsers. Initially it was used for simple tasks such as client-side form validation, but has in recent years been integral in the growing success of AJAX applications, ultimately resulting in the development of popular "thick client" applications such as Google Maps and Gmail, which involve enormous and complex bodies of logic that execute entirely on the client side.

Furthermore, in recent years people have been using JavaScript for server-side code as well (for example, see node.js).

Moving beyond JavaScript

  • CoffeeScript is an attempt to provide a concise, whitespace-sensitive language that compiles down to relatively readable JavaScript; it seeks to eliminate some tedious aspects of JS, as well as a common class of errors that tend to crop up, while borrowing some syntactic elements from Ruby, and features (eg. list comprehensions) from Python
  • Google’s Closure Compiler adds a layer of compile-time static type checking to JavaScript (via code comment annotations) and dead code removal

See also