Языки программирования JVM – Руководство эксперта по созданию программного обеспечения для виртуальной машины Java

Раскрытие информации: Ваша поддержка помогает поддерживать работу сайта! Мы зарабатываем реферальную плату за некоторые услуги, которые мы рекомендуем на этой странице.


Список языков JVM на этой странице включает в себя основные языки программирования, используемые для создания программного обеспечения для виртуальной машины Java (JVM). Первоначально JVM была создана для поддержки только языка Java. Однако по мере того, как он набирал популярность, для платформы на платформе добавлялось и адаптировалось больше языков..

Языки JVM

Следующие языки программирования JVM были написаны специально для работы на виртуальной машине Java. Многие из них являются реализациями существующих языков, таких как Python или PHP, настроенных для работы с JVM, такими как Jython (реализация Python) и Quercus (реализация PHP).

В нижней части статьи мы также перечислили несколько конвертеров Java, которые могут брать код из языка, такого как C или Python, и (якобы) переводить его в код Java. Хотя эти конвертеры встречают разные отзывы пользователей, их все же стоит посмотреть.

Самый популярный

Давайте начнем с самых популярных языков программирования для JVM. Это Java (конечно), Groovy, Clojure (диалект функционального лиспа), Scala, JRuby, Kotlin, Xtend, Цейлон, Fantom и Jython. Некоторые языки были разработаны специально для JVM.

Clojure

Clojure, возможно, самый любимый из всех языков программирования для JVM. Функциональный диалект Lisp, его неизменность и простота делают его популярным среди разработчиков. Работа против этого – запутанные сообщения об ошибках, динамический тип и радикально другой синтаксис.

Scala

Scala – это язык программирования JVM со статической типизацией, который может использовать библиотеки Java. Он использует неизменные значения и поддерживает как императивные, так и функциональные парадигмы, предоставляя пользователям свободу выбора. Тем не менее, его сложная грамматика и надежная система могут запугать некоторых новичков.

Котлин

Kotlin является статически типизированным языком программирования для виртуальной машины Java. Разработанный для решения большинства проблем Java, с системой типов, разработанной для исключения нулевых ссылок из нашего кода. Поскольку он работает на JVM, этот язык программирования полностью совместим с Java. Как и Scala, он может использовать существующие библиотеки Java и фреймворки..

Цейлон

Цейлон – это объектно-ориентированный язык программирования статической типизации для JVM. Созданная Red Hat, она имеет более мощную систему типов, чем Java, но имеет знакомый синтаксис. Несмотря на обширный список функций, небольшая доля рынка означает относительно небольшое количество полезных библиотек..

Ява

Java, конечно, является оригинальным языком программирования JVM. Он получает значительную часть своего синтаксиса от C ++ и C, но его проще использовать, и он использует объектно-ориентированное программирование. Его непротиворечивые стандарты и общность в отрасли делают его надежным выбором для JVM. Тем не менее, некоторые пользователи жалуются, что это слишком многословно и имеет несколько запутанных функций.

Groovy

Apache Groovy – это популярный язык программирования для JVM с большой и развитой экосистемой. Наличие нескольких библиотек и фреймворков (особенно фреймворка Grails) делает его универсальным выбором для разработчиков. Groovy – это динамический и объектно-ориентированный язык сценариев.

Xtend

Xtend предлагает тесную совместимость Java и богатый инструментарий. Этот статически типизированный язык программирования JVM компилируется в код Java вместо байт-кода. Это очень полезно для начинающих и отладки. Некоторые разработчики жалуются на проблемы медленной компиляции с большими классами.

фантом

Этот объектно-ориентированный язык программирования для JVM отличается от других в своем роде отсутствием поддержки пользовательских дженериков. Однако он включает три встроенных класса, которые можно параметризировать. Идея состояла в том, чтобы позволить программистам использовать дженерики, сохраняя при этом общую систему типов.

Реализации других языков

Приведенные ниже языки программирования JVM являются реализациями других популярных языков, таких как Lisp, Ruby, Python и PHP..

Лисп Реализации

