JVM programmēšanas valodas – Eksperta rokasgrāmata programmatūras izveidošanai Java virtuālajai mašīnai

Atklāšana: Jūsu atbalsts palīdz vietnei darboties! Mēs nopelnām nodošanas maksu par dažiem pakalpojumiem, kurus mēs iesakām šajā lapā.


JVM valodu saraksts šajā lapā satur galvenās programmēšanas valodas, kuras tiek izmantotas, lai izveidotu programmatūru Java virtuālajai mašīnai (JVM). Sākotnēji JVM tika izveidots, lai atbalstītu tikai Java valodu. Tomēr, tā kā tā ieguva popularitāti, tika pievienotas vai pielāgotas vairāk valodu, lai darbotos platformā.

JVM valodas

Šīs JVM programmēšanas valodas tika rakstītas speciāli, lai darbotos Java virtuālajā mašīnā. Daudzi no tiem ir esošo valodu, piemēram, Python vai PHP, ieviešana, kas pielāgota darbam ar JVM, piemēram, Jython (Python implementācija) un Quercus (PHP implementācija)..

Raksta apakšā mēs uzskaitām arī vairākus Java pārveidotājus, kas var ņemt kodu no tādas valodas kā C vai Python un (šķietami) tulkot to Java kodā. Kaut arī šie pārveidotāji tiek iepazīstināti ar dažādām lietotāju atsauksmēm, viņi joprojām ir apskates vērti.

Populārākais

Sāksim ar populārākajām JVM programmēšanas valodām. Tās ir Java (protams), Groovy, Clojure (Funkcionālā Lisp dialekts), Scala, JRuby, Kotlin, Xtend, Ceylon, Fantom un Jython. Dažas no valodām tika īpaši izstrādātas JVM.

Klojure

Iespējams, Klodžūra ir pūļa iecienītākā no visām JVM programmēšanas valodām. Funkcionāls Lisp dialekts, tā negrozāmība un vienkāršība padara to par izstrādātāju iecienītu izvēli. Darbojoties ar to, tiek sajaukti kļūdu ziņojumi, dinamiskais tips un radikāli atšķirīgā sintakse.

Skala

Scala ir statiski ierakstīta JVM programmēšanas valoda, kas var izmantot Java bibliotēkas. Tas izmanto nemainīgas vērtības un atbalsta gan obligātās, gan funkcionālās paradigmas, ļaujot lietotājiem brīvi izvēlēties. Tomēr tā sarežģītā gramatika un spēcīgā sistēma var iebiedēt dažus iesācējus.

Kotlin

Kotlin ir statiski ierakstīta kodēšanas valoda Java virtuālajai mašīnai. Paredzēts, lai risinātu lielāko daļu Java problēmu, ar tipa sistēmu, kas izstrādāta, lai no mūsu koda izslēgtu nulles atsauces. Tā kā šī programmēšanas valoda darbojas ar JVM, tā ir pilnībā sadarbspējīga ar Java. Tāpat kā Scala, tā var izmantot esošās Java bibliotēkas un ietvarus.

Ceilona

Ceilons ir statiski ierakstīta, objektorientēta programmēšanas valoda JVM. Izveidojusi Red Hat, tai ir jaudīgāka tipa sistēma nekā Java, taču tai ir pazīstama sintakse. Neskatoties uz spēcīgo funkciju sarakstu, tā mazā tirgus daļa nozīmē samērā nelielu skaitu noderīgu bibliotēku.

Java

Java, protams, ir oriģinālā JVM programmēšanas valoda. Tas iegūst diezgan labu sintakse no C ++ un C, taču to ir vienkāršāk izmantot un tas izmanto uz objektu orientētu programmēšanu. Tā konsekventi standarti un kopīgums visā nozarē padara to par pārliecinošu izvēli JVM. Tomēr daži lietotāji sūdzas, ka tas ir pārāk izteikts un tam ir vairākas mulsinošas funkcijas.

Groovy

Apache Groovy ir populāra programmēšanas valoda JVM ar lielu un attīstītu ekosistēmu. Vairāku bibliotēku un ietvaru esamība (īpaši Grails ietvars) izstrādātājiem padara to par daudzveidīgu izvēli. Groovy ir dinamiska un objektorientēta skriptu valoda.

