Por que não existem outras linguagens de script do lado do cliente para sites? [fechadas]

35

Por que há apenas suporte para JavaScript e alguns VBScript em navegadores hoje? Eu sei que JavaScript é bom e tudo, mas não ter a opção de usar outra linguagem de programação ajuda a promover diferentes estilos de desenvolvimento?

    
por Eric Packwood 07.02.2011 / 03:09
fonte

10 respostas

33

Não há necessidade de adicionar suporte para vários idiomas, uma solução seria padronizar um bytecode genérico que poderia ser usado por implementadores de linguagem. 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 há muitos exemplos disso já.

    
por 07.02.2011 / 03:28
fonte
21

O JavaScript é o padrão de fato e tem sido desde 1996. Ser um padrão simplesmente porque não há concorrência não é exatamente justo, mas eu não ouvi muita reclamação sobre < em> por que não há outro idioma incluído.

A adição de outro idioma "padrão" promove todos os tipos de pequenos problemas divertidos.

  • Como eles trabalharão com outros idiomas?
  • O DOM será compartilhado?
  • Os scripts escritos em ambos ainda funcionam?
  • Portando bibliotecas para ambos
por 07.02.2011 / 03:15
fonte
21

Pense nas inconsistências entre os navegadores por seu suporte apenas ao javascript. Agora pense em como seria se houvesse mais idiomas.

    
por 07.02.2011 / 03:16
fonte
6

Os navegadores precisam ser padronizados, de modo que o que você desenvolve funciona em todos os lugares, em todos os navegadores.

Se você tem vários idiomas em andamento, é necessário garantir que todos eles funcionem de maneira muito semelhante. Se você é um desenvolvedor da Web e tem vários idiomas, o que pode ou não ser suportado em alguns locais, isso é uma dor de cabeça adicional.

Javascript é uma linguagem muito flexível, é imperativo, é funcional, pode ser OOP (depois de um protótipo) e é interpretado. Agora, com motores decentes, como no Chrome, é razoavelmente capaz de fazer algumas coisas boas. Idiomas extras apenas devolveriam as coisas aqui, olhe para o VBScript, o IE apenas, e então qualquer coisa que esteja escrita nele está ligada a um navegador e uma plataforma em particular, pesadelo.

    
por 07.02.2011 / 03:17
fonte
3

Em vez de criá-los em navegadores, os fornecedores gostam de criar plug-ins de navegador desajeitados - Java, Flash, Silverlight, etc. Isso garante a consistência entre plataformas.

    
por 07.02.2011 / 06:14
fonte
2

Uma das razões é que é praticamente impossível que diferentes fornecedores de navegadores cheguem a um acordo sobre uma implementação padrão de Javascript, e o JavaScript existe desde sempre, pelo menos do ponto de vista da linguagem web. Então, a maioria das pessoas pensa que conseguir uma outra linguagem do lado do cliente no ecossistema e fazer com que todos os fornecedores suportem é praticamente impossível e a maioria das pessoas que poderiam fazer isso já está envolvida em problemas de padronização de Javascript que eu acho que é muito melhor uso de seu tempo.

    
por 07.02.2011 / 07:09
fonte
2

Existem várias respostas aqui que afirmam que o suporte a vários idiomas tornaria muito odioso para os criadores de navegadores da web garantir que eles estejam em conformidade com todos os idiomas. Para mim isso parece incorreto.

Java, por exemplo, é um padrão extremamente bem definido. Essencialmente, 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ê poderia especificar que o código de script teria que ser entregue na forma de arquivos JAR compilados e assinados ou como código-fonte JavaScript. Se o navegador encontrar JavaScript, ele poderá executá-lo por meio de um intérprete dedicado (como acontece hoje) ou por meio do Rhino no topo da JVM. Se encontrar arquivos jar, ele cria um novo carregador de classes e uma caixa de proteção 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 que o navegador, com um único toque, suportasse as dezenas de idiomas executados na JVM.

Outras vantagens:

  1. A JVM se beneficiou de uma década de melhorias de desempenho. Agora é muito rápido, estável e maduro. Eu aposto que você verá uma grande melhoria de desempenho em relação ao javascript interpretado.
  2. À medida que os aplicativos do lado do cliente se tornam maiores e mais complexos, os benefícios de linguagens estruturadas e tipificadas, como Java e Scala, aumentam.
  3. Você teria acesso ao verdadeiro multiencadeamento e, por meio do Scala, uma biblioteca de coleções otimizada para computação de vários núcleos.
  4. Você pode usar qualquer uma das milhares de bibliotecas Java de código aberto no navegador.
  5. Por meio de bibliotecas como o openGL, o navegador pode fornecer acesso a recursos avançados de computação gráfica e de placa gráfica.
  6. Se você tivesse o Java em execução no lado do cliente e do servidor, poderia se beneficiar ainda mais das comunicações cliente-servidor via serialização de gráfico de objeto binário extremamente compactada = carregamento e execução de páginas da Web mais rápidas.
por 22.06.2011 / 00:16
fonte
1

Eu acredito que o JavaScript vai ganhar ainda mais espaço como a linguagem padrão para a web. Estamos vendo um aumento no JavaScript do lado do servidor. Aqui estão alguns exemplos de implementações desta poderosa linguagem no servidor:

  • SJS do Servidor Web POW - JavaScript do lado do servidor para o POW Web Server, que é executado como extensão do Firefox ou como um aplicativo XULRunner. O SJS desempenha um papel semelhante ao do PHP no Apache, pois ele pode se conectar a bancos de dados e gerar conteúdo do lado do cliente.

  • NodeJS - JavaScript do lado do servidor que usa um modelo baseado em eventos. Ele foi criado usando o Mecanismo JavaScript V8 do Google . O NodeJS é anunciado como uma ferramenta para construir programas de rede escaloná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 com runat="server" como JavaScript do lado do servidor. Aplicativos da Web inteiros podem ser escritos em JavaScript.

  • Rhino - JavaScript para Java - Mozilla criou esta implementação JavaScript do lado do servidor que roda em Java. É essencialmente um conceito similar ao Querces PHP para Java , Jython, JRuby e muitas outras abstrações de outras linguagens que executado na JVM. O Rhino é normalmente usado para incorporar JavaScript em Java para fornecer ferramentas de script aos usuários finais, mas também pode ser usado para mover o código do lado do cliente para o servidor sem ter que 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 é desenvolvido usando a implementação de JavaScript do lado do servidor EnvJs de um navegador.

  • EnvJs - Um navegador sem cabeçalho criado 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, sentimos que ela evoluirá.

Em resumo, parece uma contradição portar as outras linguagens para o navegador quando, em vez disso, podemos portar esta única linguagem de navegador para o servidor e preencher essa lacuna de uma maneira mais unificada.

    
por 07.02.2011 / 08:19
fonte
1

Existem vários exemplos de ferramentas que compilarão outras linguagens para javascript, incluindo Haskel, Lisp e Python (provavelmente outras). Então, se você quiser 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, pode fazer isso também.

    
por 10.02.2011 / 18:06
fonte
0

As pessoas têm trabalhado em torno da falta de variedade interna de duas maneiras: usando plugins como flash ou applets java, e construindo camadas que usam javascript como seu "código de máquina", como o jquery ou o kit de ferramentas do google web. Se houvesse um novo estilo de desenvolvimento popular o suficiente, as pessoas encontrariam uma maneira de obtê-lo.

Esteja ciente de que, se você fizer um tempo de execução de .net em javascript e se tornar popular, certos círculos irão amaldiçoar seu nome na Internet para sempre.

    
por 07.02.2011 / 06:12
fonte