Rodrigo Kumpera Weblog

Meus achados sobre tecnologia

Versão preliminar do JavaScript 2 lançada

June 14th, 2007 · 2 Comments

Foi lançada a alguns dias uma versão preliminar da implementação de referencia do ecmascript edição 4, também conhecido por JavaScript 2. As novidades são muitas que é difícil qualificar como uma atualização tecnologia, mas se trata sim de uma nova linguagem. Dentre as grandes mudanças estão classes, tipagem estática opcional, suporte claro a meta-programação e, finalmente, namespaces e controle de visibilidade.

Para quem conhece bem Javascript sabe que é a única linguagem baseada em protótipos com uso em larga escala, a única outra que vale a pena comentar é Self, que criou o conceito e foi o motor por traz de boa parte da inovação tecnologia na construção de máquinas virtuais nos anos 90. As mudanças propostas são em boa parte bem vindas, mas algumas acredito que desvirtuem a origem e graça da linguagem original, outras, ainda em estágio de proposta como type parameters, podem acabar gerando uma linguagem abarrotada de recursos e muito difícil de dominar – síndrome do C++ alguém?

Sou meio descrente se essa nova linguagem vai realmente vingar, independente do suporte dos navegadores, dado que a grande maioria das pessoas que programam javascript não possuem o background necessário para utilizar uma linguagem complexa como estão propondo. Tipagem estática opcional, modo estrito, visibilidade que depende do mono de operação são, entre outras coisas, aquilo que pode acabar criando bibliotecas de javascript que não poderão ser integradas pois usam dialetos muito distintos do Javascript 2.

Outro ponto que merece atenção é o fato da implementação de referencia ser escrita em Standard ML, uma linguagem funcional bem legal de se estudar. Vale a pena conferir os fontes, nem que seja para notar uma das principais propriedades do SML, que é de ser muito facil de ler e compreender, mesmo para quem nunca viu antes.

JavaScript2 poderá ser uma ótima linguagem, com real utilidade em campos muito além dos navegadores, em lugares como Silverlight, JEE e CLR. Agora é aguardar e ver quanto a comunidade abraçará a novidade. Enquanto isso não deixem de conferir.

Tags: Programming

2 responses so far ↓

  • 1 Thiago Silva // Jun 14, 2007 at 4:58 pm

    Eu também lamento muito que estão acrescentando certos recursos a nível de linguagem.

    Disse bem ao comparar com C++, mas o ponto positivo é que, (de certa forma) como C++, js permite que programadores escrevam código com aquilo que já sabem, sem impor construções ou recursos goela abaixo. Isso permitiu, por exemplo, que muitos criassem código sem conhecer bem a linguagem (first class functions, prototype, etc). Acho que isso continuará válido no futuro.

    Quanto a compatibilidade entre “dialetos”, não estou certo de como isso ocorreria.

    Já em seu uso fora dos navegadores, parte da pressão sobre o novo spec são exatamente estes cenários, imagino eu. O próprio Tamarin deu um passo perigoso, a meu ver, ao correr à frente do spec e implementar propostas no ActionScript, sem esperar pela versão definitiva. Acho que esta VM está sendo utilizada em diversos produtos da adobe atualmente (além, é claro, do Flash).

  • 2 Kevin Henrique // Nov 23, 2007 at 2:04 am

    Cara, você não trabalha? Só fica escrevendo bobagens o dia inteiro rapaz?
    Vai carpir um pouco, ver como a vida é realmente seu monte de estrume..

Leave a Comment