Существует несколько реализаций Lisp в качестве языков программирования JVM. Это: Armed Bear Common Lisp, CL для Java, Scheme и Clojure (о которых мы упоминали выше).

Схема

Схема является одним из двух основных диалектов Лисп. Это функциональный язык программирования с минималистским дизайном и мощными инструментами расширения языка. Хотя он не работает напрямую с JVM, некоторые его реализации работают. К ним относятся:

  • BiglooJVM . Этот компилятор Scheme доставляет байт-код для виртуальной машины Java прямо с языка программирования Scheme..

  • Кава . Это расширение языка Scheme, которое работает с виртуальной машиной Java..

  • JScheme это реализация Scheme, которая взаимодействует с Java.

Вооруженный медведь обыкновенный Лисп

Этот язык программирования реализации Common Lisp для JVM имеет как интерпретатор, так и компилятор, обычно называемый ABCL.

CLforJava

CLforJava – это реализация Common Lisp, которая работает на JVM и пытается предоставить доступ к любой библиотеке Java без необходимости использования интерфейса внешних функций. Похоже, было прекращено в последние годы.

Clojure

Мы упомянули Clojure выше в разделе «самых популярных», поскольку это одна из самых известных реализаций Lisp для JVM.

Arden2ByteCode

Разработанный в 2010 году, Arden2ByteCode – это компилятор с открытым исходным кодом, созданный для синтаксиса Arden. Он работает на JVM, переводя синтаксис Arden в байт-код Java.

JGNAT (Ада)

JGNAT был бесплатным компилятором для языка Ada. Это была версия компилятора GNAT, которая компилировала язык Ada в байт-код java. Первоначально являвшаяся частью проекта для военных США, JGNAT с тех пор была оплачена.

Micro Focus Visual COBOL

Visual Cobol от Micro Focus предлагает полный набор инструментов для будущих приложений COBOL. Одним из них является компилятор, который позволяет разработчикам компилировать существующий код COBOL непосредственно в Java ByteCode для виртуальной машины Java..

Реализации языка разметки ColdFusion (CFML)

Язык разметки ColdFusion позволяет разработчикам веб-сайтов создавать страницы, содержащие переменную информацию (графику или текст), которая динамически структурируется в соответствии с пользовательским вводом и другими переменными. Он имеет несколько реализаций для виртуальной машины Java, включая Railo, Lucee и Adoby ColdFusion..

  • Adobe ColdFusion это платформа быстрой разработки веб-приложений. Язык программирования работает на виртуальной машине Java. В дополнение к полноценному языку сценариев, он также включает в себя интегрированную среду разработки (IDE).

  • Lucee . Lucee – это динамичный, легкий язык сценариев, который работает на JVM. Это позволяет быстро разрабатывать что угодно, от очень простых до очень сложных веб-приложений. Первоначально он был запущен как форк Railo (ниже).

  • Railo на самом деле серверное программное обеспечение, которое реализует язык сценариев CFML. Он работает на JVM. Первоначально созданный как конкурент Adobe ColdFusion, он переключился на модель с открытым исходным кодом и доступен на GitHub..

  • Open BlueDragon или просто OpenBD – это не язык программирования, а движок Java CFML, который интерпретирует и обрабатывает код CFML. Это полностью открытый исходный код и бесплатно для всех.

Реализации JavaScript

JavaScript – это легкий и очень популярный язык программирования, широко используемый на веб-страницах. Несмотря на название, оно не имеет отношения к языку Java. Есть несколько реализаций JavaScript, которые работают на виртуальной машине Java.

  • Nashorn это движок JavaScript, созданный Oracle для JVM. Nashorn был выпущен как решение с открытым исходным кодом в 2012 году в репозитории OpenJDK. Это позволяет разработчикам встраивать JavaScript в приложения Java, такие как JVM. «Nashorn» – это немецкое слово «Rhino», еще одна реализация JS для JVM, управляемой Mozilla..

  • носорог это язык программирования Mozilla JS для JVM. Написанный на Java, он обычно внедряется в приложения Java для предоставления сценариев конечным пользователям..

  • RingoJS является многопоточной реализацией JS для JVM, в первую очередь для серверных приложений. Он использует продвинутые драйверы JDBC, а также библиотеку классов Java.

