Linguagens de programação JVM – o guia do especialista para criar software para a Java Virtual Machine

Divulgação: Seu suporte ajuda a manter o site funcionando! Ganhamos uma taxa de indicação por alguns dos serviços que recomendamos nesta página.


A lista de idiomas da JVM nesta página inclui as principais linguagens de programação usadas para criar software para a Java Virtual Machine (JVM). Originalmente, a JVM foi criada para suportar apenas a linguagem Java. No entanto, à medida que ganhou popularidade, mais idiomas foram adicionados ou adaptados para rodar na plataforma.

Idiomas da JVM

As seguintes linguagens de programação da JVM foram escritas especificamente para serem executadas na Java Virtual Machine. Muitas delas são implementações de linguagens existentes, como Python ou PHP, ajustadas para trabalhar com a JVM, como Jython (implementação em Python) e Quercus (implementação em PHP).

Na parte inferior do artigo, também listamos vários conversores Java que podem pegar código de uma linguagem como C ou Python e (ostensivamente) convertê-lo em código Java. Embora esses conversores recebam críticas mistas dos usuários, eles ainda valem uma olhada.

Mais popular

Vamos começar com as linguagens de programação mais populares da JVM. Esses são Java (é claro), Groovy, Clojure (um dialeto do Functional Lisp), Scala, JRuby, Kotlin, Xtend, Ceilão, Fantom e Jython. Alguns dos idiomas foram desenvolvidos expressamente para a JVM.

Clojure

Clojure é possivelmente o favorito da multidão de todas as linguagens de programação para a JVM. Um dialeto Functional Lisp, sua imutabilidade e simplicidade fazem dele uma escolha popular entre os desenvolvedores. Trabalhando contra isso, existem mensagens de erro confusas, tipo dinâmico e sintaxe radicalmente diferente..

Scala

Scala é uma linguagem de programação JVM de tipo estatístico que pode usar bibliotecas Java. Ele usa valores imutáveis ​​e suporta paradigmas imperativos e funcionais, permitindo aos usuários a liberdade de escolha. No entanto, sua gramática complexa e sistema robusto podem intimidar alguns iniciantes.

Kotlin

Kotlin é uma linguagem de codificação estaticamente tipificada para a Java Virtual Machine. Projetado para resolver a maioria dos problemas do Java, com um sistema de tipos projetado para eliminar referências nulas do nosso código. Por ser executada na JVM, essa linguagem de programação é totalmente interoperável com Java. Como o Scala, ele pode usar bibliotecas e estruturas Java existentes.

Ceilão

Ceilão é uma linguagem de programação orientada a objeto e de tipo estatístico para a JVM. Criado pela Red Hat, ele possui um sistema de tipos mais poderoso que o Java, mas vem com uma sintaxe familiar. Apesar de sua robusta lista de recursos, sua pequena participação no mercado significa um número relativamente pequeno de bibliotecas úteis.

Java

Java é, obviamente, a linguagem de programação JVM original. Ele obtém boa parte de sua sintaxe de C ++ e C, mas é mais simples de usar e usa programação orientada a objetos. Seus padrões consistentes e semelhanças em todo o setor fazem dele uma escolha sólida para a JVM. No entanto, alguns usuários reclamam que é muito detalhado e tem vários recursos confusos.

Groovy

O Apache Groovy é uma linguagem de programação popular para a JVM com um ecossistema grande e desenvolvido. A existência de várias bibliotecas e estruturas (principalmente a estrutura Grails) a torna uma opção versátil para desenvolvedores. Groovy é uma linguagem de script dinâmica e orientada a objetos.

Xtend

O Xtend oferece interoperabilidade estreita com Java e ferramentas avançadas. Essa linguagem de programação JVM de tipo estatístico é compilada no código Java em vez do bytecode. Isso é muito útil para iniciantes e depuração. Alguns desenvolvedores reclamam de problemas lentos de compilação com classes grandes.

Fantom

Essa linguagem de programação orientada a objetos para a JVM difere de outras de seu tipo, ignorando o suporte de genéricos definidos pelo usuário. No entanto, inclui três classes internas que podem ser parametrizadas. A idéia era permitir que os programadores usassem genéricos, mantendo o sistema geral de tipos simples.

Implementações de outros idiomas

