Serei brutalmente honesto: eu odeio escrever código do lado do cliente em JavaScript. Eu não sou fã dessa linguagem, para dizer o mínimo.
Parece bobagem para mim que os navegadores suportem uma linguagem de programação , em vez de uma máquina virtual intermediária (como CIL ou JVM). O último permitiria que os programadores escrevessem em um idioma de sua escolha (até certo ponto), em vez de em um idioma predefinido fixo. Esse idioma pode evoluir mais rapidamente, porque apenas alterações no CIL / JVM / o que exigiria a atualização de todos os principais navegadores. Recursos de idioma podem ser adicionados sem afetar a experiência antiga do navegador.
As enormes economias de esforço que os idiomas intermediários geram são bem conhecidas . Existem iniciativas por aí para promover o "script" do navegador em algo que não seja o JavaScript, e especialmente em uma máquina virtual já projetada, desenvolvida e otimizada? Eles têm algum impulso?
fonte
Respostas:
Para responder sua pergunta, sim, estão sendo feitos esforços para descontinuar o Javascript em favor de uma linguagem mais coesa para scripts da Web. O Google tem colocado muita força por trás da linguagem Dart . O Dart possui sua própria VM, que já está incorporada ao Chrome, mas não tenho certeza se os outros navegadores já o adotaram. Há também uma linguagem bastante promissora chamada CoffeeScript .
Há também um projeto muito ambicioso chamado HaXe, que visa unificar toda uma série de plataformas de desenvolvimento com um único idioma.
Acredite, você não está sozinho em não gostar do Javascript, mas receio que isso não aconteça tão cedo - na verdade, parece estar ganhando muito impulso com os aplicativos HTML5 / JS do Windows 8, etc., mas alternativas como as que eu mencionado estão começando a surgir :)
fonte
onSomething
manipulador de eventos - analisar e interpretar 10 a 20 caracteres de uma linguagem de script simples é muito mais eficiente.O próprio Javascript pode ser visto como uma linguagem intermediária, definindo uma máquina virtual na qual outras linguagens podem ser compiladas. Em projetos como o GWT, essa noção já está decolando. Pode não ser o que você projetaria do zero, mas já está se tornando uma realidade que você pode compilar "seu idioma favorito" em Javascript.
fonte
Essencialmente, não. Você está praticamente preso ao Javascript.
Dito isto, houve esforços no passado para incorporar outros idiomas (applets java, vbscript etc.). Cada um deles nunca ganhou a força que o javascript possui porque o javascript está integrado .
A única maneira de criar o que você está se referindo seria criar uma linguagem de script executada em uma máquina virtual, compilada no lado do cliente e depois executada. Então, cada navegador teria que implementar a máquina virtual em sua própria base de código, para que todo o código fosse executado em todos os navegadores. Então você precisa ter algum tipo de padrão para que todos os navegadores executem os comandos da mesma maneira. Obviamente, como os navegadores são criados de forma independente, provavelmente haveria peculiaridades que os desenvolvedores teriam que ter em mente.
Mas agora acabamos de descrever o Javascript.
Então, no final, suas escolhas são:
Basicamente, se você deseja uma linguagem integrada, está preso ao Javascript.
fonte
Na verdade, você não está odiando o javascript, conforme descrito nos padrões da Ecma, mas está odiando a péssima implementação em vários navegadores , com suas peculiaridades, bugs e wtfs. Javascript do lado do servidor é bastante agradável, na verdade. Além disso, o modelo DOM é a causa de 80% da dor do javascript do lado do cliente.
Se você ainda deseja usar outro idioma, pode usar GWT , que basicamente permite escrever Java e compilá-lo em javascript (feio), ou CoffeeScript , que é um açúcar sintático sobre JS, que é compilado em JS.
fonte
{
de um objeto em linhas diferentes. Que "estrutura de funcionalidade moderna" você acha que está faltando?Esta pergunta aparece de tempos em tempos.
Por que não temos outros idiomas em tags de script em vez de apenas Javascript
No dia em que o IE introduziu o VB como uma alternativa ao Javascript. Eu acho que você já pode ver como isso levaria a padrões infernais se pegasse ...
Então, por que não uma linguagem intermediária padrão comum então?
Existe um podcast antigo de Brendan Eich explicando por que ele não vê uma linguagem de bytecode intermediária em um futuro próximo:
http://www.aminutewithbrendan.com/pages/20101122
http://news.ycombinator.com/item?id=1893686
O problema básico é que, enquanto a linguagem intermediária (como CIL e os bytecodes da JVM) tenta ser genérica, na maioria das vezes eles se revelam com um nível muito baixo e muito vinculados às linguagens originais de alto nível que foram compiladas para eles. Por exemplo, você não pode realmente implementar funções recursivas de cauda na JVM - que outros recursos de idioma ou opções de implementação não conseguiremos implementar se associarmos a uma abstração de código de byte de baixo nível cedo demais?
Enquanto isso, o Javascript é uma linguagem flexível de alto nível, com semântica estabelecida e várias implementações diferentes, eficientes. O que poderemos ver no futuro é o próprio Javascript como uma linguagem intermediária - infelizmente isso é um tanto imaturo e poucas linguagens compilam no JS a partir de hoje.
fonte
Sim. Você já pode compilar Dart, Coffeescript e Java para Javascript. Você tem o Emscripten, que é um back-end do compilador para o LLVM para gerar bytecode Javascript (e o LLVM lida com várias linguagens, acredito).
Mas, além de compilar para JS, não em um curto espaço de tempo. O IE6 tem 10 anos e ainda está chutando. Espero que os navegadores atuais (que não oferecem suporte a outros idiomas) não sobrevivam por muito tempo, mas permanecerão por alguns anos, provocando o ciclo de "mordida de cauda" de "ainda precisamos dar suporte a navegadores compatíveis apenas com Javascript, portanto, precisamos usar o Javascript ", de uma maneira muito mais difícil do que dizer CSS3 - seu site pode funcionar sem CSS3, mas tente fazê-lo sem scripts do lado do cliente.
fonte
Você pode apenas estar com sorte. Este é o parágrafo de abertura de uma submissão no fórum webkit-dev:
Você pode ver o restante da mensagem aqui .
fonte
O JavaScript é a alma dos navegadores, é por isso que a maioria das novas tentativas está gerando JavaScript (o CoffeeScript é um exemplo claro).
No GWT, você codifica sua lógica do lado do cliente na linguagem de programação Java e o kit de ferramentas gera JavaScript.
ClojureScript é um projeto interessante se você estiver na codificação Lisp.
Portanto, parece que não importa o que, o JavaScript está aqui para ficar. (COBOL da web, talvez?).
fonte
Já existem vários compiladores direcionados ao javascript, e você pode escolher qualquer idioma que seja compilado para javascript.
Seu link que discute o valor das linguagens intermediárias as discute no contexto da implementação de um conjunto de compiladores, não no fornecimento de código que será enviado por uma rede e executado em uma máquina cliente. O Javascript pode não ser o melhor formato para isso, mas, seja o que for, não será muito parecido com CIL ou bytecodes java.
Se você odeia javascript, sugiro que você mude para o espaço Embedded, Scientific ou de desenvolvimento de jogos, onde C, Fortran e C ++ dominam. Os aplicativos de linha de negócios estão mudando muito para a Web, e isso significa mais Javascript, não menos.
fonte