Ohjelmointi

Beyond Java: Ohjelmointikielet JVM: ssä

Jos jokin kieli on kehittäjille tunnettu ja todistettu määrä, se on Java. Yrityskehittäjät, web-kehittäjät, mobiilikehittäjät ja monet muut lisäksi ovat tehneet Java-ohjelmasta kaikkialla läsnäolon ja myötävaikuttaneet massiiviseen tukikulttuuriin Java-ympäristössä.

Jaavan ajonajasta eli Java Virtual Machine (JVM) on lisäksi tullut ohjelmistoekosysteemi kokonaan. Java-ohjelman lisäksi hyvin monet muut kielet ovat hyödyntäneet Java-virtuaalikoneita itsestään tehokkaiksi ja arvokkaiksi ohjelmistokehitystyökaluiksi.

JVM: n käyttö ajonaikana tuo mukanaan useita etuja. JVM: ää on puhdistettu useiden vuosikymmenien ajan, ja se voi tuottaa hyvää suorituskykyä hyvin käytettynä. JVM: llä eri kielillä kirjoitetut sovellukset voivat jakaa kirjastoja ja toimia samoilla tietorakenteilla, kun taas ohjelmoijat käyttävät hyväkseen erilaisia ​​kieliominaisuuksia.

Seuraavassa esitellään useita merkittävimpiä JVM: lle luotuja ohjelmointikieliä. Kotlinista ja Scalasta Jythoniin ja JRubyyn nämä kielet tarjoavat yksinkertaisempia ja joustavampia tapoja täydentää Java: ta tai tehokkaita vaihtoehtoja, jotka on suunniteltu korvaamaan se.

Kotlin

JetBrainsin vuonna 2010 luoman ja vuonna 2012 avaaman Kotlin on sekä ytimekkäämpi että turvallisempi kuin Java. Voit ajatella Kotlinia "Java, mutta yksinkertaisemmaksi". Sen syntaksit ovat vähemmän tarkkoja kuin Java, ja ne kääntyvät usein nopeammin kuin Java-koodit. Kotlin sallii myös toiminnalliset ohjelmointityylit, joita ei tällä hetkellä ole saatavana Java-sovelluksessa, ja sillä on turvallisempia ja tyylikkäämpiä tapoja käsitellä nolla-arvoja. Android-kehittäjät valitsevat yhä enemmän Kotlinin Java-sovelluksen sijaan sovelluskehitykselle tällä alustalla.

Kotlinin tulevaisuuden suunnitelmat ylittävät JVM: n. Yksi projekti sisältää Kotlinin kääntämisen konekieliseksi koodiksi LLVM-kehyksen avulla.

Lisätietoja Kotlinista on Martin Hellerin yleiskatsauksessa kielestä.

Scala

Kotlinin tavoin Scala luotiin tekemään Java-kehittäjistä tuottavampia. Scala yhdistää toiminnallisen ja olio-ohjelmoinnin samalla kielellä, mikä tekee toiminnallisesta paradigmasta helppokäyttöisen ja hyödyllisen Java-ekosysteemin käyttäjille. Plus, Scala-syntaksin taakse lähemmäs Java-funktiota kuin toiminnallinen vaihtoehto Clojure, jonka Lisp-tyyppinen syntaksin voi olla epäselvä aloittelijoille. Funktionaalisten ja olioihin suuntautuneiden paradigmojen yhdistelmä on iso osa Scalan vetovoimaa.

Tällä hetkellä töissä on Scala Native, Scalan muunnos, joka kulkee JVM: n ulkopuolella paljaalla metallilla LLVM: n kautta. Mutta on vielä liian aikaista käyttää tuotantoon.

Clojure

Kehittäjä Rich Hickey halusi rakentaa toimivan kielen Lisp-perheeseen JVM: lle, ja hän loi Clojuren naarmuttamaan kutinaa. Clojure on tarkoitettu helpottamaan samanaikaisten, tehokkaiden sovellusten kirjoittamista, jotka ovat hyödyllisiä kaikkialla, missä Java toimii, mutta sallivat erilaiset ohjelmointityylit kuin Java perinteisesti tukee. Yksi menestystarina on Puppet Server, joka siirrettiin Ruby-ohjelmasta Clojureen.

Groovy

Alun perin Pivotalin kehittämä, mutta nyt Apache Software Foundation -säätiön alaisuudessa Groovy perustuu vahvasti olemassa olevaan Java-kokemukseen ja tarjoaa dynaamisten kielten, kuten Python ja Ruby, innoittamia ominaisuuksia. Groovy on yksi niistä kielistä, joita suosittu Jenkinsin jatkuvan integraation palvelin tukee suoraan, ja sen kanssa rakennetaan yksi avainverkkokehys, Grails.

Groovyn tulevat versiot kattavat Java: n ja JVM: n uudempien versioiden ominaisuudet, kuten Java 8 lambda-syntaksin.

Jython ja JRuby

Jython ja JRuby ovat Pythonin ja Rubyn toteutuksia JVM: lle. Jython on yhteensopiva Pythonin 2.x-haaran kanssa. JRuby on yhteensopiva suhteellisen äskettäisen Ruby 2.3: n kanssa. Molemmat kääntyvät dynaamisesti Java-tavukoodiksi ja voivat toimia vapaasti muiden JVM-kielten, erityisesti Java, kanssa.

Muut JVM-kielet

  • Ceylon: Red Hatin kehittämä Ceylon kehitettiin vastaamaan joihinkin Java-ongelmiin, kuten sen sujuvuuteen ja siteisiin joihinkin JVM: n taustalla oleviin mekanismeihin. Ceylon voidaan kääntää toimimaan JVM: llä, Dart VM: llä tai Node.js: llä.
  • Frege: Versio toiminnallisesta kielestä Haskell JVM: lle. Frege-koodi kääntyy Java-luokkaan ja toimii yleensä Java: n kanssa, mutta voi hyödyntää Haskell-tyylistä muuttumattomuutta ja toiminnallisia paradigmoja.
  • Eta: Toinen Haskell-muunnos JVM: lle. Sen mainostettu etu on, että se voi käyttää Haskellin pakettivaraston Hackagen paketteja maksimaaliseen yhteensopivuuteen Haskell-ekosysteemin kanssa.
  • Haxe: Haxe kokoaa JVM: n yhtenä monista mahdollisista kohteista, mukaan lukien verkko, mobiililaitteet ja paljas metalli. Sen syntakse muistuttaa Javaa, ja se voi toimia tarvittaessa muiden Java-kirjastojen kanssa, kun se on käännetty JVM: lle.
  • Fantom: Fantom tarjoaa kielen, joka sisältää sekä JVM: n että .Net CLR: n toteutukset, API: t, jotka erottavat molempien alustojen erot. Fantom voidaan kääntää myös JavaScriptiin, ja teoriassa se voidaan käyttää mihin tahansa määrään muita kohteita.
$config[zx-auto] not found$config[zx-overlay] not found