As linguagens de programação da JVM abaixo são todas implementações de outras linguagens populares, como Lisp, Ruby, Python e PHP.

Implementações Lisp

Existem várias implementações do Lisp como linguagens de programação da JVM. Eles são: Armado Bear Common Lisp, CL para Java, Scheme e Clojure, (que mencionamos acima).

Esquema

O esquema é um dos dois principais dialetos do Lisp. É uma linguagem de programação funcional com design minimalista e poderosas ferramentas de extensão de linguagem. Embora não funcione diretamente com a JVM, várias implementações funcionam. Esses incluem:

  • BiglooJVM . Este compilador Scheme fornece bytecode para a Java Virtual Machine diretamente da linguagem de programação Scheme.

  • Kawa . Esta é uma extensão da linguagem Scheme que funciona com a Java Virtual Machine.

  • JScheme é uma implementação do Scheme que faz interface com Java.

Lisp comum do urso armado

Essa linguagem de programação de implementação Common Lisp para a JVM possui um intérprete e um compilador, comumente chamado ABCL.

CLforJava

CLforJava é uma implementação Common Lisp que é executada na JVM e tenta dar acesso a qualquer Biblioteca Java sem a necessidade de uma Interface de Função Estrangeira. Parece ter sido descontinuado nos últimos anos.

Clojure

Mencionamos o Clojure acima na seção “mais popular”, pois é uma das implementações mais conhecidas do Lisp para a JVM.

Arden2ByteCode

Desenvolvido em 2010, o Arden2ByteCode é um compilador de código aberto criado para a Arden Syntax. É executado na JVM, traduzindo Arden Syntax em Java bytcode.

JGNAT (Ada)

JGNAT era um compilador gratuito para o idioma Ada. Era uma versão do compilador GNAT que compilou a linguagem Ada no bytecode java. Originalmente parte de um projeto para as forças armadas dos EUA, o JGNAT foi desde então financiado.

Micro Focus Visual COBOL

O Visual Cobol da Micro Focus oferece um conjunto completo de ferramentas para aplicativos COBOL à prova de futuro. Um deles é um compilador que permite que os desenvolvedores compilem o código COBOL existente diretamente no Java ByteCode para a Java Virtual Machine.

Implementações da ColdFusion Markup Language (CFML)

A ColdFusion Markup Language permite que os desenvolvedores de sites criem páginas que contêm informações variáveis ​​(gráficos ou texto) que são estruturadas dinamicamente em resposta à entrada do usuário e outras variáveis. Possui várias implementações para a Java Virtual Machine, incluindo Railo, Lucee e Adoby ColdFusion.

  • Adobe ColdFusion é uma plataforma de desenvolvimento rápido de aplicativos da web. A linguagem de programação é executada na Java Virtual Machine. Além de uma linguagem de script completa, também inclui um ambiente de desenvolvimento integrado (IDE).

  • Lucee . Lucee é uma linguagem de script dinâmica e leve que é executada na JVM. Permite o desenvolvimento rápido de qualquer coisa, desde aplicativos da web muito simples a altamente sofisticados. Foi originalmente lançado como um fork do Railo (abaixo).

  • Railo é realmente um software de servidor que implementa a linguagem de script CFML. É executado na JVM. Originalmente criado como concorrente do Adobe ColdFusion, ele mudou para um modelo de código aberto e está disponível no GitHub.

  • O Open BlueDragon ou simplesmente o OpenBD não é uma linguagem de programação, mas é um mecanismo Java CFML que interpreta e processa o código CFML. É totalmente de código aberto e gratuito para todos.

Implementações de JavaScript

JavaScript é uma linguagem de programação leve e muito popular usada amplamente em páginas da web. Apesar do nome, ele não está realmente relacionado à linguagem Java. Existem algumas implementações de JavaScript que são executadas na Java Virtual Machine.

  • Nashorn é um mecanismo JavaScript criado pelo Oracle para a JVM. Nashorn foi lançado como uma solução de código aberto em 2012 no repositório OpenJDK. Ele permite que os desenvolvedores incorporem JavaScript em aplicativos Java como a JVM. “Nashorn” é a palavra em alemão para “Rhino”, outra implementação JS para a JVM gerenciada pela Mozilla.

  • Rinoceronte é a linguagem de programação JS da Mozilla para a JVM. Escrito em Java, geralmente é incorporado em aplicativos Java para fornecer scripts aos usuários finais.

  • RingoJS é uma implementação JS multithread para a JVM, principalmente para aplicativos do lado do servidor. Ele usa drivers JDBC avançados, bem como a Java Class Library.

