Por que existe apenas suporte para JavaScript e alguns VBScript nos navegadores hoje? Eu sei que o JavaScript é bom e tudo, mas a opção de usar outra linguagem de programação não ajudaria a promover diferentes estilos de desenvolvimento?
web-development
javascript
browser
Eric Packwood
fonte
fonte
Respostas:
Não há necessidade de adicionar suporte para vários idiomas; uma solução seria padronizar em um bytecode genérico que possa ser usado por implementadores de idioma. Mas atualmente não há planos para isso (foi sugerido).
Os idiomas também podem ser implementados no Javascript. Javascript é bom o suficiente para permitir que outros idiomas sejam implementados em cima dele. E já existem muitos exemplos disso.
fonte
<script type="text/cpp" src="test.cpp"></script>
.O JavaScript é o padrão de fato e existe desde 1996. Ser um padrão simplesmente porque não há concorrência não é exatamente justo, mas não ouvi muitas reclamações sobre o motivo de não haver outro idioma incluído.
Adicionar outro idioma "padrão" promove todos os tipos de pequenos e divertidos problemas.
fonte
Pense nas inconsistências entre os navegadores apenas para o suporte a javascript. Agora pense em como seria se houvesse mais idiomas.
fonte
Os navegadores precisam ser padronizados, para que o que você desenvolva funcione em qualquer lugar, em todos os navegadores.
Se você tem vários idiomas, precisa garantir que todos eles tenham um desempenho muito semelhante. Se você é um desenvolvedor da Web e tem uma escolha de idiomas, que podem ou não ser suportados em alguns locais, isso é uma dor de cabeça adicional.
Javascript é uma linguagem muito flexível, é imperativa, é funcional, pode ser OOP (de certa forma com protótipos) e é interpretada. Agora, com mecanismos decentes, como no Chrome, é razoavelmente capaz de fazer algumas coisas boas. Idiomas extras apenas colocariam as coisas de volta aqui, olhem apenas o VBScript, IE e, portanto, tudo o que estiver escrito nele será vinculado a um navegador e plataforma específicos, o pesadelo.
fonte
Em vez de incorporá-los aos navegadores, os fornecedores gostam de criar plug-ins de navegador desajeitados - Java, Flash, Silverlight etc. Isso garante a consistência entre plataformas.
fonte
Uma das razões é que é praticamente impossível para diferentes fornecedores de navegadores concordarem com uma implementação Javascript padrão e o Javascript existe há muito tempo, pelo menos da perspectiva da linguagem da Web. Portanto, a maioria das pessoas pensa, com razão, que colocar outra linguagem do lado do cliente no ecossistema e obter todos os fornecedores para suportá-la é praticamente impossível, e a maioria das pessoas que poderiam fazer isso acontecer já está envolvida em problemas de padronização de Javascript, que eu acho muito melhor uso de seu tempo.
fonte
Existem várias respostas aqui que afirmam que o suporte a vários idiomas tornaria muito odioso para os construtores de navegadores da Web garantir que eles sejam compatíveis com todos os idiomas. Para mim, isso parece incorreto.
Java, por exemplo, é um padrão extremamente bem definido. Basicamente, tudo o que você precisa fazer é expor o DOM do navegador como uma API Java e executar a Java Virtual Machine (JVM) dentro do seu navegador da web. Você pode especificar que o código de script precise ser entregue na forma de arquivos JAR compilados e assinados ou como código-fonte JavaScript. Se o navegador encontrar JavaScript, ele poderá ser executado através de um intérprete dedicado (como acontece hoje) ou através do Rhino na parte superior da JVM. Se encontrar arquivos jar, ele cria um novo carregador de classes e sandbox de segurança, carrega o bytecode java na memória e o executa. Isso seria completamente compatível com as páginas da web existentes e permitiria ao navegador, com um único toque, suportar as dezenas de idiomas que são executados na JVM.
Outras vantagens:
fonte
Acredito que o JavaScript ganhará ainda mais terreno como linguagem padrão para a Web. Estamos vendo um aumento no JavaScript do servidor. Aqui estão alguns exemplos de implementações dessa linguagem poderosa no servidor:
SJS do servidor Web POW - JavaScript do servidor para o servidor Web POW, que é executado como uma extensão do Firefox ou como um aplicativo XULRunner. O SJS desempenha um papel semelhante ao do PHP no Apache, pois pode se conectar aos bancos de dados e gerar conteúdo do lado do cliente.
NodeJS - JavaScript do lado do servidor que usa um modelo baseado em evento. Ele é construído usando o V8 JavaScript Engine do Google . O NodeJS é anunciado como uma ferramenta para criar programas de rede escaláveis. Um servidor da Web "Hello World" pode ser escrito em apenas 6 linhas curtas!
Jaxer - Um servidor JavaScript que interpreta todos os blocos de script
runat="server"
como JavaScript do lado do servidor. Aplicativos da Web inteiros podem ser escritos em JavaScript.Rhino - JavaScript para Java - A Mozilla criou esta implementação JavaScript do lado do servidor que é executada em Java. É essencialmente um conceito semelhante ao Querces PHP para Java , Jython, JRuby e muitas outras abstrações de outras linguagens executadas na JVM. O Rhino é normalmente usado para incorporar JavaScript no Java para fornecer ferramentas de script aos usuários finais, mas também pode ser usado para mover o código do cliente para o servidor sem precisar reescrever a lógica de negócios em outro idioma!
JQuery Claypool - estrutura JavaScript do lado do servidor usando o poder do JQuery no servidor. Muito legal! Ele foi desenvolvido usando a implementação JavaScript do servidor EnvJs de um navegador.
EnvJs - Um navegador sem cabeça, construído sobre o Rhino.
O que muitas dessas implementações e estruturas demonstram é que o JavaScript está se tornando uma força tão poderosa no desenvolvimento da Web que os líderes da comunidade já começaram a mover o JavaScript para o servidor. O JavaScript é uma linguagem de programação funcional extremamente poderosa e, com o passar do tempo, sinto que vamos vê-lo evoluir.
Em resumo, parece uma contradição portar os outros idiomas para o navegador. Em vez disso, podemos portar esse único idioma do navegador para o servidor e preencher essa lacuna de uma maneira mais unificada.
fonte
Existem vários exemplos de ferramentas que compilarão outras linguagens para javascript, incluindo Haskel, Lisp e Python (provavelmente outras). Portanto, se você deseja trabalhar em um desses idiomas, pode fazê-lo.
E acho que um dos meus professores da universidade escreveu uma implementação de esquema em Javascript. Então, se você gosta de esquema, também pode fazer isso.
fonte
As pessoas resolveram a falta de variedade embutida de duas maneiras: usando plug-ins como applets flash ou java e criando camadas que usam o javascript como seu "código de máquina", como o jquery ou o Google Web Toolkit. Se houvesse um novo estilo de desenvolvimento bastante popular, as pessoas encontrariam uma maneira de incorporá-lo.
Esteja ciente de que, se você criar um tempo de execução .net em javascript, e ele se tornar popular, certos círculos amaldiçoarão seu nome na Internet para sempre.
fonte