Xtend

Xtend piedāvā ciešu Java savietojamību un bagātīgus rīkus. Šī statiski ierakstītā JVM programmēšanas valoda tiek apkopota Java kodā, nevis baitkodā. Tas ir ļoti noderīgi iesācējiem un atkļūdošanai. Daži izstrādātāji sūdzas par lēnām kompilācijas problēmām ar lielām klasēm.

Fantoms

Šī JVM objektorientētā programmēšanas valoda atšķiras no citām šāda veida programmām, izvairoties no lietotāja definētu ģenērisko zāļu atbalsta. Tomēr tajā ietilpst trīs iebūvētās klases, kuras var parametrizēt. Ideja bija ļaut programmētājiem izmantot vispārējus medikamentus, vienlaikus saglabājot vienkāršu vispārējā tipa sistēmu.

Citu valodu ieviešana

Zemāk redzamās JVM programmēšanas valodas ir citu populāru valodu, piemēram, Lisp, Ruby, Python un PHP, implementācijas..

Lisp ieviešana

Ir vairākas Lisp ieviešanas kā JVM programmēšanas valodas. Tie ir: Armed Bear Common Lisp, CL for Java, Scheme un Clojure (ko mēs jau minējām iepriekš).

Shēma

Shēma ir viens no diviem galvenajiem Lispa dialektiem. Tā ir funkcionāla programmēšanas valoda ar minimālisma dizainu un jaudīgiem valodas paplašināšanas rīkiem. Lai gan tas nedarbojas tieši ar JVM, to īsteno vairākas. Tie ietver:

  • BiglooJVM . Šis shēmas kompilators nodrošina bytecode Java virtuālajai mašīnai tieši no shēmas programmēšanas valodas.

  • Kawa . Šis ir shēmas valodas paplašinājums, kas darbojas ar Java virtuālo mašīnu.

  • JScheme ir shēmas, kas saskarnes ar Java, ieviešana.

Bruņotais lācis parastais Lisps

Šai JVM kopīgās Lisp ieviešanas programmēšanas valodai ir gan tulks, gan kompilators, ko parasti sauc par ABCL.

CLforJava

CLforJava ir kopēja Lisp ieviešana, kas darbojas ar JVM un mēģina piešķirt piekļuvi jebkurai Java bibliotēkai, neizmantojot ārvalstu funkciju saskarni. Šķiet, ka tas pēdējos gados tika pārtraukts.

Klojure

Iepriekš Klojūru mēs pieminējām sadaļā “vispopulārākais”, jo tā ir viena no JVM vispazīstamākajām Lisp ieviešanām..

Arden2ByteCode

Izstrādāts 2010. gadā, Arden2ByteCode ir atvērtā koda kompilators, kas izveidots Arden Syntax. Tas darbojas ar JVM, tulkojot Arden Syntax Java bytcode.

JGNAT (Ada)

JGNAT bija bezmaksas Ada valodas sastādītājs. Tā bija GNAT kompilatora versija, kas sastādīja Ada valodu java bytecode. Sākotnēji daļa no ASV militārpersonu projekta, kopš tā laika JGNAT ir atdalīta.

Mikro fokusa vizuālais COBOL

Visual Cobol by Micro Focus piedāvā pilnu rīku komplektu nākotnes drošām COBOL lietojumprogrammām. Viens no tiem ir kompilators, kas ļauj izstrādātājiem esošajā COBOL kodā tieši apkopot Java byteCode Java virtuālajai mašīnai..

ColdFusion Markup Language (CFML) ieviešana

