Quem tem acompanhado as ferramentas de desenvolvimento de software durante a última década sabe que o termo “Java” se refere a um série de tecnologias. A linguagem padrão do Java é compilada em bytecodes que são executados na JVM. Essa é a razão de sua portabilidade. A linguagem e a JVM, no entanto, têm sido trilhado direções opostas. A linguagem tornou-se mais complexa, enquanto que a JVM se tornou uma das plataformas de execução mais rápida e eficiente disponível. Em muitos benchmarks, Java é igual ao desempenho do código binário gerado pelo linguagens compiladas como C e C + +. A crescente complexidade da linguagem e do notável desempenho, portabilidade e escalabilidade da JVM criaram uma abertura para uma nova geração de linguagens de programação. Veja este artigo do site JavaWord comentando sobre as top 5 linguagens que atualmente tem se destacado no uso do bytecode JVM. Veja um resumo rápido ai:
Groovy | JRuby | Scala | Fantom | Jython | |
---|---|---|---|---|---|
Style / typing | OO / Dynamic | OO / Dynamic | OO, Functional / Static | OO / Static | OO / Dynamic |
Modeled on | Java | Ruby | N/A | N/A | Python |
Execution | Compiled | Compiled, Interpreted | Compiled | Semicompiled | Compiled |
Platform(s) | JVM | JVM | JVM | JVM, .Net CLR | JVM |
Integration with Java | Excellent | Excellent | Excellent | Fair | Excellent |
Execution speed | Fair | Fair | Excellent | Very Good | Slow |
Tool support | Extensive | Fair | Extensive | Little | Little |
“Se, porém, andarmos na luz, como ele está na luz, mantemos comunhão uns com os outros, e o sangue de Jesus, seu Filho, nos purifica de todo pecado.” 1 João 1:7