Lista języków JVM - List of JVM languages
Ta lista języków JVM obejmuje godne uwagi języki programowania komputerowego , które są używane do tworzenia oprogramowania komputerowego działającego na wirtualnej maszynie Java (JVM). Niektóre z tych języków są interpretowane przez program Java , a niektóre są kompilowane do kodu bajtowego Java i kompilowane JIT podczas wykonywania jako zwykłe programy Java w celu poprawy wydajności.
JVM została początkowo zaprojektowana do obsługi tylko języka programowania Java. Jednak w miarę upływu czasu coraz więcej języków zostało dostosowanych lub zaprojektowanych do działania na platformie Java .
Języki JVM
Znane języki
Według stanu na październik 2021 r., zgodnie z indeksem TIOBE zawierającym 100 najlepszych języków programowania, najpopularniejsze języki JVM to:
- Java (nr 3), statycznie typowany język obiektowy
- Groovy (#15), dynamiczny język programowania (również ze statycznym pisaniem) i język skryptowy
- Scala (nr 30), statycznie typowany obiektowy i funkcjonalny język programowania
- Clojure (# 33), dynamiczny i funkcjonalny dialekt z Lisp języka programowania
- Kotlin (nr 38), statycznie wpisany język od JetBrains , twórców IntelliJ IDEA i preferowanego języka Google dla Androida
Implementacje JVM istniejących języków
Język | Implementacje JVM |
---|---|
Składnia Ardena | Arden2ByteCode |
COBOL | Micro Focus Visual COBOL |
Język znaczników ColdFusion (CFML) |
Adobe ColdFusion Railo Lucee Open BlueDragon |
Wspólne seplenienie | Uzbrojony niedźwiedź zwyczajny sepleni |
Szyfrować | Neo4j |
Haskell | ETA (język programowania) |
JavaScript |
Nosorożec Nashorn |
Kod bitowy LLVM | Sulong |
Rtęć | Rtęć (klasa Java) |
OCaml | OCaml-Java |
Składnik Pascal | Gardens Point Component Pascal |
Pascal |
midletpascal Oxygene |
Raku | Rakudo |
PHP | Quercus JPHP |
Prolog |
JIProlog TuProlog |
Pyton |
Jython
Pełen werwy |
r |
Renjin
SzybkiR |
Rexx | NetRexx |
Rubin |
JRuby TruflaRuby |
Schemat |
Bigloo Kawa SISC JScheme |
Symulacja | Symulacja Open Source |
Pogawędka | Czerwona linia |
Standardowy ML | MLj |
Tcl | Jacl |
Visual Basic | Jabaco |
Nowe języki z implementacjami JVM
- Ateji PX , rozszerzenie Java do łatwego programowania równoległego na wielordzeniowych, GPU, Grid i Cloud
- Ballerina , język programowania aplikacji w chmurze z typowaniem strukturalnym; obiekty klienta sieciowego, usługi, funkcje zasobów i odbiorniki; równoległa współbieżność z pracownikami; budowanie wizerunku; Zarządzanie konfiguracją; i sprawdzanie skazy.
- BeanShell , język skryptowy, którego składnia jest zbliżona do Javy
- EPL (Event Processing Language), specyficzny dla domeny język manipulacji danymi do analizowania i wykrywania wzorców w strumieniach zdarzeń czasowych, który rozszerza SQL 92 o funkcje zorientowane na zdarzenia. Jest zaimplementowany przez Espera : do wersji 6 EPL był głównie językiem interpretowanym przez bibliotekę Java; od wersji 7 jest kompilowany do kodu bajtowego JVM.
- Concurnas , język programowania JVM typu open source przeznaczony do tworzenia niezawodnych, skalowalnych, wysokowydajnych systemów współbieżnych, rozproszonych i równoległych.
- Ceylon , konkurent Java firmy Red Hat
- CFML , ColdFusion Markup Language, bardziej znany jako CFML, to język skryptowy do tworzenia stron internetowych, który działa w JVM, platformie .NET i Google App Engine.
- Quark Framework (CAL), język funkcjonalny inspirowany Haskellem
- E -on-Java, obiektowy język programowania do bezpiecznego przetwarzania rozproszonego
- Eta, czysty, leniwy, mocno typowany funkcjonalny język programowania w duchu Haskella
- Fantom , język zbudowany od podstaw, aby można go było przenosić w JVM, .NET Common Language Runtime (CLR) i JavaScript
- Flix , funkcjonalny, imperatywny i logiczny język programowania z pierwszorzędnymi ograniczeniami Datalog i systemem efektów polimorficznych.
- Przepływ Java
- Fortress , język zaprojektowany przez firmę Sun jako następca Fortrana, głównie do równoległych obliczeń naukowych. Rozwój produktu został przejęty przez Oracle, kiedy firma Sun została zakupiona. Oracle następnie zaprzestał rozwoju w 2012 roku według dr Dobb's.
- Frege , nieścisły , czysto funkcjonalny język programowania w duchu Haskella
- Golo , prosty, dynamiczny, słabo typowany język dla JVM opracowany w Institut national des sciences appliquées de Lyon we Francji, obecnie będącym projektem inkubacyjnym w Eclipse Software Foundation.
- Gosu , rozszerzalny język systemu typów skompilowany do kodu bajtowego Java
- Haxe , wieloplatformowy statycznie typowany język, który jest przeznaczony zarówno dla Javy, jak i JVM.
- Ioke , język oparty na prototypach nieco przypominający Io , z podobieństwami do Ruby , Lisp i Smalltalk
- Galaretka
- Join Java , język, który rozszerza Javę o semantykę rachunku łączenia
- Radość
- judoskrypt
- Mirah , konfigurowalny język z wnioskowaniem o typie i wysoce inspirowaną składnią Ruby
- NetLogo , język wieloagentowy
- Noop , język zbudowany z testowalnością jako głównym celem
- Pizza , nadzbiór Javy ze wskaźnikami do funkcji i algebraicznymi typami danych
- Pnuts
- Processing , język i framework wizualizacji i animacji oparty na Javie ze składnią zbliżoną do Javy
- Prompto , język „przeznaczony do tworzenia aplikacji biznesowych w chmurze”. Jest częścią platformy o tej samej nazwie do projektowania aplikacji biznesowych bezpośrednio w chmurze. Język Prompto zawiera trzy „dialekty”: Engly, Monty i Objy. Engly „naśladuje angielski tak bardzo, jak to możliwe”, Monty „stara się podążać w jak największym stopniu za składnią języka Python 3”, a Objy „stara się podążać w jak największym stopniu za składnią języków OOP, takich jak C++, Java lub C# ”. Wszystkie trzy dialekty płynnie przekładają się na siebie.
- RascalMPL , niezależny od języka źródłowego i docelowego (sparametryzowany) meta język programowania
- Chociaż
- X10 , język zaprojektowany przez IBM, zawierający ograniczone typy i skupiający się na współbieżności i dystrybucji
- Xtend , zorientowany obiektowo , funkcjonalny i imperatywny język programowania stworzony przez fundację Eclipse, charakteryzujący się ścisłą interoperacyjnością w języku Java, z naciskiem na metody rozszerzeń i lambdy oraz bogatym oprzyrządowaniem
- Yeti , funkcjonalny język programowania w stylu ML
- Yirgacheffe , język mający na celu uproszczenie i rozszerzenie paradygmatu obiektowego.
- Yoix , ogólnego przeznaczenia, niezorientowany obiektowo, interpretowany dynamiczny język programowania
Porównanie tych języków
Język | Pierwsze wydanie | Wersja stabilna | Ostatnie wydanie |
---|---|---|---|
Balerina | 2018 | 2019 | 2020 |
Powłoka fasoli | 1999 | 2013 | 2016 |
Zaćmienie Cejlonu | 2011 | 2017 | 2017 |
CFML | 1995 | 2018 | 2018 |
Ramy Quark | 2011 | 2018 | |
mi | 1997 | ||
Fantom | 2011 | 2017 | |
Twierdza | 2006 | 2011 | 2017 |
Frege | |||
Miraha | 2016 | ||
Xtend | 2011 | 2021 |
Zobacz też
- Maszyna Da Vinci
- Wirtualna maszyna Java#Języki JVM
- Lista języków CLI , zgodnie ze specyfikacją CLI, odpowiedź Microsoftu na JVM