cupom de hospedagem na web

Procurando o host Java certo?
O InMotion Hosting é uma escolha forte para as necessidades Java, Tomcat ou JSP gerais. Clusters de hardware redundantes fornecem confiabilidade superior a muitos hosts. No momento, você pode economizar até 50% em seus planos. Use este link de desconto
para conseguir o acordo.

Java Grade Mercury

O Java Grade Mercury é uma implementação do Mercury. É um compilador que gera código-fonte Java que pode ser compilado no bytecode Java para o Java SE runtime environment. Embora não tenha sido especificamente escrito para funcionar como uma linguagem de programação da JVM, ele pode executar esta função, como observa Julien Fischer, desenvolvedor da Opturion. .

Pascal componente

O motivo pelo qual o Pascal de componente não está agrupado com as implementações da JVM Pascal abaixo é que não é um. Pelo contrário, é uma variante do Oberon-2. Ele não permite que os programadores definam métodos sobrecarregados, mas métodos sobrecarregados podem ser chamados de dentro do código Pascal do componente.

Implementações em Pascal

Pascal é uma linguagem de programação procedural, comumente usada para aprender conceitos de programação. É muito parecido com o C. Desenvolvido no final da década de 1960, ainda é usado atualmente, especialmente em suas versões mais recentes, Delphi e Oxygene. Possui várias implementações para a Java Virtual Machine, incluindo as da lista abaixo.

  • MIDletPascal , otimizado especificamente para o desenvolvimento de midlets J2ME, pode traduzir o código-fonte Pascal em Java bytecode para a JVM.

  • Pascal grátis é um compilador de código aberto para pascal e pascal de objeto. Ele pode direcionar várias arquiteturas de processador, incluindo AMD64 e a Java Virtual Machine.

  • Oxigênio foi criado como uma nova versão do Pascal para o ambiente .NET e Visual Studio. É composto de um compilador, integração com o IDE do Visual Studio e algumas bibliotecas de suporte.

Quercus

Quercus é uma implementação Java do PHP. Lançado como software de código aberto pela Caucho Technology, ele vem com várias extensões e módulos PHP, como JSON, PDO e MySQL. Ele fornece estreita integração de serviços Java e scripts PHP.

Rakudo Perl 6

O Perl 6 da Rakudo é um compilador que tem como alvo a Java Virtual Machine e o MoarVM. Está em desenvolvimento ativo, com a versão estável mais recente em 3 de abril de 2017. É uma implementação da linguagem de programação Perl, uma linguagem de alto nível usada no desenvolvimento de aplicativos da web.

Implementações Prolog

Prolog é uma linguagem de programação de alto nível criada pela primeira vez para lidar com aplicativos de inteligência artificial. Falta a ampla gama de aplicativos da linguagem LISP. Ainda assim, é conhecida como uma ferramenta poderosa para resolver perguntas sobre relacionamentos .

  • TuProlog é uma implementação leve do Prolog projetada em torno de um núcleo mínimo e configuração dinâmica por meio do carregamento de bibliotecas. Ele fornece forte integração entre o Prolog e linguagens orientadas a objetos comuns como Java, C # e F #.

  • JIProlog é um intérprete puro do Java Prolog que é de código aberto e multiplataforma. Ele fornece conformidade elevada aos padrões do Prolog e aprimora o Java adicionando recursos do Prolog.

  • XProlog foi desenvolvido para atender às necessidades de determinados agentes baseados em Java. Melhora no WProlog adicionando aritmética, sintaxe avançada e melhor gerenciamento de memória.

Renjin

Renjin é um intérprete para a linguagem de programação R, construída na JVM. Permite que o código R interaja diretamente com várias estruturas de dados e bibliotecas da JVM, sem a necessidade de transferência de dados dispendiosa ou comunicação entre processos.

Implementações em Python

