Список языков JVM
Этот список языков JVM включает известные компьютеры языков программирования, которые используются для создания компьютерного программного обеспечения, которое запускается на виртуальной машине Java (JVM). Некоторые из этих языков интерпретируются программой Java, а некоторые компилируются в байт-код Java и JIT-компилируются во время выполнения как обычные Программы на Java для повышения производительности.
Изначально JVM была разработана для поддержки только языка программирования Java. Однако со временем было адаптировано или разработано еще больше языков для работы на платформе Java.
Языки JVM
Высокопрофильные языки
Помимо языка Java, наиболее распространенными или известными другими языками JVM являются:
- Clojure, современный, динамический и функциональныйдиалект языка программирования Lisp
- Groovy, язык динамического программирования и скриптовый язык
- JRuby, реализация Ruby
- Jython, реализация Python
- Kotlin, статически типизированного языка от JetBrains, разработчиков IntelliJ IDEA
- Scala, статически типизированныйобъектно-ориентированный и язык функционального программирования
Реализации существующих языков JVM
Новые языки с реализациями JVM
- Ateji PX, расширение Java для простого параллельного программирования на многоядерных процессорах, GPU, Grid и Cloud
- Ballerina, язык программирования для облачных приложений со структурной типизацией; сетевые клиентские объекты, службы, функции ресурсов и слушатели; параллельный параллелизм с воркерами; построение имиджа; управление конфигурацией; и проверка на помутнение.
- BeanShell, язык сценариев, синтаксис близок к Java
- EPL (язык обработки событий), предметно-ориентированный язык обработки данных для анализа и обнаружение шаблонов в синхронизированных потоках событий, что расширяет SQL 92 функциями, ориентированными на события. Это реализовано Esper : до версии 6 EPL в основном был языком, интерпретируемым библиотекой Java; начиная с версии 7 он компилируется в байт-код JVM.
- Ceylon, Java-конкурент Red Hat
- CFML, язык разметки ColdFusion, более известный как CFML, является языком сценариев для веб-разработка, работающая на JVM,.NET framework и Google App Engine.
- Concurnas, многопарадигмальный язык программирования для параллельных, распределенных и реактивных приложений, с синтаксисом, подобным Python, с поддержкой GPU- вычислений и управления памятью вне кучи.
- Quark Framework (CAL), Haskell функциональный язык
- E на Java, объектно-ориентированный язык программирования для безопасных распределенных вычислений
- Eta, чистый, ленивый, строго типизированный функциональный язык программирования в духе Haskell
- Fantom, язык, построенный на основе для переносимости через JVM,.NET Common Language Runtime (CLR) и JavaScript
- Flow Java
- Fortress, язык, разработанный Sun как преемник Fortran, в основном для параллельных научных вычислений. грамм. При покупке Sun разработка продукта была взята на себя Oracle. Затем Oracle прекратил разработку в 2012 году, согласно доктору Доббу.
- , нестрогий, чисто функциональный язык программирования в духе Haskell
- Golo, простой, динамический, слабо типизированный язык. для JVM, разработанной в Национальном институте прикладных наук Лиона, Франция, в настоящее время инкубируемый проект в Eclipse Software Foundation.
- Gosu, язык с расширяемой системой типов, скомпилированный в байт-код Java
- Haxe, кроссплатформенный язык со статической типизацией, ориентированный на Java, а также на JVM.
- Ioke, основанный на прототипах язык, несколько напоминающий Io, имеющий сходство с Ruby, Lisp и Smalltalk
- Jelly
- Join Java, языком, расширяющим Java с помощью объединенного исчисления семантика
- Joy
- Judoscript
- Mirah, настраиваемый язык с выводом типов и синтаксисом, в значительной степени вдохновленным Ruby
- NetLogo, многоагентный язык
- Noop, язык, созданный с возможностью тестирования основное внимание
- Pizza, надмножество Java с указателями на функции и алгебраическими типами данных
- Pnuts
- Processing, язык и фреймворк визуализации и анимации основан на Java с синтаксисом, подобным Java
- Prompto, язык, «предназначенный для создания бизнес-приложений в облаке». Это часть одноименной платформы для разработки бизнес-приложений непосредственно в облаке. Язык Промпто включает три «диалекта»: энгли, монти и обжи. Engly «максимально имитирует английский», Monty «старается как можно больше следовать синтаксису языка Python 3», а Objy «старается максимально следовать синтаксису языков ООП, таких как C ++, Java или C #. «. Все три диалекта легко переводятся друг в друга.
- RascalMPL, независимый от исходного и целевого языков (параметризованный) язык метапрограммирования
- Whiley
- X10, язык, разработанный IBM, с ограниченными типами и фокус на параллелизм и распространение
- Xtend, объектно-ориентированный, функциональный и язык императивного программирования, созданный на основе Eclipse Foundation, отличается тесной совместимостью с Java, с акцентом на методы расширения и лямбда-выражения, а также богатый инструментарий
- Yeti, язык функционального программирования в стиле ML
- Yirgacheffe, язык, призванный упростить и расширить объектно-ориентированный парадигма.
- Yoix, универсальный, не объектно-ориентированный, интерпретируемый язык динамического программирования
Сравнение этих языков
Язык | Первый выпуск | Стабильный выпуск | Последний выпуск |
---|---|---|---|
Ballerina | 2018 | 2019 | 2020 |
BeanShell | 1999 | 2013 | 2016 |
Ecli pse Ceylon | 2011 | 2017 | 2017 |
CFML | 1995 | 2018 | 2018 |
Quark Framework | 2011 | 2018 | |
E | 1997 | ||
Fantom | 2011 | 2017 | |
Fortress | 2006 | 2011 | 2017 |
Mirah | 2016 | ||
Xtend | 2011 | 2017 |
См. Также
- Портал компьютерного программирования
- Da Vinci Machine
- Виртуальная машина Java # JVM languages
- Список языков интерфейса командной строки, в соответствии со спецификацией интерфейса командной строки, ответ Microsoft на JVM
Эпоха Интернета: Ява-подобные языки программирования
В 1990-х годах в связи с активным развитием Интернета распространение получили языки, позволяющие создавать сценарии для веб-страниц — главным образом Perl, развившийся из скриптового инструмента для Unix-систем, и Java. Продолжала возрастать также и популярность технологий виртуализации.
Разделы страницы о Ява-подобных языках программирования:
- Язык программирования Java
- Язык программирования Groovy
- Язык программирования Scala
Также смотрите страницы о клиентских и серверных средствах веб-программирования.
Язык программирования Java
Java — это C++, из которого убрали все пистолеты, ножи и дубинки. (James Gosling, один из создателей Java)
Ява имеет Си-подобный синтаксис. Считается платформонезависимым и полностью объектно-ориентированным языком.
На основе языка Java был создан скрипт-язык программирования клиентской части веб-сайта JavaScript (на пару с VBScript).
Язык Java зародился как часть проекта создания передового программного обеспечения (ПО) для различных бытовых приборов. Реализация проекта была начата на языке С++, но вскоре возник ряд проблем, наилучшим средством борьбы с которыми было изменение самого инструмента — языка программирования. Стало очевидным, что необходим платформо-независимый язык программирования, позволяющий создавать программы, которые не приходилось бы компилировать отдельно для каждой архитектуры и можно было бы использовать на различных процессорах под различными операционными системами.
Язык Java потребовался для создания интерактивных продуктов для сети Internet. Фактически, большинство архитектурных решений, принятых при создании Java, было продиктовано желанием предоставить синтаксис, сходный с Си и Cи++. В Java используются практически идентичные соглашения для объявления переменных, передачи параметров, операторов и для управления потоком выполнением кода. В Java добавлены все хорошие черты C++.
Три ключевых элемента объединились в технологии языка Java:
- Java предоставляет для широкого использования свои апплеты (applets) — небольшие, надежные, динамичные, не зависящие от платформы активные сетевые приложения, встраиваемые в страницы Web. Апплеты Java могут настраиваться и распространяться потребителям с такой же легкостью, как любые документы HTML.
- Java высвобождает мощь объектно-ориентированной разработки приложений, сочетая простой и знакомый синтаксис с надежной и удобной в работе средой разработки. Это позволяет широкому кругу программистов быстро создавать новые программы и новые апплеты.
- Java предоставляет программисту богатый набор классов объектов для ясного абстрагирования многих системных функций, используемых при работе с окнами, сетью и для ввода-вывода. Ключевая черта этих классов заключается в том, что они обеспечивают создание независимых от используемой платформы абстракций для широкого спектра системных интерфейсов.
- Введение в программирование на языке Java. В т.ч. установка Java SDK и Eclipse
- Java по-русски. Часть первая: Книги.
- Java по-русски. Часть вторая: интернет-ресурсы.
- Начинающим Java программистам. Основные сетевые ресурсы. Пакеты и библиотеки Ява.
Язык программирования Groovy
Groovy — объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python, Ruby и Smalltalk. Groovy использует Java-подобный синтаксис с динамической компиляцией в JVM байт-код и напрямую работает с другим Java кодом и библиотеками. Язык может использоваться в любом Java-проекте или как скриптовый язык. Groovy завершил процесс стандартизации в Java Community Process JSR 241.
Мультипарадигмальный язык Scala
Scala — мультипарадигмальный язык программирования, спроектированный кратким и типобезопасным для простого и быстрого создания компонентного программного обеспечения, сочетающий возможности функционального и объектно-ориентированного программирования.
Язык программирования Scala является «симбиозом» Java и C#. Это не первый язык, комбинирующий ООП с функциональным подходом, но он начал набирать обороты в тот момент, когда развитие Java замедлилось. Более того, создатели Scala решили, что язык должен работать на виртуальной машине JVM и предоставлять доступ к Java-библиотекам. Язык Scala объединяет три вещи: статическую типизацию, объектно-ориентированный и функциональный подход. Преимущества Scala оценили многие крупные компании – Twitter, LinkedIn, Foursquare, Novell, Siemens, GridGain. Однако в академических кругах это язык пока популярен больше.
Первые версии языка созданы в 2003 году коллективом лаборатории методов программирования Федеральной политехнической школы Лозанны под руководством Мартина Одерски, язык реализован для платформ Java и .Net. По мнению Джеймса Стрэчена (англ. James Strachan), создателя языка программирования Groovy, Scala может стать преемником языка Java.
Scala впитала значительное число концепций и синтаксических соглашений Java и C#. Способ выражения свойств во многом заимствован из Sather. Из Smalltalk взята концепция унифицированной объектной модели. Из BETA пришла идея, что всё, включая классы, должно допускать вложенность. Абстрактные типы в Scala очень похожи на абстрактные типы сигнатур в SML и OCaml, обобщённые в контексте полноценных компонентов. В некотором смысле Scala — это продолжение работы Pizza.
На правах рекламы (см. условия): ◀ ◀ ◀ Место для размещения коммерческих ссылок (см. , пожалуйста, условия) ▶ ▶ ▶ —>
Java аналоги
Java описывается как «язык компьютерного программирования общего назначения, который является параллельным, основанным на классах, объектно-ориентированным и специально разработанным так, чтобы иметь как можно меньше зависимостей от реализации» и является ведущим языком программирования в категории разработки. Существует более 50 альтернатив Java для различных платформ, включая Windows, Linux, Mac, BSD и Haiku. Лучшей альтернативой является Python, который является бесплатным и открытым исходным кодом. Другими замечательными приложениями, такими как Java, являются JavaScript, C++, C# и PHP.
- Compiled Language
- Compiler
- Developer Tools
- Dynamic typing
- Functional Language
- Garbage Collection
- High Level
- Interpreted language
- Interpreter
- Java based
- JVM
- Manual memory management
- Mobile Development
- Object-oriented Language
- Programming Language
- Rad
- Scripting language
- Support for scripting
- Systems programming
- Web Development
- Ещё
Лучшими альтернативами CrossBrowdy являются Blender, Python и Vim. Наши краудсорсинговые списки содержат более 100 приложений, похожих на CrossBrowdy для Mac, Windows, Linux, BSD и других.