ColdFusion marķēšanas valoda ļauj vietņu izstrādātājiem izveidot lapas, kurās ir mainīga informācija (grafika vai teksts), kas ir dinamiski strukturēta, reaģējot uz lietotāja ievadīto un citiem mainīgajiem. Tam ir vairākas Java virtuālās mašīnas ieviešanas iespējas, ieskaitot Railo, Lucee un Adoby ColdFusion.

  • Adobe ColdFusion ir ātra tīmekļa platformu izstrādes platforma. Programmēšanas valoda darbojas Java virtuālajā mašīnā. Papildus pilnai skriptu valodai tajā ir arī integrētā izstrādes vide (IDE)..

  • Lucee . Lucee ir dinamiska, viegla skriptu valoda, kas darbojas ar JVM. Tas ļauj ātri attīstīt jebko, sākot no ļoti vienkāršiem līdz ļoti sarežģītiem webappiem. Sākotnēji tas tika palaists kā dakša Railo (zemāk).

  • Railo faktiski ir servera programmatūra, kas ievieš CFML skriptu valodu. Tas darbojas uz JVM. Sākotnēji tas tika izveidots kā Adobe ColdFusion konkurents, tas pārgāja uz atvērtā koda modeli un ir pieejams vietnē GitHub.

  • Open BlueDragon vai vienkārši OpenBD nav programmēšanas valoda, bet ir Java CFML dzinējs, kas interpretē un apstrādā CFML kodu. Tas ir pilnīgi atvērts avots un pieejams visiem bez maksas.

JavaScript ieviešana

JavaScript ir viegla un ļoti populāra programmēšanas valoda, ko plaši izmanto tīmekļa lapās. Neskatoties uz tā vārdu, tas nav īsti saistīts ar Java valodu. Java virtuālajā mašīnā darbojas dažas JavaScript versijas.

  • Nashorn ir JavaScript dzinējs, ko JVM izveidojis Oracle. Nashorn kā atvērtā koda risinājums tika izlaists 2012. gadā OpenJDK repozitorijā. Tas ļauj izstrādātājiem iegult JavaScript Java lietojumprogrammās, piemēram, JVM. “Nashorn” ir vācu vārds “Rhino”, vēl viena JS ieviešana JVM, kuru pārvalda Mozilla.

  • Rhino ir Mozilla JS programmēšanas valoda JVM. Rakstīts Java, tas parasti ir iestrādāts Java lietojumprogrammās, lai gala lietotājiem sniegtu skriptus.

  • RingoJS ir vairāku pavedienu JS ieviešana JVM, galvenokārt servera puses lietojumprogrammām. Tas izmanto uzlabotus JDBC draiverus, kā arī Java klases bibliotēku.

tīmekļa mitināšanas kupons

Meklējat pareizo Java resursdatoru?
InMotion Hostings ir spēcīga izvēle Java, Tomcat vai vispārējām JSP vajadzībām. Pārmērīgas aparatūras kopas nodrošina uzticamību, kas ir lielāka par daudziem resursdatoriem. Šobrīd jūs varat ietaupīt līdz 50% no viņu plāniem. Izmantojiet šo atlaižu saiti
lai tiktu galā.

Java pakāpes dzīvsudrabs

Java pakāpe Mercury ir Mercury ieviešana. Tas ir kompilators, kas ģenerē Java avota kodu, kuru pēc tam var apkopot Java bytekodā Java SE izpildlaika videi. Lai arī tas nav īpaši uzrakstīts darbam kā JVM programmēšanas valoda, tas var veikt šo funkciju, kā atzīmē Opturion izstrādātājs Džuljens Fišers .

Sastāvs Paskāls

Iemesls, kāpēc komponents Paskāls nav sagrupēts zemāk esošajās JVM Pascal implementācijās, ir tas, ka tas nav viens. Drīzāk tas ir Oberon-2 variants. Tas neļauj programmētājiem definēt pārslogotas metodes, bet pārslogotas metodes var izsaukt, izmantojot Component Pascal kodu..

Paskāla ieviešana

Paskāla ir procesuālā programmēšanas valoda, ko parasti lieto programmēšanas jēdzienu apguvei. Tas ir ļoti līdzīgs C. Izstrādāts 1960. gadu beigās, tas joprojām tiek izmantots mūsdienās, īpaši jaunākajās versijās Delphi un Oxygene. Tam ir vairākas Java virtuālās mašīnas implementācijas, ieskaitot tās, kas norādītas zemāk esošajā sarakstā.

  • MIDletPascal , īpaši optimizēts J2ME vidējo versiju izstrādei, var tulkot Pascal avota kodu Java bytekodā JVM.

  • Bezmaksas Pascal ir atvērtā koda kompilators gan paskālam, gan objektam paskālam. Tas var būt paredzēts vairākām procesora arhitektūrām, ieskaitot AMD64 un Java virtuālo mašīnu.

  • Skābeklis tika izveidota kā jauna Pascal versija .NET videi un Visual Studio. To veido kompilators, integrācija ar Visual Studio IDE un dažas atbalsta bibliotēkas.

