Todos teremos que comer torta humilde quando percebermos que o JS está sendo usado para escrever:
... porque é melhor.
Sério, por favor ... me ouça. Não atire no mensageiro.
Pergunte à Microsoft por que eles estão criando o Windows 8 com JS como cidadão de primeira classe. Ou o novo sistema operacional móvel da Mozilla, ou Rivertrail, PhoneGap, ExtJS ou WebGL da IBM.
Alguma dessas empresas ou projetos teria sucesso se os especialistas não encontrassem algo melhor na implementação?
A resposta é ... Eles fizeram. Nós fizemos. Portanto, o tema aqui deve ser claro: existe um caminho melhor.
Mas, melhor é subjetivo: portanto, precisamos fazer uma pesquisa detalhada e comparar. O que é melhor?
Começou com o AJAX ... e não parou.
E / S sem bloqueio. Este é realmente um grande negócio e vale a pena conhecer. Em JS, este é o padrão de retorno de chamada. Acontece que o uso de retornos de chamada pode ativar um servidor sem bloqueio: Node.js ~ cerca de 8 linhas de código. setTimeout () é um retorno de chamada. Processamento assíncrono de thread único.
Flexibilidade. O que? -Java e C têm classes e interface, mas são chamados de orientação a objetos. JavaScript possui apenas objetos. Mas é chamado ... outra coisa.
Ter apenas objetos é uma boa opção para flexibilidade, porque membros e métodos são totalmente dinâmicos no tempo de execução. A herança prototípica não é assustadora. Alguns especialistas a descrevem como um pacote de objetos. -JS é amigável em erros. -Code pode se misturar para resultar em componentes compostos, sem muito esforço ou conhecimento de ... 'interfaces', 'abstração', 'herança', 'encapsulamento', 'polimorfismo'. Coisas boas, mas como a Nike, em JS; você apenas faz.
Tradução de dados. Com o JSON, os objetos podem ser transferidos de frente para trás e de trás para frente. Nenhuma conversão de dados XML. JSON é claramente simples.
Baixa curva de aprendizado. É possível recortar e colar código extremamente complexo e depois depurá-lo. Eu ouço um colega ... 'noobs'. Mas não é apenas para noobs.
- Acontece que esse é um recurso muito bom para a prototipagem rápida. E sites estão surgindo por todo o lado, alavancando essa coisa de design no navegador e mais amplamente; prototipagem em tempo de execução. Checkout JSFiddle e CodePen, também MicroJS. GitHub.
Like Transformers, with JS, there is more than meets the eye.
It is a big deal.
UPDATE: uma vez que esta postagem, o JavaScript agora é usado extensivamente por outros idiomas.
In Java - check out Nashorn.
In C++ - check out Emscripten, or ASM.
And there are many more.
The big surprise since the original writing of this answer was JS cross-compilation.
It turns out that many languages can be compiled to JS.
And the community is encouraging that... CoffeeScript, Dart, etc.
This is not my specific area of expertise, but it is going on in big ways.
Simply put, we just don't know how the dynamism of JS is going to hash out yet.