Ohjelmointi

Uusi JVM-kieli erottuu Scalasta, Clojuresta

Toinen JVM-kieli, Haskellin murre Eta, on saapunut paikalle, keskittyen jälleen toiminnalliseen ohjelmointiin.

Skaalautuvien järjestelmien rakentamiseen tarkoitettu Eta on voimakkaasti kirjoitettu toiminnallinen kieli. Se on samanlainen kuin Scala, JVM-kieli, joka korostaa myös toiminnallista ohjelmointia ja skaalautuvuutta, ja Clojure, toinen toimiva kieli JVM: ssä.

Mutta Eta erottaa itsensä tällaisista kilpailijoista, koska se on oletusarvoisesti muuttumaton, se käyttää laiska-arviointia ja sillä on erittäin voimakas tyyppijärjestelmä, kertoi Eta-perustaja Rahul Muttineni, kielen valvojana toimiva TypeLeadin teknologiajohtaja. Tämä yhdistelmä sallii staattiset takuut ja ytimekkyyden, joka ei yksinkertaisesti ole mahdollista Scalassa tai Clojuressa.

Tällä hetkellä alfa-julkaisun versiolla 0.0.5 Eta on yhteentoimiva Java: n kanssa, mikä sallii Java-kirjastojen uudelleenkäytön Eta-projekteissa ja Eta-moduulien käytön Java-sovelluksessa. Vahvan tyyppisen turvallisuuden ansiosta kehittäjät voivat kertoa kääntäjälle lisätietoja koodista, kun taas muuttumattomuus Etassa lisää samanaikaisuutta.

Eta sisältää myös puhtauden, jossa funktion kutsuminen samoilla argumenteilla tuottaa samat tulokset joka kerta; funktion määritelmiä käsitellään yhtälöinä ja korvaukset voidaan suorittaa kuten matematiikassa. Eta-kannattajien mukaan tämä helpottaa koodin ymmärtämistä ja estää paljon vikoja, jotka ovat tyypillisiä välttämättömille kielille. "Puhtaus antaa sinun kohdella koodiasi matemaattisten yhtälöiden tavoin ja tekee koodistasi perustelemisen paljon helpommaksi, erityisesti samanaikaisuus- ja rinnakkaisuusasetuksissa", Muttineni sanoi.

Eta on "oletusarvoisesti laiska", mikä tarkoittaa, että tiedot pysyvät arvioimattomassa tilassa, kunnes toiminnon täytyy nähdä sisältä. Tämän avulla kehittäjät voivat ohjelmoida tarvitsematta olla huolissaan siitä, ovatko he suorittaneet enemmän laskelmia kuin vaadittiin. Kehittäjät voivat myös kirjoittaa monipäästöalgoritmeja yhdellä kertaa. "Laiskan avulla voit lopettaa murehtimisen järjestyksessä, jossa kirjoitat lausuntosi", Muttineni sanoi. "Määritä vain datariippuvuudet määrittelemällä lausekkeet ja niiden suhteet toisiinsa, ja kääntäjä suorittaa ne oikeassa järjestyksessä ja vain, jos lausekkeita tarvitaan."

Suunnitelmat edellyttävät Etan sovittamista samanaikaiseen ajonaikaan, vuorovaikutteiseen REPL: ään, metaprogrammiin, massiiviseen rinnakkaisuuteen ja transaktioiden samanaikaisuuteen. Myös Maven-rakennuksenhallintaohjelman tuki ja ydinkirjasto ovat kehitteillä, samoin kuin kattilalevyjen generointi Java-ulkotoimintojen käyttöliittymän tuontia varten.

$config[zx-auto] not found$config[zx-overlay] not found