A linguagem de programação Python é uma linguagem interpretada. Ele enfatiza a legibilidade humana, com espaço em branco em vez de colchetes. Geralmente, requer menos linhas de código do que outras linguagens como C ++ ou Java.

  • Jython é uma implementação do Python para a Java Virtual Machine. Seu último lançamento estável foi em meados de 2015.

  • PyPy é um intérprete Python que converte código-fonte em código de máquina, C ou JVM bytecode.

  • ZipPy é uma implementação rápida e leve do Python 3 na JVM. Ele usa o compilador Java JIT e está disponível no GitHub.

Implementações em Ruby

Ruby é uma linguagem de programação dinâmica e de código aberto, focada na produtividade e simplicidade. Sua sintaxe elegante facilita a leitura e gravação. As implementações para a JVM incluem Mirah e JRuby.

  • Mirah é uma linguagem de programação JVM e implementação do Ruby que segue os princípios de nenhuma biblioteca de tempo de execução, sintaxe simples, macros e metaprogramação e sem penalização de desempenho.

  • JRuby é uma implementação de Ruby totalmente estável, estável e de alto desempenho para a Java Virtual Machine. É independente da plataforma e fornece uma solução fácil de instalar com migração simples.

NetRexx

O NetRexx é uma linguagem de programação de código aberto para todos os fins para JVM inspirada na linguagem Java e Rexx. Ele foi projetado para tornar a programação “fácil e divertida novamente”.

Jabaco

Jabaco é uma linguagem de programação BASIC desenvolvida para a Java Virtual Machine. O código-fonte é semelhante ao VB6, compilado no bytecode que é “semelhante” à saída da linguagem de programação Java.

Jacl

A linguagem de programação Jacl é uma implementação do Tcl, escrita em Java. Está pronto para produção e estável o suficiente para uso diário. Produz bytecode Java utilizável com a JVM.

JBasic

O JBasic é um intérprete da linguagem BASIC, totalmente escrito em Java para uso incorporado e uso da linha de comando. Ele suporta a sintaxe tradicional do estilo GW-BASIC e fornece extensões modernas. Pode ser executado diretamente de um shell.

Conversores JVM (programas externos que criam código Java)

Além das linguagens de programação criadas especificamente para a Java Virtual Machine ou adaptadas das linguagens existentes, existem vários programas que convertem código externo em Java. Esses conversores JVM nem sempre recebem ótimas críticas (consulte esta discussão no ResearchGate, no StackOverflow e no Quora).

Com esse aviso, aqui estão alguns dos melhores conversores de código disponíveis:

  • C2J. Este conversor converte programas gravados em C para Java para uso com a JVM.

  • CS2J Para converter C # em Java para a Java Virtual Machine ou outros aplicativos, tente o conversor CS2J.

  • Conversor de C ++ para Java. Esta versão possui uma edição gratuita que funciona em até 1.000 linhas por vez para pastas e 100 linhas por vez para trechos de código. A versão completa custa US $ 129.

  • P2J. Esse conversor Python para Java consiste em um tradutor de origem e um depurador e afirma a capacidade de converter código com precisão de 75% para uso com a JVM.

  • Não há conversores específicos de JavaScript para Java, principalmente porque, apesar dos nomes, essas são duas linguagens muito diferentes. Para aqueles que precisam traduzir JS para uso com a Java Virtual Machine, este repositório GitHub mostra uma maneira fácil de agrupar objetos JS em objetos Java.

  • PHP e Java são linguagens muito diferentes. (Consulte esta discussão.) Por um tempo, o conversor P2J tentou converter PHP em Java para uso com a JVM. No entanto, esse projeto foi descontinuado.

  • É possível incluir código Java em um programa Perl usando Inline :: Java (consulte esta discussão). Para converter código diretamente para uso com a Java Virtual Machine, há um conversor experimental aqui .

cupom de hospedagem na web

Procurando muito na hospedagem JVM?
A A2 Hosting alcançou o 1º lugar em nossos recentes testes de velocidade e desempenho. Seus planos de hospedagem suportam páginas Tomcat, JSP, servlets Java e muito mais. Você pode economizar até 50% nos planos compatíveis com o desenvolvedor. Use este link de desconto
para conseguir o acordo.

Leitura adicional e recursos relacionados

Além da lista de linguagens da JVM mostrada aqui, consulte este repositório do GitHub e também nossa lista crescente de recursos da linguagem de programação.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map