Why is JavaScript not used for classical application development (compiled software)?
- by Jose Faeti
During my years of web development with JavaScript, I come to the conclusion that it's an incredible powerful language, and you can do amazing things with it.
It offers a rich set of features, like:
  Dynamic typing
  First-class functions
  Nested functions
  Closures
  Functions as methods
  Functions as Object constructors
  Prototype-based
  Objects-based (almost everything is an object)
  Regex
  Array and Object literals
It seems to me that almost everything can be achieved with this kind of language, you can also emulate OO programming, since it provides great freedom and many different coding styles.
With more software-oriented custom functionalities (I/O, FileSystem, Input devices, etc.) I think it will be great to develop applications with.
Though, as far as I know, it's only used in web development or in existing softwares as a scripting language only.
Only recently, maybe thanks to the V8 Engine, it's been used more for other kind of tasks (see node.js for example).
Why until now it's only be relegated only to web development? What is keeping it away from software development?