веб-хостинг купон

В поисках подходящего хоста Java?
Хостинг InMotion – это хороший выбор для Java, Tomcat или общих потребностей JSP. Избыточные аппаратные кластеры обеспечивают надежность, превосходящую многие хосты. Прямо сейчас вы можете сэкономить до 50% на своих планах. Используйте эту ссылку скидки
получить сделку.

Ява сорт Меркурий

Java Grade Mercury – это реализация Mercury. Это компилятор, который генерирует исходный код Java, который затем может быть скомпилирован в байт-код Java для среды выполнения Java SE. Хотя он не предназначен специально для работы в качестве языка программирования JVM, он может выполнять эту функцию, как отмечает разработчик Opturion Джулиен Фишер .

Компонент Паскаль

Причина, по которой Component Pascal не сгруппирован с реализациями JVM Pascal, приведенными ниже, заключается в том, что он не один. Скорее, это вариант Оберона-2. Это не позволяет программистам определять перегруженные методы, но перегруженные методы могут быть вызваны из кода Component Pascal..

Реализация на Паскале

Паскаль – это процедурный язык программирования, обычно используемый для изучения концепций программирования. Он очень похож на C. Разработанный в конце 1960-х годов, он все еще используется сегодня, особенно в его более новых версиях, Delphi и Oxygene. У этого есть несколько реализаций для Виртуальной машины Java, включая те в списке ниже.

  • MIDletPascal , специально оптимизированный для разработки мидлетов J2ME, может переводить исходный код Pascal в байт-код Java для JVM.

  • Свободный Паскаль это компилятор с открытым исходным кодом для pascal и pascal объекта. Он может работать на нескольких процессорных архитектурах, включая AMD64 и виртуальную машину Java..

  • Oxygene был создан как новая версия Pascal для среды .NET и Visual Studio. Он состоит из компилятора, интеграции с Visual Studio IDE и некоторых вспомогательных библиотек..

Quercus

Quercus – это реализация PHP на Java. Выпущенная в качестве программного обеспечения с открытым исходным кодом компанией Caucho Technology, она поставляется с несколькими расширениями и модулями PHP, такими как JSON, PDO и MySQL. Обеспечивает тесную интеграцию Java-сервисов и PHP-скриптов..

Ракудо Перл 6

Perl 6 от Rakudo – это компилятор, предназначенный как для виртуальной машины Java, так и для MoarVM. Он находится в активной разработке, последний стабильный выпуск от 3 апреля 2017 года. Это реализация языка программирования Perl, языка высокого уровня, используемого для разработки веб-приложений..

Пролог Реализации

Prolog – это язык программирования высокого уровня, впервые созданный для работы с приложениями искусственного интеллекта. Ему не хватает широкого диапазона применения языка LISP. Тем не менее, он известен как мощный инструмент для решения вопросов об отношениях .

  • TuProlog это легкая реализация Prolog, разработанная на основе минимального ядра и динамической конфигурации за счет загрузки библиотек. Он обеспечивает тесную интеграцию между Prolog и общими объектно-ориентированными языками, такими как Java, C # и F #..

  • JIProlog является чистым интерпретатором Java Prolog, который является как открытым исходным кодом, так и кроссплатформенным. Он обеспечивает повышенную совместимость со стандартами Prolog и улучшает Java, добавляя возможности Prolog.

  • XProlog был разработан для удовлетворения потребностей определенных агентов на основе Java. Он улучшает WProlog, добавляя арифметику, улучшенный синтаксис и улучшенное управление памятью..

Renjin

Renjin – это интерпретатор языка программирования R, построенный на JVM. Это позволяет R-коду напрямую взаимодействовать с несколькими структурами данных и библиотеками JVM, не требуя дорогостоящей передачи данных или межпроцессного взаимодействия.

Реализации Python