Quercus

Quercus ir PHP Java ieviešana. Caucho Technology izlaida kā atvērtā pirmkoda programmatūru, un tas nāk ar vairākiem PHP paplašinājumiem un moduļiem, piemēram, JSON, ACVN un MySQL. Tas nodrošina Java pakalpojumu un PHP skriptu ciešu integrāciju.

Rakudo Perls 6

Rakudo Perl 6 ir kompilators, kura mērķauditorija ir gan Java virtuālā mašīna, gan MoarVM. Tas tiek aktīvi attīstīts ar jaunāko stabilo izlaidumu 2017. gada 3. aprīlī. Tas ir Perl programmēšanas valodas – augsta līmeņa valodas, ko izmanto tīmekļa lietojumprogrammu izstrādei, ieviešana..

Prolog ieviešana

Prolog ir augsta līmeņa programmēšanas valoda, kas vispirms izveidota, lai apstrādātu mākslīgā intelekta lietojumprogrammas. Tam trūkst plašā LISP valodas lietojuma klāsta. Tomēr tas ir pazīstams kā spēcīgs rīks, lai risinātu jautājumus par attiecībām .

  • TuProlog ir viegla Prolog ieviešana, kas paredzēta minimālai kodola un dinamiskai konfigurācijai, ielādējot bibliotēkas. Tas nodrošina ciešu integrāciju starp Prolog un vispārējām uz objektu orientētām valodām, piemēram, Java, C # un F #..

  • JIProlog ir tīrs Java Prolog tulks, kas ir gan atvērtā koda, gan vairāku platformu tulks. Tas nodrošina paaugstinātu atbilstību Prolog standartiem un uzlabo Java, pievienojot Prolog iespējas.

  • XProlog tika izstrādāts, lai apmierinātu atsevišķu Java balstītu aģentu vajadzības. Tas uzlabo WProlog, pievienojot aritmētiku, modernu sintakse un labāku atmiņas pārvaldību.

Renjins

Renjins ir R programmēšanas valodas tulks, kas izveidots uz JVM pamata. Tas ļauj R kodam tieši mijiedarboties ar vairākām JVM datu struktūrām un bibliotēkām, neprasot dārgu datu pārsūtīšanu vai starpprocesu saziņu.

Python ieviešana

Python programmēšanas valoda ir interpretēta valoda. Tas uzsver cilvēka lasāmību ar atstarpi, nevis ar iekavām. Parasti tas prasa mazāk koda rindiņu nekā citas valodas, piemēram, C ++ vai Java.

  • Džitons ir Python ieviešana Java virtuālajai mašīnai. Jaunākais stabilais laidiens bija 2015. gada vidū.

  • PyPy ir Python tulks, kas tulko avota kodu mašīna kodā, C vai JVM baitkodā.

  • ZipPy ir ātra, viegla Python 3 ieviešana JVM. Tas izmanto Java JIT kompilatoru un ir pieejams vietnē GitHub.

Rubīna ieviešana

Rubīns ir atvērtā koda, dinamiska programmēšanas valoda, kas koncentrējas uz produktivitāti un vienkāršību. Tā elegantā sintakse ļauj ērti lasīt un rakstīt. JVM ieviešanā ietilpst Mirah un JRuby.

  • Mirah ir JVM programmēšanas valoda un Ruby ieviešana, kas seko principiem, kas paredz, ka nav izpildlaika bibliotēka, vienkārša sintakse, makro un metaprogrammēšana, kā arī nav izpildes soda.

  • JRubijs ir pilnībā vītņota, stabila, augstas veiktspējas Ruby ieviešana Java virtuālajai mašīnai. Tas ir no platformas neatkarīgs un nodrošina viegli instalējamu risinājumu ar vienkāršu migrēšanu.

