Porém, muitos ainda dizem que estas funcionalidades chegaram um pouco atrasadas na linguagem, e durante este tempo que ainda não tinhamos a programação funcional presente no Java, foram surgindo outras linguagens sobre a JVM que visavam trazer novos paradigmas para os programadores.
Como estamos acompanhando, o Javascript tem tomado cada vez mais conta dos projetos de desenvolvimento mudo afora, principalmente agora ele roda firme e forte no lado do servidor, através de diversos projetos diferentes, sendo a referência maior o Node.js, com isto, novamente o Javascript ganhou o foco, principalmente após a criação da instrução invokedynamic, que permitiu a criação e invocação de métodos durante a execução do programa.
Assim, a comunidade iniciou um novo projeto, o Nashorn, que permite executar Javascript na JVM, dentro de outros programas em Java e também executar Java dentro de Javascript. Pode parecer loucura, mas é muito simples iniciar o desenvolvimento, como vemos abaixo.
A primeira coisa que notamos, é que além de rodar scripts, foi criado um interpretador interativo, onde você digita os comandos e recebe o resultado na hora, similar aos já existentes em Python e Ruby. Para acessa-lo basta digitar o comando jrunscript:
Note que alguns comandos já executam normalmente, como o print, criação de variáveis e também operações aritméticas. Porém, não temos apenas o interpretador interativo, podemos executar diretamente scripts, bastando colocar no prompt jrunscript seuarquivo.js, vejamos um exemplo:
Este script simples apenas imprime alguns números na tela, porém já podemos ver como diversos elementos do Javascript atuam em execução, sendo a saída:
Mas não se limita apenas a operadores básicos da linguagem, como o script roda sobre a máquina virtual Java, ou seja, ele é convertido em bytecodes, também podemos invocar bytecodes já existentes, ou seja, invocar classes presentes na linguagem Java, como este exemplo que invoca a classe FileReader e Scanner, lendo e exibindo as linhas de um arquivo:
Perceba como escrevemos muito pouco código para realizar tarefas interessantes, tudo isso através de uma linguagem familiar e simples, porém com muitos recursos em sua sintaxe.
Nenhum comentário:
Postar um comentário