Язык программирования Python является интерпретируемым языком. Он подчеркивает удобочитаемость для человека, с пробелами, а не в фигурных скобках. Обычно требуется меньше строк кода, чем в других языках, таких как C ++ или Java.

  • Jython является реализацией Python для виртуальной машины Java. Последний стабильный выпуск был в середине 2015 года..

  • PyPy интерпретатор Python, который переводит исходный код в машинный код, байт-код C или JVM.

  • проворный это быстрая и легкая реализация Python 3 в JVM. Он использует компилятор Java JIT и доступен на GitHub.

Ruby Реализации

Ruby – это динамический язык программирования с открытым исходным кодом, который фокусируется на производительности и простоте. Его элегантный синтаксис позволяет легко читать и писать. Реализации для JVM включают Mirah и JRuby.

  • Mirah это язык программирования JVM и реализация Ruby, которая следует принципам отсутствия библиотеки времени выполнения, простого синтаксиса, макросов и метапрограммирования, а также снижения производительности.

  • JRuby является полностью поточной, стабильной и высокопроизводительной реализацией Ruby для виртуальной машины Java. Он не зависит от платформы и предоставляет простое в установке решение с простой миграцией.

NetRexx

NetRexx – это универсальный язык программирования с открытым исходным кодом для JVM, вдохновленный языками Java и Rexx. Он разработан, чтобы сделать программирование «легким и увлекательным»

Jabaco

Jabaco – это язык программирования BASIC, разработанный для виртуальной машины Java. Исходный код аналогичен VB6, скомпилирован в байт-код, который «похож» на вывод языка программирования Java.

Jacl

Язык программирования Jacl – это реализация Tcl, написанная на Java. Он готов к производству и достаточно стабилен для ежедневного использования. Он создает Java-байт-код, который можно использовать с JVM.

JBasic

JBasic – это интерпретатор языка BASIC, полностью написанный на Java как для встроенного использования, так и для использования в командной строке. Он поддерживает традиционный синтаксис в стиле GW-BASIC и предоставляет современные расширения. Он может бежать бежать прямо из оболочки.

Конвертеры JVM (внешние программы, создающие код Java)

Помимо языков программирования, написанных специально для виртуальной машины Java или адаптированных из существующих языков, существует несколько программ, которые конвертируют внешний код в Java. Эти конвертеры JVM не всегда получают восторженные отзывы (см. Это обсуждение ResearchGate, это на StackOverflow, и это на Quora).

С этим предупреждением, вот некоторые из лучших преобразователей кода:

  • C2J. Этот конвертер переводит программы, написанные на C, на Java для использования с JVM.

  • CS2J Чтобы конвертировать C # в Java для виртуальной машины Java или других приложений, попробуйте конвертер CS2J.

  • Конвертер C ++ в Java. Это бесплатная версия, которая работает с 1000 строк одновременно для папок и 100 строк для фрагментов кода. Полная версия стоит $ 129.

  • P2J. Этот конвертер Python в Java состоит из переводчика исходного кода и отладчика и претендует на возможность конвертировать код с точностью 75% для использования с JVM.

  • Конвертеров JavaScript в Java не существует, в основном потому, что, несмотря на названия, это два совершенно разных языка. Для тех, кому нужно перевести JS для использования с виртуальной машиной Java, этот репозиторий GitHub демонстрирует простой способ связать объекты JS с объектами Java.

  • PHP и Java очень разные языки. (См. Это обсуждение.) Некоторое время преобразователь P2J пытался преобразовать PHP в Java для использования с JVM. Тем не менее, этот проект был прекращен.

  • Можно включить код Java в программу Perl, используя Inline :: Java (см. Это обсуждение). Чтобы преобразовать код напрямую для использования с виртуальной машиной Java, здесь есть экспериментальный конвертер .

веб-хостинг купон

Ищете много на хостинге JVM?
Хостинг A2 занял первое место в наших недавних тестах на скорость и производительность. Их планы хостинга поддерживают Tomcat, JSP-страницы, Java-сервлеты и многое другое. Вы можете сэкономить до 50% на их дружественных разработчикам планах. Используйте эту ссылку скидки
получить сделку.

Дальнейшее чтение и связанные ресурсы

В дополнение к приведенному здесь списку языков JVM, смотрите этот репозиторий GitHub, а также наш растущий список ресурсов языка программирования..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me