NetRexx

NetRexx ir universāla JVM atvērtā koda programmēšanas valoda, kuru iedvesmojusi gan Java, gan Rexx valoda. Tas ir paredzēts, lai padarītu programmēšanu “vieglu un jautru vēlreiz”.

Jabaco

Jabaco ir BASIC programmēšanas valoda, kas izstrādāta Java virtuālajai mašīnai. Pirmkods ir līdzīgs VB6, kas sastādīts bytekodam, kas ir “līdzīgs” Java programmēšanas valodas izvadei.

Džeks

Jacl programmēšanas valoda ir Tcl ieviešana, kas rakstīta Java valodā. Tas ir gatavs ražošanai un pietiekami stabils ikdienas lietošanai. Tas rada Java bytecode, ko var izmantot kopā ar JVM.

JBasic

JBasic ir BASIC valodas tulks, kas pilnībā rakstīts Java valodā gan iegultai lietošanai, gan komandrindas lietošanai. Tas atbalsta tradicionālo GW-BASIC stila sintakse un nodrošina mūsdienīgus paplašinājumus. To var palaist palaist tieši no čaumalas.

JVM pārveidotāji (ārpus programmām, kas izveido Java kodu)

Papildus programmēšanas valodām, kas rakstītas speciāli Java virtuālajai mašīnai vai pielāgotas no esošajām valodām, ir arī vairākas programmas, kas pārveido ārējo kodu Java. Šie JVM pārveidotāji ne vienmēr saņem izcilus pārskatus (skatiet šo diskusiju par ResearchGate, šo par StackOverflow un šo par Quora).

Ar šo brīdinājumu šeit ir daži no labākajiem kodu pārveidotājiem:

  • C2J. Šis pārveidotājs tulko C valodā rakstītas programmas Java lietošanai ar JVM.

  • CS2J Lai C # pārveidotu Java Java virtuālajai mašīnai vai citām lietojumprogrammām, izmēģiniet CS2J pārveidotāju.

  • C ++ uz Java Converter. Šajā vietnē ir bezmaksas izdevums, kas vienā mapē darbojas līdz 1000 rindām un koda fragmentiem – 100 rindās vienlaikus. Pilna versija maksā 129 USD.

  • P2J. Šis Python to Java pārveidotājs sastāv no avota tulkotāja un atkļūdotāja un apgalvo, ka spēja pārveidot kodu ar 75% precizitāti lietošanai ar JVM.

  • Java pārveidotājiem nav specifiska JavaScript, galvenokārt tāpēc, ka, neraugoties uz nosaukumiem, šīs ir divas ļoti dažādas valodas. Tiem, kam jātulko JS lietošanai ar Java virtuālo mašīnu, šajā GitHub repozitorijā ir parādīts vienkāršs veids, kā ietīt JS objektus Java objektos..

  • PHP un Java ir ļoti dažādas valodas. (Skat. Šo diskusiju.) Kādu laiku P2J pārveidotājs mēģināja pārveidot PHP uz Java lietošanai JVM. Tomēr šis projekts tika pārtraukts.

  • Perl programmā ir iespējams iekļaut Java kodu, izmantojot Inline :: Java (skat. Šo diskusiju). Lai pārveidotu kodu tieši lietošanai ar Java virtuālo mašīnu, šeit ir paredzēts eksperimentāls pārveidotājs .

tīmekļa mitināšanas kupons

Jūs meklējat ļoti daudz JVM mitināšanas?
A2 Hostings ieguva pirmo vietu mūsu nesenajos ātruma un veiktspējas testos. Viņu mitināšanas plāni atbalsta Tomcat, JSP lapas, Java servlets un daudz ko citu. Jūs varat ietaupīt līdz 50% no viņu izstrādātājiem draudzīgajiem plāniem. Izmantojiet šo atlaižu saiti
lai tiktu galā.

Papildu lasīšana un saistītie resursi

Papildus šeit parādītajam JVM valodu sarakstam skatiet šo GitHub krātuvi un arī mūsu pieaugošo programmēšanas valodas resursu sarakstu.

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